阅读:1071回复:1
版主,各位,请教一个问题,内存数据总线宽度(16/32)对CE有影响吗?非常感谢您!!
我有同样的两块开发板,所有硬件除了内存以外都相同。两块板子的内存大小都是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都试过,好像没有什么作用。请您给我一点提示,非常感谢!! |
|
沙发#
发布于:2007-07-04 08:06
Re:版主,各位,请教一个问题,内存数据总线宽度(16/32)对CE有影响吗?非常感谢您!
你这个问题一时还不清楚,只是这种情况,ROMWIDTH要设成32,如果设成16,会生成两个NK.BIN文件. |
|
|