bin nb0的区别介绍
2016-01-12 17:37
295 查看
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
plaincopy
ROMSTART=xxxx
ROMWIDTH=xxxx
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
段的首地址 段的长度 校验码 映像数据,长度已给出
每个段的定义都同上面一样。
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
plaincopy
ROMSTART=xxxx
ROMWIDTH=xxxx
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
段的首地址 段的长度 校验码 映像数据,长度已给出
每个段的定义都同上面一样。
相关文章推荐
- 自动交互脚本之expect
- android 在Button 的onDraw中加上invalidate()会导致背景缩放失败
- zabbix web检测数据库解析
- 为Linux 保留一部分物理内存
- ASP.NET 操作Cookie详解 增加,修改,删除
- COM组件注册真相
- 标准差
- ReactJs + BootStrap + Pager 分页
- Terracotta设计原理
- 什么叫集群,集群服务的工作原理?
- 集群、负载均衡的概念及其关系
- 《实时控制软件设计》第三组第六天工作日志
- libcurl
- 4.0蓝牙 ble开发记录
- openwrt升级功能介绍
- 实现socket_client下载socket_server文件
- Android 实现布局动态加载
- 雅克比矩阵 海森矩阵 牛顿法
- IDEA 配置
- D. Longest k-Good Segment