yangruihero
驱动牛犊
驱动牛犊
  • 注册日期2006-01-11
  • 最后登录2008-11-26
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望15点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
阅读:1071回复:1

版主,各位,请教一个问题,内存数据总线宽度(16/32)对CE有影响吗?非常感谢您!!

楼主#
更多 发布于:2007-06-28 10:28
    我有同样的两块开发板,所有硬件除了内存以外都相同。两块板子的内存大小都是64M,唯一的区别是内存数据总线宽度,一块是32bit的,一块是16bit的。
    但是很奇怪,根据硬件的不同,无非是在bootloader中将内存控制器中相应寄存器更改。而且我们这有linux版本已经成功了,无论数据总线宽度是32bit还是16bit,只要loader中更改内存控制器的配置,都可以正常启动。这样证明对内存控制器的配置应该没有问题吧?
    但是WinCE就不行了,我的NK.bin在32bit内存数据总线宽度的板子上一切正常,但是在16bit的板子上就会死机(已经参照Linux更改了loader中相应内存控制器配置),停止的位置在KernelInit( )函数中。
   下面是打印信息:
。。。。。。
Memory Sections:
[0] : start: 819db000, extension: 00003000, length: 02602000
Sp=ffffc7cc
ARMInit done.
VT3300DBGMSG: OSTimer Interrupt 0
Windows CE KernelInit
                <-------内存数据总线宽度为16bit的板子运行到这里就死掉了 。

    我就很奇怪了,我的NK.bin的大小是15.8M,在config.bib中配置如下:
    NK       80100000  01400000  RAMIMAGE  给NK预留了20M的空间,足够了啊。
    RAM      81500000  02B00000  RAM
    在内存数据总线宽度为32bit的板子上就可以正常加载CE系统,但到了16bit的板子上就会死掉。

    更奇怪的是,我更改过config.bib,它原来设置如下:
    NK       80100000  03000000  RAMIMAGE 就是给NK预留了48M的空间
    RAM      83100000  00F00000  RAM
    在这种情况下,两块板子,无论内存数据总线宽度是16bit还是32bit都可以正常启动,不过我的NK应该不需要这么大的空间啊?所以我更改了config.bib,但是就出现了16bit板子无法加载的问题。

    我就想向您请教一下,在CE中对内存的数据总线宽度有什么要求吗?或者是在哪个配置文件中要更改,我已经尝试更改了config.bib文件中的ROMWIDTH,16,32都试过,好像没有什么作用。请您给我一点提示,非常感谢!!
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-07-04 08:06
Re:版主,各位,请教一个问题,内存数据总线宽度(16/32)对CE有影响吗?非常感谢您!
你这个问题一时还不清楚,
只是这种情况,ROMWIDTH要设成32,如果设成16,会生成两个NK.BIN文件.
学海无涯
游客

返回顶部