S-Record格式详解
来源:互联网 发布:java io readline 编辑:程序博客网 时间:2024/06/06 17:12
//========================================================================
//TITLE:
// S-Record格式详解
//AUTHOR:
// norains
//DATE:
// Friday 25-April-2008
//Environment:
// NULL
//========================================================================
一个完整的MOTOROLA S-Record格式数据包含如下区域:
<type> <length> <address> <data> <checksum>
各字段的意思分别如下:
<type>:标示记录的类型,该字段占据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。
<length>:标示了数据的长度,确切地说,是 <address>, <data> 和<checksum>这三个字段的byte的个数。该字段占据1-byte。
<address>:标示了数据写入的起始地址。该字段的长度取决于<type>的取值。
<data>:标示了存储的数据。该字段占据的byte个数可以这样计算:<length>的值 - <address>字段的长度(取值为2、3、4) - 1(<checksum>字段的长度)
<checksum>:标示校验位,占据1-byte。该数据可以由<address>和<data>的数据累加然后每bit取反获得。
最后我们以一条数据记录格式作为例子:
S30A801000930300000000CF
S3是记录的格式(<type>)。
0A是长度(<length>),为十六进制,标识有10个byte。因为两个十六进制才是1-byte,所以801000930300000000CF的长度为10而不是20.换句话说,这数据列应该如此表示:80 10 00 93 03 00 00 00 00 CF。
因为type是S3,所以地址(<address>)占4-byte,因此需要写入的地址为:0x80100093。
既然已经知道了地址,那么数据(<data>)很显然就是0x0300000000了。
最后的1-byte就是校验位(<chksum>)。例子数值由此得来:0xFF - ((0x0A + 0x80 + 0x10 + 0x00 + 0x93 + 0x03 + 0x00 + 0x00 + 0x00 + 0x00) & 0xFF)
- S-Record格式详解
- S-Record格式详解
- S-Record格式详解
- S-Record格式详解
- S-Record格式分析代码
- S-Record格式分析代码
- S19格式文件详解(S-record)【转】
- MOTOROLA S-RECORD文件格式
- MOTOROLA S-RECORD文件格式
- MOTOROLA S-RECORD文件格式 .
- S-Record 文件解析器
- Get Record(s) by Ids
- How to get new record's id
- 轉換 Ext.data.record 為 json 格式
- Solr’s query form query查询格式详解
- record- -
- record
- record
- "make: *** [out/target/common/obj/PACKAGING/checkapi-current-timestamp] 错误 38" 问题解决
- Hive表分区
- POJ2007 凸包计算
- iBatis 到 MyBatis区别
- 实体关系的使用
- S-Record格式详解
- 对于VS里面的几个插件的最初认识
- VS2010 关于CDockablePane 关闭事件
- Memcached高速缓存服务器部署及应用(一、Memcached在Windows平台下安装与配置)
- 天气预报的Ajax效果
- 7 (phonegap源码分析) 平台相关模块和初始化(platform)
- WinCE Bootloader学习笔记之KernelRelocate()函数
- poj 2135 (基础费用流)
- Linq to sql:外部映射文件