bin、nb0的区别

1. BIN:
Microsoft Windows CE binary image data format(.bin)文件格式中包含若干个独立的纪录(section),需要分别加载到ram中执行。.bin文件格式可以使得映像尺寸最小,加载时间短,但需要Boot loader给于解释加载才能运行。


2. NB0:
.nb0文件就是可执行映像在嵌入式系统中运行时的二进制数据的快照。nb0文件的尺寸要比bin大,但是可以直接运行。

  

通常,通过串口直接下载用nb0,PB通过网线下载用bin。

 

3. 关于系统内核
nk.nb0是代码镜像,可以直接跳转到其入口执行。
而nk.bin是Microsoft binary image格式的文件,必须按其格式定义解开到其指定的地址空间的位置才能执行。

 

Bootloader可以支持下载NB0也可支持下载BIN。比较常见的做法是Bootloader将nk.bin文件减压成nk.nb0后,通过网线下载到RAM里。再用Bootloader的功能,将RAM里面特定地址空间(就是装有nk.nb0的那块地址空间)里的内容打包,压缩成nk.bin格式,烧写到Flash里面。下次启动系统,就可以直接解压Flash里面的已有系统了。

 

这里提到的bin是一种二进制镜像格式,以片断(section)为单位组织数据,每个片断都包括一个头,头里指定了起始地址,长度,校验值。Platform Builder调用工具将WINCE内核所有文件以bin格式合并成一个文件,默认文件名为nk.bin。

 

BootLoader又以同样的格式将 nk.bin分解成多个文件放到RAM中。可以在命令行中键入“viewbin nk.bin”来查看bin文件中具体包括了哪些内容。键入Cvrtbin命令转换.bin格式文件为.sre格式或者.abx格式。

 

要生成nbx格式的文件,需要在相关.bib文件中确定如下值:ROMSTART、ROMWIDTH、ROMSIZE。

在config.bib(boot.bib)文件中,有如下三个设置:

 

bin文件的格式:

 BIN文件的详细格式如下:

 

文件头(长度:7字节,内容固定),相当于字符串“B000FF”加一个回车符

42 30 30 30 46 46 0A

 

紧跟着的是整个映像的基本信息:(8字节)

00 00 00 00         00 00 00 00

映射到的首地址      整个映像的长度

 

接下来是各个段的定义

00 00 00 00   00 00 00 00   00 00 00 00    00 00 …… 00 00

段的首地址    段的长度       校验码      映像数据,长度已给出

 

每个段的定义都同上面一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值