zoukankan      html  css  js  c++  java
  • 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段开始所有字节的总和)。
    没事,别怕,这是签名→→┃ 青山幽谷笛声扬,白鹤振羽任翱翔。往事前尘随风逝,携手云峰隐仙乡。 ┃
  • 相关阅读:
    案例分析
    阅读任务
    准备工作
    课程总结
    十三周总结
    第十二周总结
    第十一周学习总结
    第十周学习总结
    第九周课程总结&实验报告7
    第八周课程学习总结与实验6
  • 原文地址:https://www.cnblogs.com/dabiao/p/1722011.html
Copyright © 2011-2022 走看看