搜档网
当前位置:搜档网 › MOT文件格式

MOT文件格式

MOT文件格式

新建 文本文档.txt

单片机常用输出格式--Motorola S-records(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段开始所有字节的总和)。

*********************************************************************************************************** *****************

S-Record s19 格式详解(同样是mot)

一个完整的MOTOROLA S-Record格式数据包含如下区域:

各字段的意思分别如下:

:标示记录的类型,该字段占据1-byte。它可以有如下数值:“S0”, “S1”, “S2”, “S3”, “S5”, “S7”, “S8” , “S9”

“S0” -- 记录描述信息

“S1”, “S2”, “S3” -- 记录存储的数据。这三者的区别在于地址(address)的长度不同,S1为2-byte,S2为3-byte,以及S3为4-byte。

“S5” -- 包含了“S1”, “S2”, “S3”的信息。

“S7”, “S8”, “S9” -- 确定程序的开始地址。这三者的区别也在于地址(address)的长度不同,S9为

2-byte,S8为3-byte,以及S7为4-byte。

:标示了数据的长度,确切地说,是

, 这三个字段的byte的个数。该字段占据1-byte。

:标示了数据写入的起始地址。该字段的长度取决于的取值。

:标示了存储的数据。该字段占据的byte个数可以这样计算:的值 -

字段的长度(取值为2、3、4) - 1(字段的长度)

:标示校验位,占据1-byte。该数据可以由

的数据累加然后每bit取反获得。

第 1 页

相关主题