wince5.0基于GEODE的OS使能128M内存

wince5.0基于GEODE的OS使能128M内存

针对我的硬件所采用的128M内存,选用的GEODE的BSP,Windows CE并没有默认支持,需要做以下改动才能识别:
1.修改源文件oeminit.asm中的AddressTable.位于public\common\oak\csp\x86\oal目录下,将addressTable下的 04000000h改成08000000h. (就是从64M改成128M).进一步如果采用的内存更大,类似的改.
2.修改平台配置文件config.bib.加入128M的字段:
#else defined IMGRAM128
       ; 128 MB of RAM (default) (note: AUTOSIZE will adjust boundary)
       ; This value will cause the RAM auto-detect feature to trigger
       NK       80220000  009E00000  RAMIMAGE    
       RAM      80C00000  07000000  RAM
       UMABUF   87C00000  00400000  RESERVED
       ......
3.在PB中设置环境变量IMGRAM128=1,使配置文件生效.
4.修改头文件pc.h的ExtraRAMSIZE设置.从0x02400000改成0x06400000.因为CEPC_EXTRA_RAM_SIZE这个宏为总内存数减去Config.bib中详细列出的内存数,在我的情况下就是128M-28M=100M了.
5.选择Sysgen&Build重新编译源代码和配置文件

更正:在第4步中修改pc.h文件的CEPC_EXTRA_RAM_SIZE ,从0x02400000改成0x06400000.这个size宏的大小应该是总内存减去CEPC_EXTRA_RAM_START这个宏.
    另外,第5步中也可以执行以下DOS命令实现(WINCE5.0):
  进入%_WINCEROOT%\Public\Common\OAK\CSP\i86\Oal目录下,执行build 和sysgen i486oal

务必注意: 把config.bib里默认的#else 28MB字段去掉,我这两天重新定制NK时,光顾添加128MB的字段,忘了去掉,结果系统就执行到#else 28MB字段就停了,设置IMGRAM128变量根本没有起作用.真是汗颜...

你可能感兴趣的:(wince5.0基于GEODE的OS使能128M内存)