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

안녕하세요~

일전에 CS8900의 MAC 어드레스 전달법을 질문드렸는데요.

제가 모델로 삼은 보드가 하이버스 보드인데 u-boot이 아니고 다른 부트로더를 수정한 것이더군요.

그래서 생각한게 부트로더용으로 잡은 영역의 마지막에 6바이트에 맥을 쓰고 드라이버에서 플래쉬에 접근해서 맥을 가져가게 하려고 합니다.

문제는 플래쉬에 접근하는 방법인데요. 그냥 제가 아는 번지에 그래도 써도 되는것인지요.

현상태는 램은 0xa0000000 번지부터가 메모리 맵상 시작번지고 롬은 0x00000000 부터가 시작인데요.

제가 0x00039993~0x00039998 까지 맥어드레스를 써놓고
CS8900의 디바이스 드라이버가 읽어가도록 하게하고 싶습니다.

문제는 0x00039993~0x39998까지 바로 접근이 가능할지 알고 싶습니다.

제가 시험해보니
포인터 변수에 위의 주소를 써놓으니까 안되더군요. ㅠ.ㅜ

암것도 모르고 보드를 꾸몄더니 일이 점점 커집니다^^;

고현철

2006.08.14 22:58:23
*.117.46.252

flash driver가 되어 있을겁니다(부트로더에)

NOR면 그냥 메모리 번지에 write하면 되고,
nand면 nand i/o address에 쓰시면 됩니다.

리눅스 커널이 올라간 상태서 cs8900 드라이버에서 flash의
물리 메모리의 직접 접근은 불가능합니다.

MMU가 동작되고 있어서 매핑된 논리 메모리로 접근해야합니다.
예를 들어...

0x00000000 번지가 커널의 0xf6000000 에 매핑되었다면
당연히 0xf6000000 서부터의 offset으로 계산해야겠지요..

오주열

2006.08.15 01:10:05
*.123.193.26

^^ 넵 그렇군요~ 찾아보니까. 리눅스커널/arch/arm/mach-pxa/generic.c 에 보니 flash 메모리의 가상 주소를 매핑해놓은 정보가있어서 거기로 offset을 계산해서 접근했습니다.
그러니 잘 읽히더군요. 감사합니다. 도움 많이 되었습니다.
List of Articles
번호 제목 글쓴이 날짜sort 조회 수

[질문] ezjtag-aesop-r4 에 관해서 [2]

무선랜을 올렸는데요?? <== 완료 [1]

[re] CF 규격자료와 인터페이스칩 자료 입니다 ... [1]

UDA1341TS 기능중에 녹음기능 관련 질문이요 [2]

2440 or 2413에 CF 인터페이스 구현 정보 요청 [2]

volatile 의 의미는?[완료] [2]

s3c44b0x 의 Timer 5 설정...[완료] [5]

Flash Player의 제작 [1]

2440 nandboot 관련 <== 완료 [6]

mmc 사용중 질문입니다 <==완료 [1]

[질문] u-boot 에서 USB OHCI의 지원 ? [<= 완료] [2]

[질문] 이솝보드에 삼성의 DNW(USB/Sireal 다운로더)사용하려면..? [6]

[완료] 디바이스 드라이버에서 플래쉬 메모리에 접근하는법 [2]

[고현철님] SMDK2440A 보드 ping 문제에 관한 질문 세번째 &lt... [4]

u-boot 에서 usb 메모리스틱 읽기...<==[완료!] [3]

SMDK2440A 보드 ping 문제에 관한 질문 두번째 <= 132번과 ... [5]

SMDK2440A 타겟보드에서 ping 사용하기...ㅠㅠ <= 133에 추... [2]

이솦 uboot에서 128 nand 지원? [4]

[질문] Email 전송 애플리케이션을 보다가... [4]

안녕하세요 zd1211 컴파일까지 완료 하였습니다만 <==완료 [3]

사용자 로그인