- SREC (file format)
The
Motorola S-record format is anASCII encoding for binary data. It is also known as the SREC or S19 format. The format has several advantages over binary formats. The ASCII encoding allows the files to be edited with a text editor. Also, each record contains a checksum to identify data that has been corrupted during transmission. [ [http://www.die.net/doc/linux/man/man5/srec.5.html srec - Linux man page] ]The format was created in the 1970s for the
Motorola 6800 processor. It is used by software development tools to encode binary data, especially executable code, for embedded processors.A similar encoding, with slightly different ASCII formatting, termed
Intel HEX , is used with Intel processors.Format
An SREC format file consists of a series of ASCII records. All
hexadecimal (hex) numbers areBig Endian . The records have the following structure:
# Start code, one character, an "S".
# Record type, one digit, "0" to "9", defining the type of the data field.
# Byte count, two hex digits, indicating the number of bytes (hex digit pairs) that follow in the rest of the record (in the address, data and checksum fields).
# Address, four, six, or eight hex digits as determined by the record type for the memory location of the first data byte.
# Data, a sequence of 2"n" hex digits, for "n" bytes of the data.
#Checksum , two hex digits - theone's complement of theleast significant byte sum of the values represented by the two hex digit pairs for the byte count, address and data fields.There are eight record types, listed below:The S0 record data sequence contains vendor specific data rather than program data. The record count in the S5 record is stored in the 2-byte address field. The address field of the S7, S8, or S9 records may contain a starting address for the program. [ [http://www.freescale.com/files/archives/doc/ref_manual/M68000PRM.pdf MC68000 Family Programmer’s Reference Manual] Appendix C]
Example
S00F000068656C6C6F202020202000003C S11F00007C0802A6900100049421FFF07C6C1B787C8C23783C6000003863000026 S11F001C4BFFFFE5398000007D83637880010014382100107C0803A64E800020E9 S111003848656C6C6F20776F726C642E0A0042 S5030003F9 S9030000FC
References
External links
* [http://srecord.sourceforge.net/ SRecord] is a collection of tools for manipulating SREC format files
Wikimedia Foundation. 2010.