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

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大小
重新编译后编译通过

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值