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

S5PV210에서 Kernel-2.6.32(안드로이드커널) 버전을 사용하고 있습니다. 


FPGA를 연결해서 FPGA을 제어하는 char 디바이스 드라이버를 만들었습니다. 


FPGA의 물리  Memory 영역이 0x9800_0000 이고  읽고 사용할 어드레스는 

0x9800_0000 ~ 0x9830_0000 까지 사용해야 합니다. 


문제는 다음과 같습니다. 


ioremap 을 사용해서 할당을 받았지만 0x2000 사이즈씩 같은 값이 read 되는 현상이 발생합니다. 


즉 할당 받은 Address가 0x0 이라면 


Address: 0x0  Data : 0x1F42 

..... 

....

....

Address: 0x2000  Data : 0x1F42 

.....

.....

Address :0x4000 Data : 0x1F42

..


이렇게 0x2000 사이즈를 주기로 같은 값이 읽혀 지고 있습니다. 


그래서 User Application에서 /dev/mem을 통해서 물리주소를 유저영역으로 맵핑하고 

read를 하면 위와 같은 증상이 없이 정상으로 FPGA를 제어할 수 있습니다. 


혹시 위와 같은 문제를 겪으신 분이 있으시면 답변 부탁드리겠습니다. 


감사합니다. 





 


고도리

2012.11.16 10:42:24
*.127.19.87

ioremap 할 때 어떤 옵션을 주셨나요?

아침햇살

2012.11.16 18:28:00
*.36.31.99

ioremap을 사용할 때에 특별히 어떤 Option은 주지 않고 사용하고 있습니다. 
그런데 ioremap을 사용할 때에 옵션은 어떻게 주는 건가요? 
List of Articles
번호 제목 글쓴이 날짜sort 조회 수

사용자 로그인