深入理解.bin文件和.nb0文件的结构
如何深入理解.bin文件和.nb0文件是区别和联系
.bin文件是一个描述性质的映像文件,它由文件头(head)、镜像数据目的起始地址(ImageStart)、镜像数据长度(ImageLength)和多条相对独立的记录(record)构成。
文件头(head)由7个字节组成,内容是:42 30 30 30 46 46 0A,即“B000FF\x0A”,这是判断镜像文件是.bin类型的依据。
镜像数据目的起始地址(ImageStart)由4个字节组成,它定义了镜像文件解析后装载在内存中的起始地址。
镜像数据长度(ImageLength)也由4个字节组成,它表示.bin镜像文件解析后在内存中占用的总的存储空间大小。
每条记录(record)由4字节的起始存储地址(RecordStart)、4字节的数据长度(RecordLength)、4字节的校验码(RecordCheckSum)和RecordLength个字节的记录数据(RecordData)组成。
由以上.bin的文件格式可知,.bin文件不是内存程序空间的一个简单的拷贝。所以它不能直接用串口烧写进内存或FLASH空间来直接运行,必须通过PB下载,通过EBOOT按照.bin文件的格式解析出来具体的内容并重新装载后才能运行。
而.nb0文件就不一样,它是内存运行程序映像的一个硬拷贝,其数据内容和程序运行时在内存中的数据是一样的。鉴于此,.nb0可以通过串口下载到指定的位置直接运行。很明显,.nb0是一个不存在格式的映像文件。
下面,我通过一个具体的.bin文件以及对应的nb0文件来帮助大家加深对以上概念的理解:
用UltraEdit打开我们要分析的NK.bin文件和NK.nb0文件,为了方便分析,我分别截取了NK.bin和NK.nb0文件的一小部分:
NK.bin文件的部分内容:
00000000h: 42 30 30 30 46 46 0A 00 00 00 80 64 67 FA 00 00
00000010h: 00 00 80 04 00 00 00 EB 01 00 00 FE 03 00 EA 40
00000020h: 00 00 80 08 00 00 00 EE 02 00 00 45 43 45 43 1C
00000030h: 48 FA 80 48 00 00 80 04 00 00 00 5E 01 00 00 1C
00000040h: 48 FA 00 00 10 00 80 A0 3D 05 00 14 E3 F3 01 00
00000050h: 00 0F E1 13 00 A0 E3 80 00 80 E3 40 00 80 E3 00
..................: ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
00053dd0h: F7 03 80 BC F7 03 80 A0 F7 03 80 01 00 00 00 84
00053de0h: F2 04 80 A8 F2 04 80 EC F2 04 80 AC F2 04 80 A0
..................: ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
00f40960h: 12 00 00 00 12 00 00 64 AE 80 80 1C 36 FA 80 00
00f40970h: 00 00 00 00 10 00 80 00 00 00 00
对应的NK.nb0文件的部分内容:
00000000h: FE 03 00 EA 00 00 00 00 00 00 00 00 00 00 00 00
00000010h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000020h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000030h: 00 00 00
如何深入理解.bin文件和.nb0文件是区别和联系
00 00 00 00 00 00 00 00 00 00 00 00 00
00000040h: 45 43 45 43 1C 48 FA 80 1C 48 FA 00 00 00 00 00
00000050h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
..................: ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
000000ff0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00001000h: 00 00 0F E1 13 00 A0 E3 80 00 80 E3 40 00 80 E3
00001010h: 00 F0 23 E1 10 0F 11 EE 01 0A C0 E3 04 00 C0 E3
..................: ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
00054D90h: 84 F2 04 80 A8 F2 04 80 EC F2 04 80 AC F2 04 80
..................: ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
00fa6760h: 1C 36 FA 80 00 00 00 00 00 00 00 00 00 00 00 00
00fa6770h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
..................: ... ... ... 填充0一直到文件末尾... ... ... ... ... ... ...
下面我们来分析上面的映像:
首先看.bin映像:
1.最开始是7字节的文件头42 30 30 30 46 46 0A;
2.接下是4字节映像数据目的起始地址00 00 00 80,指出目的起始地址0x80000000;从而也告诉我们对应的.nb0文件运行时将装载到0x80000000去运行。
3.接下来是4字节的映像数据长度64 67 FA 00,指出映像数据解析后所占的存储空间长度是0X00FA6764字节;我们再看.nb0文件地址0x00fa6760处的16字节的数据是1C 36 FA 80 00 00 00 00 00 00 00 00 00 00 00 00,而且从此以后的数据全部是00,由此可知0x00fa6764是最后的有效数据的地址。我想到这里朋友们已经知道.bin文件和.nb0文件之间的联系了。
4.接下来4字节是第1条记录的起始地址00 00 00 80,指出第1条记录的起始地址是0x80000000;
5.接下来4字节是第1条记录的长度 04 00 00 00,指出第1条记录的数据域长度是4个字节。
6.接下来4字节是第1条记录的校验码EB 01 00 00;
7.接下来4字节是第1条记录的数据内容FE 03 00 EA。到这里,我相信朋友们已经想起点什么。查看.nb0文件的起始4字节,正是我们刚才分析的第1条记录的数据内容。
8.接下来4字节是第2条记录的起始地址40 00 00 80,指出第2条记录的起始地址是0x80000040;
9.接下来4字节是第2条记录的长度 08 00 00 00,指出第2条记录的数据域长度是8个字节。
10.接下来4字节是第2条记录的
校验码EE 02 00 00;
11.接下来8字节是第2条记录的数据内容45 43 45 43 1C 48 FA 80。再查看.nb0文件中0x00000040地址8字节内容:45 43 45 43 1C 48 FA 80,正是.bin文件中第2条记录的数据域内容。
如此类推,我们采
如何深入理解.bin文件和.nb0文件是区别和联系
用同样的方法可以解析出.bin文件中的所有记录项。并能根据.bin的记录构造出对应的.nb0文件。
到此,我相信朋友们已经很深入的了解了.bin文件的格式,并清楚了.bin文件和.nb0文件的区别和联系了。
相关推荐:
- [法律文档]探析如何提高电力系统中PLC的可靠性
- [法律文档]用Excel函数快速实现体能测试成绩统计
- [法律文档]教师招聘考试重点分析:班主任工作常识
- [法律文档]高三历史选修一《历史上重大改革回眸》复习
- [法律文档]2013年中山市部分职位(工种)人力资源视察工资指导价位
- [法律文档]2015年中国水溶性蛋白市场年度调研报告
- [法律文档]原地踏步走与立定教学设计
- [法律文档]何家弘法律英语课件_第十二课
- [法律文档]海信冰箱经销商大会——齐俊强副总经理讲话
- [法律文档]犯罪心理学讲座
- [法律文档]初中英语作文病句和错句修改范例
- [法律文档]虚拟化群集部署计划及操作流程
- [法律文档]焊接板式塔顶冷凝器设计
- [法律文档]浅析语文教学中
- [法律文档]结构力学——6位移法
- [法律文档]天正建筑CAD制图技巧
- [法律文档]中华人民共和国财政部令第57号——注册会计师全国统一
- [法律文档]赢在企业文化展厅设计的起跑线上
- [法律文档]2013版物理一轮精品复习学案:实验6 验证机械能守恒
- [法律文档]直隶总督署简介
- 我是杜拉拉分集剧情第18集(共40集)_我
- 主谓一致用法讲解
- 第5章 网络互联(新)
- 日语一级语法大全
- 北京市门头沟区2009年政府工作报告
- 会议营销家访后怎么和顾客保持深入交往
- 【中考模拟】上海市黄浦区2017年中考物
- 陕西省商洛市2014-2015学年高二(下)期
- 国外电子商务现状2014
- 2020版幼儿园保育员业务考试试题A卷附
- 怎么样提高小学生的学习兴趣
- 苏州金土地信息科技有限公司网站推广及
- 中南大学fortran课设报告
- 溶液法测定偶极矩实验的误差分析及其改
- 药剂学教学改革初探
- 短跑教案3 -九年级体育与健康
- 2011---2012(1)电工与电子技术A-Ⅱ试题
- 生二胎必须知道哪些分娩疑问?
- 可再生能源建筑应用示范项目测评导则
- 电气- 电缆桥架安装和桥架内电缆敷设