//========================================================================
//TITLE:
//S-Record格式详解
//AUTHOR:
//norains
//DATE:
//Friday25-April-2008
//Environment:
//NULL
//========================================================================
【S-Record格式详解】一个完整的MOTOROLA S-Record格式数据包含如下区域:
各字段的意思分别如下:
“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个数可以这样计算:
最后我们以一条数据记录格式作为例子:
S30A801000930300000000CF
S3是记录的格式(
0A是长度(
因为type是S3,所以地址()占4-byte,因此需要写入的地址为:0x80100093。
既然已经知道了地址,那么数据()很显然就是0x0300000000了。
最后的1-byte就是校验位(