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

저의 업무가 최근 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=b0a

고도리

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 [완료] MPEG-1 인코딩 가능한 플랫폼 [2] 최경호 2007-05-03 698
5727 [질문]개발환경 DVD 구할수 있을까요? [3] 강경완 2007-05-04 736
5726 [완료]gtkDFB 실행에러 (gdk_window_set_keep_above()) [2] 김유석 2007-05-04 997
5725 [완료]userid 와 smsc91113 active LED관련 [6] 조성철 2007-05-04 687
5724 [완료]램디스크 이미지 변환에 대해서.. [2] 박기호 2007-05-04 731
5723 [질문] 이더넷 맥어드레스가 잘 안잡힙니다 [2] 문철민 2007-05-04 790
5722 [질문] 보드에서 나타나는 에러 메시지인데요. [2] 문철민 2007-05-05 689
5721 [질문]S3C2440A 와 LAN91C111의 커널 패닉 문제 [6] 김현기 2007-05-05 1312
5720 [완료] 펌웨어 공부를 시작할려고 하는데요~^^ [2] 이재명 2007-05-05 996
5719 [질문] OCD Commander 를 쓸려고 하는데요~ [4] 이재명 2007-05-05 944
5718 gtk+ 컴파일 도중 워닝 메세지가 나왔습니다. [1] 김유석 2007-05-07 903
5717 [완료] 공구 LX800 LCD화면 색이 변해서 어떠한 것이 문제인지..... [10] 이승진 2007-05-07 3677
5716 [질문] 공구 LX800 화면 잔상 생김 [6] 구현우 2007-05-07 4478
5715 [질문] 공구보드. 뽑기가 잘못되었나??? [2] 한영민 2007-05-08 4247
5714 [질문] S3C2440A CPU 발열 [3] 김윤하 2007-05-08 1106
5713 [질문] aesop-lx800 보드 사용시에 필요한 부품들은? [8] 류충렬 2007-05-08 3599
5712 [질문]Touch Screen 관련 (XP) 오류 와 DoB [해결] [4] 김희만 2007-05-08 3828
5711 [완료]webcam 설치에 대한 개념 [10] 이태간 2007-05-09 1359
5710 [질문] (하드웨어) 기판 두께가 얇은 이유? [1] 이동술 2007-05-09 3752
5709 [완료] 프레임버퍼 질문이 있어요 답변부탁합니다. [2] 문철민 2007-05-09 867

사용자 로그인