NK.BIN是如何转换成NK.NB0的

tayizhao   2009-11-3 14:17 楼主
请我大家我用PB编译后只生成NK.BIN文件 如何才能得到NK.NB0文件呢???

回复评论 (6)

设置Config.bib文件,论坛上有类似的帖子,楼主可以找找。
点赞  2009-11-3 15:06
config.bib
随便找个2440的都行。
看我的可行的例子。
;
; Copyright (c) Microsoft Corporation.  All rights reserved.
;
;
; Use of this source code is subject to the terms of the Microsoft end-user
; license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
; If you did not accept the terms of the EULA, you are not authorized to use
; this source code. For a copy of the EULA, please see the LICENSE.RTF on your
; install media.
;

MEMORY
    NK      80200000  01E00000  RAMIMAGE
    RAM     82000000  01E00000  RAM
    FLASH   92000000  00100000  RESERVED

; Common RAM areas
        AUD_DMA             80002000  00000800  RESERVED
        SDIO_DMA            80010000  00010000  RESERVED
        ARGS                80020800  00000800  RESERVED
        DBGSER_DMA          80022000  00002000  RESERVED
        SER_DMA             80024000  00002000  RESERVED
        IR_DMA              80026000  00002000  RESERVED
        SLEEP               80028000  00002000        RESERVED
        EDBG                80030000  00020000  RESERVED
        DISPLAY             80100000  00100000  RESERVED   

CONFIG
    COMPRESSION=ON
    KERNELFIXUPS=ON

IF IMGPROFILER   
    PROFILE=ON
ELSE
    PROFILE=OFF
ENDIF

;
; ROMFLAGS is a bitmask of options for the kernel
;   ROMFLAGS    0x0001      Disallow Paging
;   ROMFLAGS    0x0002      Not all KMode
;   ROMFLAGS    0x0010      Trust Module only
;
IF IMGTRUSTROMONLY
    IF IMGNOTALLKMODE
       ROMFLAGS=12
    ELSE
       ROMFLAGS=10
    ENDIF
ELSE
    IF IMGNOTALLKMODE
       ROMFLAGS=02
    ELSE
       ROMFLAGS=00
    ENDIF
ENDIF

        ROMSTART = 80200000
        ROMWIDTH = 32
        ROMSIZE = 01E00000
慢慢比较吧。
点赞  2009-11-3 23:42
谢谢GM
点赞  2009-11-4 09:06
主要根据两者之间的格式不同,来进行转换,
nbo带有大量无效的0,而,bin没有;一个带地址,一个不带等等,网上有不少它们的比较的文档。

可用PB/VS自带的cvrtbin.exe进行转换,也可以在.bib中进行设置,

我们做过一个小软件来处理这一转换,要的话,可以给你
点赞  2009-11-4 14:15
自己转就行,一个函数而已,简单到不能再简单了。
点赞  2009-11-5 19:41
NK.bin中已经包含了各区段的地址和长度信息,先遍历一遍,找到最大和最小的地址,然后一减就是Nk.nb0的大小,开辟一个大小相同的buffer,再从头遍历NK.bin各区段,将每个区段的内容填入到对应的偏移处即可,空洞的地方全填1。
点赞  2009-11-5 19:43
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复