请我大家我用PB编译后只生成NK.BIN文件 如何才能得到NK.NB0文件呢???
设置Config.bib文件,论坛上有类似的帖子,楼主可以找找。
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
慢慢比较吧。
主要根据两者之间的格式不同,来进行转换,
nbo带有大量无效的0,而,bin没有;一个带地址,一个不带等等,网上有不少它们的比较的文档。
可用PB/VS自带的cvrtbin.exe进行转换,也可以在.bib中进行设置,
我们做过一个小软件来处理这一转换,要的话,可以给你
NK.bin中已经包含了各区段的地址和长度信息,先遍历一遍,找到最大和最小的地址,然后一减就是Nk.nb0的大小,开辟一个大小相同的buffer,再从头遍历NK.bin各区段,将每个区段的内容填入到对应的偏移处即可,空洞的地方全填1。