最近在使用keil编译TI的一款M3芯片,keil编译出来的Hex文件符合Intel HEX格式。在此总结一下Intel HEX文件格式。
Intel HEX文件格式的文本由ASCII文本文件构成。每一行包含一条数据记录,由回车符(0D0A)结束。
Intel HEX文件通常用于传输存于ROM或EPROM中的程序和数据。
每条记录包含5个域按如下格式排列:
llaaaatt[dd...]cc
- 每个记录都以冒号 : 开头
- ll 数据长度域,代表记录中数据字节 [dd] 的数量
- aaaa 地址域,代表下载数据到存储器的起始地址
- tt 记录类型的域
- 00 Data Rrecord 数据记录
- 01 End of File Record 文件结束记录,即Intel HEX文件必须以EOF结束(00000001FF)
- 02 Extended Segment Address Record 扩展段地址记录,也叫HEX86记录,数据域包含bit4-bit19的地址段数据,至少包含两个字节
例如:HEX记录 020000021200EA
扩展段地址记录的数据域 1200
假设下一条数据记录的地址域为 2462
则下一条数据记录的绝对存储器地址为 00014462 - 03 Star