플레쉬로부터 데이터를 일정 영역에 써 놓고 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 프로그램에서 플레쉬를 직접 억세스 할
수 없는 것인가요? 아님 메모리 번지가 잘못된 것인가요?