Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
srec_motorola(5)	       File Formats Manual		srec_motorola(5)

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 down-
     loaded 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  Mo-
     torola 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 vari-
     ous "extensions[rq] which usually manifest as lines which start with  some-
     thing  else.  These "extension[rq] 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, S6, S7, S8 or S9 field.

     Record Length
	     The record length field is a 2 character (1 byte) field that speci-
	     fies 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 signifi-
	     cant byte of the one's complement of the sum of the  values  repre-
	     sented  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[rq] 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
	     An optional 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.

	     This record is optional, you do not have to use it.   Nobody  knows
	     if  you  can  have  more  than one in a file; and if you do, nobody
	     knows whether or not the line count resets after each one.

	     The srec_cat command will only ever use one, provided the number of
	     lines fits in 16 bits, otherwise it will use S6.

		    S6
			    An optional 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.

			    This  record is optional, you do not have to use it.
			    Nobody knows if you can have  more	than  one  in  a
			    file; and if you do, nobody knows whether or not the
			    line count resets after each one.

			    Nobody  knows  what  happens  if  you  mix S5 and S6
			    records in a file.

			    The srec_cat command will only ever  use  one,  pro-
			    vided the number of lines fits in 24 bits.

		    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  ad-
			    dress 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 ad-
			    dress of the instruction to which control is passed.
			    If not specified, the first entry  point  specifica-
			    tion  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[rq]
     to be loaded at address 0.
	    S00600004844521B
	    S110000048656C6C6F2C20576F726C640A9D
	    S5030001FB
	    S9030000FC

COPYRIGHT
     srec_cat version 1.64
     Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,  2006,  2007,
     2008, 2009, 2010, 2011, 2012, 2013, 2014 Peter Miller

     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.

MAINTAINER
     Scott Finneran   E-Mail:	scottfinneran@yahoo.com.au
     Peter Miller     E-Mail:	pmiller@opensource.org.au

Reference Manual		     SRecord			srec_motorola(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=srec_motorola&sektion=5&manpath=FreeBSD+Ports+15.1.quarterly>

home | help