도와주세요!!
글 수 15,339
2003.03.03 14:32:55 (*.254.213.14)
6712
플레쉬로부터 데이터를 일정 영역에 써 놓고 user 프로그램에서 직접 읽어 보
려고 합니다.
플레쉬에 쓸때는 ezflash_w2k를 이용하여 0x00900000번지에 임의 파일에 저장
된 바이너리를 썼읍니다.
그 다음 user 프로그램 상에서
#define BASE_ADDRESS 0x00900000
unsigned short *ptr;
unsigned short read_buf[256];
read_flash(){
memcpy( read_buf, ptr, 8 );
for(lp=0; lp<8; lp++){
printf("%4lx ", read_buf[lp]);
}
한 후 실행을 하니 다음과 같은 메시지가 나오는 군요.
pc : [<00008bdc>] lr : [<00000000>] Not tainted
sp : bffffac0 ip : bffff478 fp : bffffdf0
r10: 00000003 r9 : 00008cd0 r8 : 00008420
r7 : 00008ce8 r6 : 000091fc r5 : bffffac8 r4 : 00000000
r3 : 000091fb r2 : 00000000 r1 : 00900000 r0 : 0000001b
Flags: nZCv IRQs on FIQs on Mode USER_32 Segment user
Control: C1A9F17F Table: C1A9F17F DAC: 00000015
Segmentation fault
[질문] 무엇이 잘못된 것인가요? user 프로그램에서 플레쉬를 직접 억세스 할
수 없는 것인가요? 아님 메모리 번지가 잘못된 것인가요?
려고 합니다.
플레쉬에 쓸때는 ezflash_w2k를 이용하여 0x00900000번지에 임의 파일에 저장
된 바이너리를 썼읍니다.
그 다음 user 프로그램 상에서
#define BASE_ADDRESS 0x00900000
unsigned short *ptr;
unsigned short read_buf[256];
read_flash(){
memcpy( read_buf, ptr, 8 );
for(lp=0; lp<8; lp++){
printf("%4lx ", read_buf[lp]);
}
한 후 실행을 하니 다음과 같은 메시지가 나오는 군요.
pc : [<00008bdc>] lr : [<00000000>] Not tainted
sp : bffffac0 ip : bffff478 fp : bffffdf0
r10: 00000003 r9 : 00008cd0 r8 : 00008420
r7 : 00008ce8 r6 : 000091fc r5 : bffffac8 r4 : 00000000
r3 : 000091fb r2 : 00000000 r1 : 00900000 r0 : 0000001b
Flags: nZCv IRQs on FIQs on Mode USER_32 Segment user
Control: C1A9F17F Table: C1A9F17F DAC: 00000015
Segmentation fault
[질문] 무엇이 잘못된 것인가요? user 프로그램에서 플레쉬를 직접 억세스 할
수 없는 것인가요? 아님 메모리 번지가 잘못된 것인가요?