zoukankan      html  css  js  c++  java
  • HEX文件格式

    以*.hex为后缀的文件我们称之为HEX文件。 HEX的英语原始意思是16进制。这种文件格式主要用于保
    存单片机固件。

    整个文件以行为单位,每行以冒号开头,内容全部为16进制码,2个ASCII码字符表示1个Hex字节

    :020000040804EE
    :10000000A8990020C1010408830B040839080408DA
    :100010007F0B0408AB020408551804080000000018
    :100020000000000000000000000000000D100408A7
    :100030003B03040800000000FD0B04082D11040818
    :10004000DB010408DB010408DB010408DB01040810
    :10005000DB010408DB010408DB010408DB01040800
    :10006000DB010408DB010408DB010408DB010408F0
    ...
    :1026100000000000000000000102030401020304A6
    :10262000060708090095BA0A000000000000000033
    :0C26300001020304060708090000000076
    :04000005080401AD3D
    :00000001FF

    :02 0000 04 0804 EE

    • 每行以冒号开头
    • 第1字节0x02表示数据区的字节个数,用ASCII表示就是4个ASCII字符。
    • 第2、 3字节0x0000 表示偏移地址或无用填0
    • 第4字节0x04表示本行记录的类型
                 '00' Data Rrecord:用来记录数据,HEX文件的大部分记录都是数据记录
                 '01' End of File Record: 用来标识文件结束,放在文件的最后,标识HEX文件的结尾
                 '02' Extended Segment Address Record: 用来标识扩展段地址的记录
                 '03' Start Segment Address Record: 段地址 STM32不用
                 '04' Extended Linear Address Record: 用来标识扩展线性地址
                 '05' Start Linear Address Record: 程序启动运行的地址
    • 第5、 6字节表示数据区
    • 最后1个字节是校验字节。所有16进制码的累加和(不计进位),检验和 = 0x100 - 累加和

    :02 0000 04 0804 EE <---------------首行给出烧录的目标地址的高16位 : 0x0804
               :10 0000 00 A899 0020 C101 0408 830B 0408 3908 0408 DA <------- 烧写到0x0804 0000 处的数据
               :10 0010 00 7F0B 0408 AB02 0408 5518 0408 0000 0000 18 <------- 烧写到0x0804 0010 处的数据

    :04 0000 05 0804 01AD 3D <------- 05类型的行对于烧写程序无用。见参看英文。
               :00 0000 01 FF <------- HEX文件结束行

    05 类型: Start Linear Address Record. The address field is 0000, the byte count is 04. The 4 data
    bytes represent the 32-bit value loaded into the EIP register of the 80386 and higher CPU.


    注:以上文字摘录安富莱STM32-V6 开发板软件开发手册

  • 相关阅读:
    Java代码是怎么运行的
    Java单例模式
    redis分布式锁实现
    zuul2.0
    配置ssh免密钥登陆多台从机
    Nifi-install-config
    Configure Access to Multiple Clusters
    kubernetes集群搭建(kubeadm,kubelet)
    shell 编程
    系统管理
  • 原文地址:https://www.cnblogs.com/wenhao-Web/p/14056676.html
Copyright © 2011-2022 走看看