一、S19格式是啥
在电控文件管理的初期阶段,我首次接触到的是 A2L 和 HEX 文件。其中,A2L 文件主要承担着描述性功能,它详细地描述了各种参数和配置等相关信息。而 HEX 文件则是一种刷写文件,其内部明确记录了具体的地址以及对应的值,用于设备的刷写操作。
随着工作的深入,我又遇到了 S19 文件。S19 文件是遵循 S - RECORD 标准的一种文件格式。在内容方面,它与 HEX 文件大体相似,同样存储了设备刷写所需的关键信息,即地址和相应的值。这些文件在电控系统中都扮演着重要的角色,分别从不同角度为电控文件的管理、使用和设备的正常运行提供了必要的支持。
三、S19示例解析
下面我将拆解一个S19文件从而了解它到底存了什么,如何进行存储的。S19格式不像HEX文件是以":"开头,S19格式每行是以"S"开头。如下所示:
S00600004844521B
S32580023F20FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19
S32580023F40FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9
S32580023F60FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9
S32580023F80FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9
S32580023FA0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99
S32580023FC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79
S32580023FE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59
S5031200EA
S70500000000FA
那么我们就针对其格式进行一下介绍:
(当前行)起始字符(1Byte)+记录类型(1Byte)+长度(2Byte,长度表示的是地址+数据+校验和)+地址(取决于记录类型)+数据(0~64Byte取决于长度)+校验和(2byte)
上述数据:S00600004844521B
上述数据:S32580023FE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFF59
上述数据:S5031200EA
上述数据:S70500000000FA
以上就是Demo拆解,那么我们进一步说一下S19都有哪些记录类型分别对应
该行类型 | 该行记录意义 | 地址长度(位) | 是否有数据字段 |
---|---|---|---|
S0 | 开始行,也是标题行 | 16 | 有 |
S1 | 数据行 | 16 | 有 |
S2 | 数据行 | 24 | 有 |
S3 | 数据行 | 32 | 有 |
S4 | 保留行 | 不适用 | 否 |
S5 | 计数行 | 16 | 否 |
S6 | 计数行 | 24 | 否 |
S7 | 终止行 | 32 | 否 |
S8 | 终止行 | 24 | 否 |
S9 | 终止行 | 16 | 否 |