阅读:2321回复:6
求助:ce5.0 64M内存扩展128M问题(已解决)
最近系统升级,内存从64M扩展到128M。cpu是pxa270的。系统ce5.0
g_oalAddressTable中 Virtual(Cached) Physical Size(MB) Explaination DCD 0x99000000, 0xA0000000, 128 ; MAINSTONEII: SDRAM (128MB). 由原来的64M修改为128了,MDCFG寄存器配置过了。 config.bib中 #define NK_START 99620000 #define NK_SIZE 01900000 #define NKRAM_START 9AF20000 IF SDRAM_SIZE_64_MB #define NKRAM_SIZE 01E3E000 ; ELSE #define NKRAM_SIZE 05100055 ; 128MB SDRAM ENDIF 这里NKRAM_SIZE 理论上至少可以设置到05E3E000;但是实际上在设置到比05100055大的情况时,NK进系统 死在sp=0xffffc7cc 请求大家帮忙帮忙分析下原因 |
|
沙发#
发布于:2008-07-24 13:55
找到了,顶一个
|
|
板凳#
发布于:2008-07-24 15:31
Re:求助:ce5.0  64M内存扩展128M问题
应该是还有些映射的地址没有改到,因为我原来移植的是2440,所以无法具体告诉你要改那个文件。 |
|
地板#
发布于:2008-07-26 05:57
有没有在BOOT里测过所有128M都是可以访问的?
|
|
|
地下室#
发布于:2008-07-26 11:10
AddressTable的地址是否做了相应的修改,是否05E3E000时和其他的地址重合了
|
|
5楼#
发布于:2008-07-29 20:09
应该是还有些映射的地址没有改到
|
|
6楼#
发布于:2008-07-31 09:15
该问题已经解决了。
原因是 DCD 0x99000000, 0xA0000000, 128 ; MAINSTONEII: SDRAM (128MB). 该映射导致虚拟地址0x99000000+0x8000000(128M)=0xA100000. 微软的映射要求是cache enable 0x80000000——0x9FFFFFFF uncache 是0xA0000000——0xBFFFFFFF 这里0xA1000000超过了0x9FFFFFFF,相应在config.bib中配置内存大小的时候, 如果超过了,系统无法顺利进入。 所以解决的办法就是将地址0x99000000修改就行,这里我修改成了0x97000000, 另外系统中其他和该地址相关的地方全部进行修改即可。 |
|