Provided by:
srecord_1.24-1_i386 
NAME
srec_motorola - Motorola S-Record hexadecimal file format
DESCRIPTION
This format is also known as the Exorciser, Exormacs or Exormax format.
Motorola’s S-record format allows binary files to be uploaded and
downloaded between two computer systems. This type of format is widely
used when transferring programs and data between a computer system
(such as a PC, Macintosh, or workstation) and an emulator or evaluation
board for Motorola microcontrollers and microprocessors.
The Lines
Most S-Record file contain only S-Record lines (see the next section),
which always start with a capital S character. Some systems generate
various ‘‘extensions’’ which usually manifest as lines which start with
something else. These ‘‘extension’’ lines may or may not break other
systems made by other vendors. Caveat emptor.
The Fields
The S-record format consists of 5 fields. These are the type field,
length field, address field, data field, and the checksum. The lines
always start with a capital S character.
+--+------+---------------+---------+------+----------+
|S | Type | Record Length | Address | Data | Checksum |
+--+------+---------------+---------+------+----------+
Type The type field is a 1 character field that specifies whether
the record is an S0, S1, S2, S3, S5, S7, S8 or S9 field.
Record Length
The record length field is a 2 character (1 byte) field that
specifies the number of character pairs (bytes) in the record,
excluding the type and record length fields.
Address This is a 2-, 3- or 4-byte address that specifies where the
data in the S-record is to be loaded into memory.
Data The data field contains the executable code, memory-loadable
data or descriptive information to be transferred.
Checksum
The checksum is an 8-bit field that represents the least
significant byte of the one’s complement of the sum of the
values represented by the pairs of characters making up the
record’s length, address, and data fields.
Record Types
S0 This type of record is the header record for each block of S-
records. The data field may contain any descriptive
information identifying the following block of S-records. (It
is commonly ‘‘HDR’’ on many systems.) The address field is
normally zero.
S1 A record containing data and the 2-byte address at which the
data is to reside.
S2 A record containing data and the 3-byte address at which the
data is to reside.
S3 A record containing data and the 4-byte address at which the
data is to reside.
S5 A record containing the number of S1, S2 and S3 records
transmitted in a particular block. The count appears in the
two-byte address field. There is no data field.
S6 A record containing the number of S1, S2 and S3 records
transmitted in a particular block. The count appears in the
three-byte address field. There is no data field.
S7 A termination record for a block of S3 records. The address
field may contain the 4-byte address of the instruction to
which control is passed. There is no data field.
S8 A termination record for a block of S2 records. The address
field may optionally contain the 3-byte address of the
instruction to which control is passed. There is no data
field.
S9 A termination record for a block of S1 records. The address
field may optionally contain the 2-byte address of the
instruction to which control is passed. If not specified, the
first entry point specification encountered in the object
module input will be used. There is no data field.
Size Multiplier
In general, binary data will expand in sized by approximately 2.4 times
when represented with this format.
EXAMPLE
Here is an example S-Record file. It contains the data ‘‘Hello,
World’’ to be loaded at address 0.
S00600004844521B
S110000048656C6C6F2C20576F726C640A9D
S5030001FB
S9030000FC
COPYRIGHT
srec_cat version 1.24
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Peter Miller;
All rights reserved.
The srec_cat program comes with ABSOLUTELY NO WARRANTY; for details use
the ’srec_cat -VERSion License’ command. This is free software and you
are welcome to redistribute it under certain conditions; for details
use the ’srec_cat -VERSion License’ command.
AUTHOR
Peter Miller E-Mail: millerp@canb.auug.org.au
/\/\* WWW: http://www.canb.auug.org.au/~millerp/