기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

저의 업무가 최근 Linux dirver 구현으로 바뀌어 linux를 삽질하고 있는 사람입니다.

이번에 PXA166을 이용하여 신규 기능 구현을 해야하는데, 한가지 문제점이 있어서 질문 드립니다.

 

일단 저희 시스템은 PXA166과 FPGA가 Bus로 연결되었으며, 그 Bus에는 Nor-Flash가 연결되어있습니다.

이 Bus를 이용하여 PXA166은 FPGA의 Register에 값을 읽고/쓰고, DMA로 대용량 데이터(15MB)를 읽고 있습니다.

그리고 USB WiFi로 대용량 데이터를 전송하고 있습니다.

 

현재는 DMA로 대용량 데이터를 다 읽은 후 WiFi로 전송하는.. 즉, 시리얼 구조로 되어있는데,

구현해야될 기능은 DMA로 일정 양만큼의 데이터를 읽으면서 WiFi로 전송해야하는 기능입니다.

 

여기서 나타날 수 있는 문제점은

DMA가 동작하는 동안 Linux Kernel이 (제가 알지 못하는 이유로) Nor-Flash를 읽을 경우 BUS가 충돌납니다.

이 문제는 제가 WinCE에서 이미 격었고, WinCE에서는 해결했는데, Linux에서는 어떤 방법을 써야할지 잘 모르겠습니다.

(물론 시간도 조금 부족하구요..)

 

제 생각에는 제가 작성한 DMA Driver와 Kernel의 MTD Driver간의 Bus 동기화(mutex?)를 해야할 것 같은데..

이게 가능할까요? 만약 가능하면 어떠한 방법을 써야하나요?

제가 생각하는 문제점을 해결할 수 있는 비슷한 코드는 없을까요?

 

답변부탁드립니다.

H/W 디자인 엔지니어입니다.

 

삼성의 ARM 칩에 관심이 많아져서 가입했습니다.

 

많이 공유할 수 있도록 하겠습니다.

 

엮인글 :
http://www.aesop.or.kr/index.php?mid=Board_Community_QandA&document_srl=111831&act=trackback&key=14a

고도리

2013.08.30 13:24:42
*.200.239.210

먼저, 저는 pxa166이 어떤 칩(?)인지 모르는 상태입니다.

즉, hw/sw 특성을 잘 모르는 상태라고 보시면 됩니다...^^


"일단 저희 시스템은 PXA166과 FPGA가 Bus로 연결되었으며, 그 Bus에는 Nor-Flash가 연결되어있습니다."

를 해결하셨으면....


아마도 Chip Select pin을 사용하셨을 겁니다. wince에서도 CS 핀을 가지고 address를 분리 하셨을텐데,

리눅스도 비슷합니다.


다만 드라이버를 작성하는 부분이 틀리기 때문에, 이는 커널 소스를 직접 다룰 수 있는 엔지니어가 필요한 상태라고 보여집니다.


Samsung이나 제가 다루는 칩이라면 example이라도 드리겠지만, pxa166은.........ㅠ.ㅠ 이네요.

카보

2013.08.30 20:18:49
*.104.239.18

칩 벤더와 상관없이, Kernel의 MTD 드라이버(Nand 또는 Nor Flash 사용)와 User의 driver가 하나의 버스를 공유해서 데이터를 주고 받을 때, 둘 간의 충돌을 방지하는 방법을 찾고 있습니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수sort
5728 [완료]파일 종류에 대해.. [2] 이세종 2007-11-19 510
5727 BT1 데이터시트 있으신분 계신가요? [3] 현쓰 2010-01-22 510
5726 툴체인의 버전이 다르다면 컴파일이 되어도 동일하게 수행되지 않을 ... [2] sonbong 2011-01-07 510
5725 dump Stack 에서 함수이름이 와우옹 2011-04-29 510
5724 [비트 연산자] [2] 꺼북이 2011-05-22 510
5723 여기 설치하는 패키지들 설명해주실수있나요?ㅠㅠ [1] 해리포팅 2011-06-23 510
5722 오드로이드에 실장된 HDMI 포트의 filter의 part number 알려 주... [1] 김성한 2010-03-13 511
5721 커널에서 대용량 버퍼할당... [1] 안드러오니 2010-05-21 511
5720 glibc 소스 중 System Call 하는 부분 좀 알려주세요 박윤상 2010-07-07 511
5719 s3c2440계열을 이용한 임베디드보드를 사용하고 있는데, 궁금한점이 있... [1] 와정 2010-07-24 511
5718 오드로이드 t에서 x window 부팅 관련 문의 [1] 이희승 2010-09-18 511
5717 S5PC110의 C, D타입의 차이점이 뭔가요? [1] 새로운희망 2010-09-28 511
5716 WinCE 6.0 porting 중 문의 [1] 송의석 2010-10-07 511
5715 repo sync 해서 소스를 받았는데 여기서 컴파일러가 있는 디렉토리... [1] 시안 2011-05-24 511
5714 NXP4330 MIPI LCD해상도 문의 [4] 수위타자 2021-02-10 511
5713 PCI controller와 mac이 내장된 SOC 칩이 어떤것이 있나요? [4] 시안 2010-04-09 512
5712 eclair에서 Calendar 동작 안됨... [2] 정낙주 2010-05-03 512
5711 Android eclair2.1 3D Issue 문의 [2] 진돌이 2010-06-02 512
5710 터치패널 범위 설정하는거 어떻게 하나요? [1] 현쓰 2010-07-03 512
5709 개발 환경 질문 입니다. file [1] 옐로우맨 2011-04-26 512

사용자 로그인