您的位置:首页 > 其它

WINCE 6.0 配置config 后调大镜像内核

2011-03-05 11:54 281 查看
wince被配置成有输入法有发现出现如下错误:

Download BIN file information:

-----------------------------------------------------

[0]: Base Address=0x80150000 Length=0x280d954

-----------------------------------------------------

BIN image type unknow

通常情况, wince系统默认的 image大小是 32M(最大可到63M),一般这个大小是够了。但如果添加的组件比较多,生成的 NK.bin就会超过 32M,这时就需要做一些修改了。

1、将项目的配置属性 "Run-time image can be larger than 32MB (IMGRAM64=1)"打上勾。



2、修改 Eboot下的 loader.h

#define ROM_RAMIMAGE_SIZE 0x02d00000

0x02300000也就是45M*1024*1024

这里我将 image调整到 45M

3、修改 config.bib

NK 80200000 02d00000 RAMIMAGE

RAM 82F00000 01100000 RAM

……

……

ROMSTART = 80200000

ROMWIDTH = 32

ROMSIZE = 02300000

修改规则:

NK start 80200000 为 image开始,与 Eboot对应

NK size 2300000 为 image大小,与 Ebbot对应

RAM start 82F00000 为 RAM开始地址, NKstart+NKsize=82F00000 或者这个数值大于82F00000

RAM size 01B00000 为 RAM大小, 84000000( 64M flash) - RAMSTART=01100000

ROMSTART = NKstart

ROMSIZE = NKsize

由此可知, NK调大, RAM就会减小。此外 ROMSIZE还是设置 NK.nbX的大小。

这时你的内核只要不超过 35M就 OK了。

此外, CSDN上的 codewarrior朋友建议将一些大的组件 (如汉字 )库放到 user store(如 SD卡、 Flash等 )来减少内核大小,这也是个好办法, NK加载时要到 user store 去加载,需要注意的是:在加载显示驱动前就要加载保存字体的存贮设备的驱动,否则中文字体不能加载。将字体保存到注册表保存的存贮设备上,因为该存贮设备驱动很早就加载了。

修改原则为:1、NKSTART+NKLEN<RAMSTART
2、RAMSTART+RAMLEN< nand flash大小
重新编译后编译通过
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: