一、hex\bin 文件设置
设置生成hex文件
设置生成bin文件
输入栏指令:fromelf.exe --bin --output .\Objects\xxx.bin .\Objects\xxx.axf (xxx:生成的工程名/文件名):
二、hex和bin文件说明
hex文件格式说明
每行的格式:LEN ADDR TYPE DATA CRC
名称 | 字节 | 说明 | 备注 |
---|---|---|---|
LEN | 1 | - | 行数据的长度 |
ADDR | 2 | - | 行数据存储的地址 |
TYPE | 1 | '00’数据记录:用来记录数据,HEX文件的大部分记录都是数据记录; '01’文件结束记录:用来标识文件结束,放在文件的最后,标识HEX文件的结尾; '02’扩展段地址记录:用来标识扩展段地址的记录; '03’开始段地址记录:开始段地址记录; '04’扩展线性地址记录:用来标识扩展线性地址的记录; '05’开始线性地址记录:开始线性地址记录; | 数据类型 |
TYPE | 1~n | - | 实际的数据 |
CRC | 1 | 计算方法:本行所有字节累加和取反再加1 例如:020000040800F2 crc = ~(0x02+0x00+0x00+0x04+0x08+0x00) + 0x01 = 0xf2 取低16位 | 校验和 |
hex头两行数据
:020000040800F2 //数据类型04 扩展线性地址记录,表示的内容是地址的高位,即DATA区域表示地址高位为0x0800;当地址长度超过16bit时,就需要扩展线性地址记录来声明高位地址;
:10000000F0090020D5000008CB140008C714000830 //数据类型是00,数据记录,DATA区域就是数据;地址区域是0000表示这一行数据从0000地址开始;再结合上一行的扩展线性地址记录,实际存储的地址是0x08000000。
hex后两行数据
:04000005080000C12E //数据类型是05,开始线性地址记录
:00000001FF //表示文件结尾
bin文件格式说明
bin文件相较于hex 文件少了数据长度、数据地址、数据类型和校验和的内容,单纯的只有数据。