jiangyanhe 发表于 2005-7-16 10:49:58

关于S3C4510B的又一个问题

你好:
      我自己设计了一块板子,用的SDRAM为2片各256Mbit(4M*16Bit*4Bank)组成32位的内存,即64M字节,FLASH是一片128Mbit的芯片,总的空间肯定已经超过CPU能访问的64M字节的空间了。由于CPU的地址线只有22根,同时FLASH需要做16位操作模式故只能用8M字节的空间。现在我就有一个问题:RAM的每一个Bank最大可以访问的是64M,我可否只分配Bank0为53M字节大小,FLASH为8M字节大小?因为我在System Type Setup 时是这样设置的,我分配RAM 0~0x3500000,FLASH 3500000~3e00000(其中FLASH我分配9M主要是我还要给RCS1~RCS5各分配一定的空间,作为片选对其他硬件做相应的片选驱动)。在这种情况下我的FLASH是可以正常操作,但我不知道RAM是否真的是按系统开机时所报的那样53M的RAM都被利用上了,还是只用了16M?因为当我对RAM分成3个Bank时只有第一个Bank可以访问,其他的不能被访问。
   还有,我依据我这样的空间分配情况,已经写了几个相关的驱动程序,也都运行良好。当要针对外部IO写一个新的驱动程序时,对外部IO ECS片选也分配了空间3e00000,可是系统却无法对此ECS驱动的端口进行写操作,一旦操作,系统就会报前面的同志所报的错误那样,
Unhandled fault: alignment exception (13) at 0x00000001
fault-common.c 96
Internal error: Oops: 0
CPU: 0
pc : [<00019e44>] lr : [<00019dc8>] Not tainted
sp : 001fdedc ip : 00000000 fp : 001fdf2c
r10: 00010f00 r9 : fffffff5 r8 : 001fc000
r7 : 001fc000 r6 : 0019ff0c r5 : 001f0000 r4 : 001fc000
r3 : 0a00000e r2 : 001a280c r1 : 00000005 r0 : 001a17ec
Flags: nzCv IRQs on FIQs on Mode SVC_32 Segment kernel
Control: 0
Process swapper (pid: 1, stackpage=001fd000)
Stack:
001fdec0: 00019dc8 00019e44 20000013 ffffffff 40000013
001fdee0: ffffffff 00000009 00000000 001fdf48 00199ef8 00013314 00010f00 00000000
001fdf00: 00010e00 00010e00 00010ec0 0019ff0c 001fc000 00012c80 00000078 00000009
001fdf20: 001fdf3c 001fdf30 0001649c 00019d70 00000000 001fdf40 00012ae0 00016490
001fdf40: 00010e00 00018230 00010f00 00000000 00010e00 00031610 00010e00 00010ec0
001fdf60: 0019ff0c 0019d92c 001bd578 0019ff08 00000009 001fdf9c 00010ec0 00199ef8
001fdf80: 00060154 00013e8c 20000013 00010f00 001fdfb4 001fdfa0 0000bfa4 00013e7c
001fdfa0: 000110b0 000110f8 001fdfcc 001fdfb8 00008874 0000bf74 00000800 001bd578
001fdfc0: 001fdfdc 001fdfd0 000088b4 00008868 001fdffc 001fdfe0 00012064 0000889c
001fdfe0: 00000800 001bd578 0019ff0c 0019d92c 00000000 001fe000 00013ea4 00012064
Backtrace:
Function entered at [<00019d60>] from [<0001649c>]
Function entered at [<00016480>] from [<00012ae0>]
Code: e3530000 0a00000e (e5930024) e3500000 0a00000b

但是系统并没有死掉,其他的程序还可以运行,就这个不能运行,不知是什么原因,请高手指点

Anomymous 发表于 2005-7-19 14:58:01

这个问题我自己已经解决

limingth 发表于 2005-7-19 15:01:46

说说原因吧,我也很想知道。
页: [1]
查看完整版本: 关于S3C4510B的又一个问题