• zt:单片机常用输出格式Motorola Srecords(S19文件)


    Motorola S-records 16进制文件格式是嵌入式中除intel hex之外很常见的格式,下面是它的格式:
    +-------------------//------------------//-----------------------+
    | type(hex1) | count(hex 1) |  address | data | checksum(从count累加到checksum,总和为0xFF) |
    +-------------------//------------------//-----------------------+
      S0    :标识记录,地址域长度为2个字节,并用0000填充,数据区记录了一些模块名称和版本之类的信息
      S1    :数据记录,地址域长度为2个字节,数据区域为数据内容。
      S2    :数据记录,地址域长度为3个字节,数据区域为数据内容。
      S3    :数据记录,地址域长度为4个字节,数据区域为数据内容。
      S5    :统计记录,地址域长度为2个字节,内容是之前数据记录(S1,S2,S3)的个数,数据区域空。
      S7    : 运行记录,地址域长度为4个字节,内容是程序启动的地址,数据域空。
      S8    :运行记录,地址域长度为3个字节,内容是程序启动的地址,数据域空。
      S9    :运行记录,地址域长度为2个字节,内容是程序启动的地址,数据域空。
    下面是一个例子,大家看看:
    S02B0000433A5C446F63756D656E747320616E642053657474696E67735C7A6F75642E4143434F554E54535C7D
    S208010000FFFFFFFFFA
    S30800020000000000F5
    S5030002FA
    S9030000FC
    第一行:没什么,开个头而已。
    第二行:地址0x10000有4个0xFF
    第三行:地址0x20000有3个0x00
    第四行:标明之前有两条数据记录
    第五行:程序从0x0000地址开始运行
    关于checksum的算法和intel hex不太一样,
    checksum = 0xFF - (从count段开始所有字节的总和)。
    没事,别怕,这是签名→→┃ 青山幽谷笛声扬,白鹤振羽任翱翔。往事前尘随风逝,携手云峰隐仙乡。 ┃
  • 相关阅读:
    虹软人脸识别在 linux中so文件加载不到的问题
    tomcat 控制台乱码问题
    sourceTree git 空目录从远程仓库克隆代码出现warning: templates not found
    springboot项目更改代码后实时刷新问题
    spring 3.0 整合redis
    随笔
    Centos 7 安装 FFmpeg
    Postgresql 查看当前数据库所有的触发器
    oracle只导出触发器
    oracle 批量删除触发器
  • 原文地址:https://www.cnblogs.com/dabiao/p/1722011.html
Copyright © 2020-2023  润新知