도와주세요!!
글 수 15,339
2003.11.04 23:39:51 (*.131.38.142)
6650
안녕하시죠.. 또 이렇게 신세를 지게 되는군요.. 항상 감솨감솨..ㅋㅋㅋ
I/O를 읽고 쓰는데 있어서 이런 에러가 뜨는데요....
unable to handle kernel NULLpointer deference at virtual address00000000
mm=c00161a0 pgd=c17f8000
*pgd=a1819801, *pmd=a1819801, *pte=00000000, *ppte =00000000
Internal error:Oops:ffffffff
CPU:0
PC:[
sp:c1801f68 ip:00000000 fp:00000000
r10:bffdd944 r9:c1800000 r8:000222e0
r7: c28985e4 r6:000222e0 r5:bffdd944 r4:c28985e8
r3: 00000000 r2:00000000 r1:000222e0 r0:00000000
Flags:nzCv IRQs on FIQs on Mode SVC_32 segment user
Control:397F Table:A17F8000 DAC:00000015
process test_app(pid:106, stack limit=0xc1800368)
stack:(0xc1801f68 to 0xc1802000)
1f60: c28980f0 c02646a0 ffffffea 00000000
000222e0
1f80:c0046d08 00000000 00010868 000222e0 bffdd944 00000003 00000004
c0016784
1fa0:4013b8bc c001b5e0 000222e0 c0023680 00000003 bffdd944 000222e0
fdad2480
1fc0:000222e0 bffdd944 00000003 00010868 00000002 0000854c 401368bc
40138d68
1fe0:400e07a0 bffdd944 000860c 400e0704 600000010 00000002 b5ffffff
ffffed7f
Back trace:no frame pointer
code:e52de004 ela0c002 ela0c002 e2511040 (a8a0500c)
segmentation fault
일단 저는 ez-x5보드를 사용하구요...
/arch/arm/mach-pxa/ez_x5.c에서 메모리 셋팅은 다음과 같이 설정하였습니다.
static struct map_desc ez_x5_io_desc[] __initdata = {
/* virtual physical length domain r w c b */
{0xf1000000,0x00000000 +0x400000, 0x00100000, DOMAIN_IO, 0, 1, 0, 0 },
{0xf1200000,PXA_CS1_PHYS+0x000000, 0x00100000, DOMAIN_IO, 0, 1, 0, 0 },
{0xf1300000,PXA_CS1_PHYS+0x400000, 0x00100000, DOMAIN_IO, 0, 1, 0, 0 },
{0xf2000000, PXA_CS2_PHYS , 0x01000000, DOMAIN_IO, 0, 1, 0, 0 },
{0xf3000000, PXA_CS3_PHYS , 0x01000000, DOMAIN_IO, 0, 1, 0, 0 },
{0xf4000000, PXA_CS4_PHYS , 0x03000000, DOMAIN_IO, 0, 1, 0, 0 },
{0xf7000000, PXA_CS5_PHYS , 0x01000000, DOMAIN_IO, 0, 1, 0, 0 },
LAST_DESC
};
nCS4를 사용하는데....pxa255의 데이터 시트를 보니까 64M까지 설정할 수 있
는거 같아서.. 변경하였습니다.
디바이스 드라이버에서..
unsigned char buffer 의 메모리를 잡았는데.. 잡을 메모리의 갯수가 130000
개로 설정할때는 위의 에러가 안뜨는데.. 140000로 잡으면 위와 같은 에러 메
세지가 뜹니다..
제 생각으로도 메모리를 너무 크게 잡아서 그런거 같은데... . 메모리 개수
가 140000 을 유지 하면서 문제를 해결 할 수 있는 방법은 없는지요.....
대답 기다리겠습니다.. 그럼 감솨감솨...