当前位置:网站首页>Intel-Hex , Motorola S-Record 格式详细解析
Intel-Hex , Motorola S-Record 格式详细解析
2022-06-30 02:37:00 【CDamogu】

总览
| Intel-HEX | : | Count | Address | Type | Data | CheckSum |
|---|---|---|---|---|---|---|
| Description | 行起始 | Byte1 本行数据长度 | Byte2 Byte3 本行数据的起始地址 | 00 记录数据,hex文件的大部分记录都是数据记录 01 标识文件结束,放在文件最后,表示Hex文件的结尾 02 标识扩展段地址的记录 03 开始段地址记录 04 标识拓展线性地址的记录 05 开始线性地址记录 | 数据 | 0x100-累加和 |
| Example | : | 1byte | 2bytes | 1bytes | n bytes | 1 byte |
| : | 02 | 0000 | 04 | 00C3 | 37 | |
| : | 20 | 0020 | 00 | FAC3… | CB | |
| : | 00 | 0000 | 01 | FF | ||
| Motorola S-Record | Type | Count | Address | Data | CheckSum | |
| Description | S0 地址场没有被用,用零置位(0x0000) S1 地址为2字节的记录 S2 地址为3字节的记录 S3 地址为4字节的记录 S5 标记本文件的S1,S2,S3的个数 S7 地址为4字节,表示程序的开始执行地址,数据部分未被使用,此行表示程序的结束,无需下载到MCU S8 地址为3字节,表示程序的开始执行地址,数据部分未被使用,此行表示程序的结束,无需下载到MCU S9 地址为2字节,表示程序的开始执行地址,数据部分未被使用,此行表示程序的结束,无需下载到MCU | 记录长度=存储地址字节数+数据字节数+校验和字节数 s19是所有除了S0-9的长度 | 存储地址,字节数由Type决定,表示数据应装载的起始地址 | 数据 | 0x100-累加和 | |
| Example | S3 | 21(33) | 0000001C(4Byte) | 007D00…(33-4-1byte) | E6(1Byte) | |
| S7 | 05 | 00000000 | FA |
S19
S-record格式文件是Freescale CodeWarrior编译器生成的后缀名为.S19的程序文件,是一段直接烧写进MCU的ASCII码,英文全称问Motorola format for EEPROM programming。
1、格式定义及含义
S-record每行最大是78个字节,156个字符
S-record format
type count address data checksum
type(类型):2个字符。用来描述记录的类型 (S0,S1,S2,S3,S5,S7,S8,S9)。
count(计数):2个字符。 用来组成和说明了一个16进制的值,显示了在记录中剩余成对字符的计数。
address(地址):4或6或8个字节。用来组成和说明了一个16进制的值,显示了数据应该装载的地址, 这部分的长度取决于载入地址的字节数。2个字节的地址占用4个字符,3个字节的地址占用6个字符,4个字节的地址占用8个字符。
data(数据):0—64字符。用来组成和说明一个代表了内存载入数据或者描述信息的16进制的值。
checksum(校验和):2个字符。这些字符当被配对并换算成16进制数据的时候形成了一个最低有效字符 节,该字符节用来表达作为补充数据,地址和数据库的字符对所代表的(字节的)补码的byte总和。即计数值、地址场和数据场的若干字符以两个字符为一对, 将它们相加求和,和的溢出部分不计,只保留最低两位字符NN,checksum =0xFF-0xNN。
S0 Record:记录类型是“S0” (0x5330)。地址场没有被用,用零置位(0x0000)。数据场中的信息被划分为以下四个子域:
name(名称):20个字符,用来编码单元名称
ver(版本):2个字符,用来编码版本号
rev(修订版本):2个字符,用来编码修订版本号
description(描述):0-36个字符,用来编码文本注释
此行表示程序的开始,不需烧入memory。
S1 Record:记录类型是“S1” (0x5331)。地址场由2个字节地址来说明。数据场由可载入的数据组成。
S2 Record:记录类型是“S2” (0x5332)。地址场由3个字节地址来说明。数据场由可载入的数据组成。
S3 Record:记录类型是“S3” (0x5333)。地址场由4个字节地址来说明。数据场由可载入的数据组成。
S5 Record:记录类型是“S5” (0x5335)。地址场由2字节的值说明,包含了先前传输的S1、S2、S3记录的计数。
没有数据场。
S7 Record:记录类型是“S7” (0x5337)。地址场由4字节的地址说明,包含了开始执行地址。没有数据场。此行表示程序的结束,不需烧入memory。
S8 Record:记录类型是“S8” (0x5338)。地址场由3字节的地址说明,包含了开始执行地址。没有数据场。此行表示程序的结束,不需烧入memory。
S9 Record:记录类型是“S9” (0x5339)。地址场由2字节的地址说明,包含了开始执行地址。没有数据场。此行表示程序的结束,不需烧入memory。
根据不同的描述信息,在以上三种不同的结束行中选择一种使用
2、EXAMPLE
2.1 example I

S19文件首行: S021000036384B50524F47202020313143524541544544204259204541535936384B6D
首行翻译信息: S0 0000 6 8 K P R O G 1 1 C R E A T E D B Y E A S Y 6 8 K
色块图例:module name version number revision number checksum
checksum的算法:
0x21+0x00+0x00+0x36+0x38+0x4B+0x50+0x52+0x4F+0x47+0x20+0x20+0x20+0x31+0x31+0x43+0x52+0x45+0x41+0x54+0x45+0x44+0x20+0x42+0x59+0x20+0x45+0x41+0x53+0x59+0x36+0x38+0x4B=0x792
checksum=0xFF-0x92=6D
注意:EASy68K总是用S8 record作为结束行。

2.2 example II
S123C000CF1400790011CC09395B105A124A8046304A8000300001C01BCB73140007340027
色块图例:type count address data checksum
2.3 example III
S224308000C61E877C1516C6197B151ACE04C07E15187A153EC74A90F9301D026A01C6017BF0
色块图例:type count address data checksum
3、另附Freescale HCS12DP256B 16位单片机空程序S19文件:
S0520000453A5C576F6F64795C4C6561726E696E675C50726F6772616D6D655C42444DD2FDB5BCB3CCD0F25C44556D795C447032 35365C62696E5C48435331325F53657269616C5F4D6F6E69746F722E6162735A
S123C000CF1100790011CC09395B105A124A8004304A8000300000C01BC01F00000000001B
S104C020001B
S105FFFEC0003D
S22430800010EF20FEFEC017FDC015270E35ED31EC3169700434FB310326F2FEC019EC31274F
S2113080200BED31180A30700434F920F10AE7
S804000000FB
大家可以尝试理解一下。
边栏推荐
猜你喜欢
随机推荐
Unity timeline data binding
论文回顾:Playful Palette: An Interactive Parametric Color Mixer for Artists
How do PMP candidates respond to the new exam outline? Look!
Quick sort
迅為恩智浦iTOP-IMX6開發平臺
2.8 【 weight of complete binary tree 】
Four, forty, fourhundred swatches
Steam elements hidden in science and Technology Education
What is certificate transparency CT? How to query CT logs certificate logs?
打造创客教育中精湛技艺
Wechat applet page Jump and parameter transfer
CMake教程系列-03-依赖管理
What should academic presentation /ppt do?
归并排序
2022护网行动在即,关于护网的那些事儿
FDA邮件安全解决方案
Recursion frog jumping steps problem
什么是证书透明度CT?如何查询CT logs证书日志?
Creating exquisite skills in maker Education
Recommendations for agileplm database parameter optimization








