摩托罗拉S19文件详解:ASCII格式编程与CodeWarrior生成

需积分: 50 26 下载量 168 浏览量 更新于2024-07-18 1 收藏 1.29MB PPTX 举报
S19文件是摩托罗拉(Motorola)推荐的一种标准文件传送格式,用于在不同计算机平台之间传输程序代码和数据,特别是在Freescale的CodeWarrior开发环境中。这种ASCII格式的文件主要用于EEPROM编程,编译过程完成后,会自动生成".abs.s19"文件。S19文件由一系列称为S记录的结构组成,每个S记录包括5个部分:类型、计数、地址、数据和校验和。 - **类型** (type): 用2个字符表示,如S0、S1、S2等,定义了记录的不同用途,例如S0记录通常用于表示程序的元数据,而S1记录则可能包含实际的程序代码或数据。 - **计数** (count): 也是2个字符,表示剩余成对字符的数量,用于记录长度的计算。 - **地址** (address): 可能是4、6或8个字节,用16进制表示存储位置,根据数据地址的实际字节数决定字段长度。 - **数据** (data): 包含0-64个字符,用16进制表示实际的数据内容,可以是程序指令、变量值或其他相关信息。 - **校验和** (checksum): 2个字符的校验和用于确保数据传输的准确性,通过计算数据和地址字段的字符对和,然后取低两位得到校验和,以0xFF减去校验和的结果。 举例来说,S0记录(类型为0x5330)包含了程序的元数据,如名称、版本、修订版本和描述,这些信息对于理解和管理程序非常重要但并不直接执行。而S1记录(类型为0x5331)则是实际的程序代码段,会被烧录到MCU的EEPROM中。 制作S19文件的过程通常涉及使用特定的工具,如Excel制作的Nov2017工具,它可以帮助开发者管理和转换程序代码,生成符合S19格式的文件。理解S19文件结构对于正确使用CodeWarrior编译器和进行MCU编程至关重要,因为它直接影响到程序的正确加载和运行。