liulord
驱动牛犊
驱动牛犊
  • 注册日期2007-07-31
  • 最后登录2009-05-18
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望155点
  • 贡献值0点
  • 好评度25点
  • 原创分0分
  • 专家分0分
阅读:2321回复:6

求助:ce5.0 64M内存扩展128M问题(已解决)

楼主#
更多 发布于:2008-07-24 12:05
最近系统升级,内存从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
请求大家帮忙帮忙分析下原因
ljkever
驱动牛犊
驱动牛犊
  • 注册日期2008-02-27
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望44点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-07-24 13:55
找到了,顶一个
lzd2006
驱动牛犊
驱动牛犊
  • 注册日期2006-06-16
  • 最后登录2009-04-20
  • 粉丝0
  • 关注0
  • 积分105分
  • 威望49点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-07-24 15:31
Re:求助:ce5.0  64M内存扩展128M问题
应该是还有些映射的地址没有改到,因为我原来移植的是2440,所以无法具体告诉你要改那个文件。
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-07-26 05:57
有没有在BOOT里测过所有128M都是可以访问的?
学海无涯
wince_lover
驱动中牛
驱动中牛
  • 注册日期2007-01-10
  • 最后登录2010-12-20
  • 粉丝0
  • 关注0
  • 积分1103分
  • 威望735点
  • 贡献值2点
  • 好评度279点
  • 原创分1分
  • 专家分0分
地下室#
发布于:2008-07-26 11:10
AddressTable的地址是否做了相应的修改,是否05E3E000时和其他的地址重合了
micy
驱动牛犊
驱动牛犊
  • 注册日期2005-11-17
  • 最后登录2011-11-23
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望32点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2008-07-29 20:09
应该是还有些映射的地址没有改到
liulord
驱动牛犊
驱动牛犊
  • 注册日期2007-07-31
  • 最后登录2009-05-18
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望155点
  • 贡献值0点
  • 好评度25点
  • 原创分0分
  • 专家分0分
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,
另外系统中其他和该地址相关的地方全部进行修改即可。
游客

返回顶部