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

    技术2022-05-19  29

    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了。

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

     

    修改原则为:1、NKSTART+NKLEN<RAMSTART                        2、RAMSTART+RAMLEN< nand flash大小重新编译后编译通过


    最新回复(0)