石家庄做网站建设的公司排名,wwr下载建设网站,企业怎样选择域名做网站,网站导航栏下载简介 要对STM32进行更新动作, 就需要对程序文件进行解析, 大部分编译的生成程序文件是Hex或者Bin, 先来看看Hex的结构吧。 资料
Hex文件 简介 Hex文件格式最早由Intel公司于1973年创建。它最初是为了在Intel 8080微处理器上存储和传输二进制数据而设计的。随后#xff0c;Hex…简介 要对STM32进行更新动作, 就需要对程序文件进行解析, 大部分编译的生成程序文件是Hex或者Bin, 先来看看Hex的结构吧。 资料
Hex文件 简介 Hex文件格式最早由Intel公司于1973年创建。它最初是为了在Intel 8080微处理器上存储和传输二进制数据而设计的。随后Hex文件格式成为了一种通用的标准被广泛应用于嵌入式系统和微控制器编程中。 虽然Hex文件格式最初由Intel创建但随着时间的推移其他公司和组织也采用了这种格式并对其进行了扩展和改进。因此Hex文件格式已经成为一种行业标准被广泛支持和使用。 需要注意的是Hex文件格式的具体规范和细节可能会因不同的应用和实现而有所差异。因此如果您在特定的应用或设备中使用Hex文件格式建议查阅相关文档或规范以确保正确解析和使用Hex文件。 Hex 文件资料
Hexadecimal (Intel-Format) File (.hex) Definition
Hex Format.pdf
这份是比较简单易了解的 : What is the format of Intel Hexadecimal files (.hex)? 抄录如下: 一个示例的HEX文件如下所示 :10008000AF5F67F0602703E0322CFA92007780C361 :1000900089001C6B7EA7CA9200FE10D2AA00477D81 :0B00A00080FA92006F3600C3A00076CB :00000001FF 该文件的格式如下 第一个字符: 记录的开始 接下来两个字符 记录长度在此示例中为10h, 实际数据长度 接下来四个字符 载入地址/偏移在此示例中为0080h 接下来两个字符 记录类型/本段数据的类型(00/01/02/03/04/05)见下文 剩余字符 实际数据(数据量字节数由前面记录长度 * 2, 文件存储是字符, 两个字符组成Hex) 最后两个字符 校验和即所有字节的和校验和为00 文件的最后一行是特殊的始终以上述形式结束。HEX记录类型如下所示 00 数据记录 01 文件结束记录 02 扩展段地址记录 03 起始段地址记录 04 扩展线性地址记录 05 起始线性地址记录 数据类型说明
00 数据记录
如下是两端 数据记录 :10000000A005002001010008E31400087B1400088B :10001000E11400083D0700087D16000800000000FC 切分一下
记录行号记录标志记录长度偏移数据类型数据checksum1:10000000A005002001010008E31400087B1400088B2:10001000E11400083D0700087D16000800000000FC
01 文件结束记录
表示这个文件到此就是最后一段有效数据了, 例如: 上面展示的就是最后一行数据:00000001FF 切分一下
记录行号记录标志记录长度偏移数据类型数据checksum1:00000001空FF
02 扩展段地址记录 扩展段地址记录Extended Segment Address Record扩展段地址记录用于扩展加载地址的位数。它的记录类型为02地址字段表示扩展的段地址。扩展段地址记录通常与数据记录一起使用以支持更大的地址空间。 扩展段地址记录的作用是扩展加载地址的位数以支持更大的地址空间。在解析HEX文件时当遇到扩展段地址记录时可以将段地址的高16位设置为该记录中指定的扩展段地址。 请注意扩展段地址记录通常与其他记录类型如数据记录一起使用以确定程序的加载地址和执行地址。 格式:
03 起始段地址记录 起始段地址记录Start Segment Address Record起始段地址记录用于指示程序的起始执行地址。它的记录类型为03地址字段表示起始执行地址。 起始段地址记录的作用是指示程序的入口点即程序应该从哪个段地址和偏移量开始执行。在解析HEX文件时当遇到起始段地址记录时可以将程序的执行地址设置为该记录中指定的段地址和偏移量。 请注意起始段地址记录通常与其他记录类型如数据记录一起使用以确定程序的加载地址和执行地址。 格式
04 扩展线性地址记录 扩展线性地址记录Extended Linear Address Record扩展线性地址记录用于扩展线性地址的位数。它的记录类型为04地址字段表示扩展的线性地址。 格式 切分:
记录行号记录标志记录长度偏移数据类型数据checksum1:020000040800F2
扩展线性地址记录的作用是扩展线性地址的位数以支持更大的地址空间。在解析HEX文件时当遇到扩展线性地址记录时可以将线性地址的高16位设置为该记录中指定的扩展线性地址。
请注意扩展线性地址记录通常与其他记录类型如数据记录一起使用以确定程序的加载地址和执行地址。
例如 拼接 第二行 0000 地址就是 0x0800 0000 》 0x8000000 程序的加载地址
05 起始线性地址记录 起始线性地址记录Start Linear Address Record起始线性地址记录用于指示程序的起始执行地址。它的记录类型为05地址字段表示起始执行地址。 起始线性地址记录的作用是指示程序的入口点即程序应该从哪个线性地址开始执行。在解析HEX文件时当遇到起始线性地址记录时可以将程序的执行地址设置为该记录中指定的地址。 请注意起始线性地址记录通常与其他记录类型如数据记录一起使用以确定程序的加载地址和执行地址。 格式 实例: 切分一下
记录行号记录标志记录长度偏移数据类型数据checksum1:04000005080000EDFF
起始执行地址为080000ED表示程序的起始执行地址是080000ED。