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)文件中,有如下三个设置:

[cpp]  view plain copy
  1. ROMSTART=xxxx  
  2. ROMWIDTH=xxxx  
  3. ROMSIZE=xxxxxx  

 

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

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

 

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值