S19文件基础认识

S19文件格式与mot文件只是命名方式不同,看数据格式的话,其实是同一种文件,这里以S19文件为例。

S19文件每一行数据全部由记录类型和十六进制数字组成,包含类型、长度、地址、数据和校验和五个部分。

上面图片中“S3”为类型,“15”为长度,意味着整行记录(除类型和长度)总共有21字节,“00008020”为该记录起始地址,“54455001000000000000000000000000”为数据,共16个字节,“70”是校验和,这一行就是将数据一次刷写到起始地址为“20100060”的连续地址中去,上一行的数据结构也是如此对应的。

1、记录类型

S19中记录类型包括S0、S1、S2、S3、S5、S7、S8、S9等

S0,位于文件的第一行,和其他行不同,地址部分没有使用,用“0000”置位,整行表示记录的开始,FC为校验和;

S1表示地址长度为两字节(4字符)的记录,包含类型、长度、地址、数据和校验和五个部分;

S2表示地址长度为三字节(6字符)的记录,包含类型、长度、地址、数据和校验和五个部分;

S3表示地址长度为四字节(8字符)的记录,包含类型、长度、地址、数据和校验和五个部分;

S5表示文件中含有S1、S2、S3记录的个数,其后不接数据,包含S5的记录并不是每个文件必须的;

S7表示地址长度为四字节(8字符)的记录,包含类型、长度、地址和校验和四个部分,此行表示程序的结束;

S8表示地址长度为三字节(6字符)的记录,包含类型、长度、地址和校验和四个部分,此行表示程序的结束;

S9表示地址长度为两字节(4字符)的记录,包含类型、长度、地址和校验和四个部分,此行表示程序的结束;

只有S1、S2、S3、S5需要写入Flash中。

2、长度计算

长度包含一个字节,长度 = 地址字节数 + 数据字节数 + 校验和字节数。

3、地址

表示该行的起始地址,字节数由类型决定,S1位两个字节,S2为三个字节,S3位四个字节。

4、数据

一个char[0-64]字段。取决于记录的类型,可能把它们看做描述信息;或者把这些字符看做十六进制整型值,每两个代表一个字节,这时这些字节就是要被加载进对应地址的数据。

5、校验和及计算

校验和内容为一个字节,计算公式:校验和 = 0XFF - 长度字节 - 地址字节 - 数据字节

如上图计算为校验和 = 0xFF - (0x15 + 0x20 + 0x10 + 0x00 + 0x60 + 0x54 + 0x45 + 0x50 + 0x01 ... + 0x00 + 0x00 + 0x70) = 0x70

其中(0x15 + 0x20 + 0x10 + 0x00 + 0x60 + 0x54 + 0x45 + 0x50 + 0x01 ... + 0x00 + 0x00 + 0x70) = 0x18F 取8F。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值