.mot文件解析

MOTOROLA S-Record的格式数据如下所示: <type> <length> <address> <data> <checksum>

<type>:标示记录的类型,该字段占据1-byte。它可以有如下数值:S0、S1、S2、S3、S5、S7、S8、S9。S0记录描述信息;S1, S2, S3记录存储的数据,区别在于地址长度不同;S5包含了S1, S2, S3的信息;S7, S8,S9确定程序的开始地址,这三者的区别也在于地址长度不同。

S0:标识记录,地址域长度为2个字节,并用0000填充,数据区记录了一些模块名称和版本之类的信息
S1:数据记录,地址域长度为2个字节,数据区域为数据内容。
S2:数据记录,地址域长度为3个字节,数据区域为数据内容。
S3:数据记录,地址域长度为4个字节,数据区域为数据内容。
S5:统计记录,地址域长度为2个字节,内容是之前数据记录(S1,S2,S3)的个数,数据区域空。
S7:运行记录,地址域长度为4个字节,内容是程序启动的地址,数据域空。
S8:运行记录,地址域长度为3个字节,内容是程序启动的地址,数据域空。
S9:运行记录,地址域长度为2个字节,内容是程序启动的地址,数据域空。

实例:                                                                              

S0表明这是一条标题记录,11:十六进制值11(十进制值17),表明后面有17个字符对(或ASCII字节)。

S1,表明这是一个要放在两字节地址的数据记录;11,十六进制值12(十进制值18),表明后面有17个字符对,包括一个两字节地址、14个的十六进制数据以及一个一字节校验和;0000,4字符两字节的十六进制地址0x0000,后面的数据要加载到这里。后面的数据代表十六进制值的14个字符对。09代表校验和

S5,表明这是条记录S1、S2、S3个数的计数记录;03表明后面跟着3个字符对;02表明这条记录之前有2条数据记录;FA是校验和         

S9,表明这是条结束记录;03代表十六进制值03(十进制值3),表明后面跟着3个字符对;0001:地址字段,十六进制值0x0001,表明代码的起始运行地址。0xFB代表校验和。         

不同数据数据记录类型如S1、S2、S3之间可以通过Hexview进行转换,Record type选择数据类型,Max bytes为数据长度

                    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值