srec_ascii_hex man page

srec_ascii_hex — Ascii‐Hex file format

Description

This format is also known as the Ascii‐Space‐Hex or Ascii‐Hex‐Space format. If you know who invented this format, please let me know. If you have a better or more complete description, I'd like to know that, too.

The file starts with a start‐of‐text (STX or Control‐B) character (0x02). Everything before the STX is ignored.

Each data byte is represented as 2 hexadecimal characters, followed by an "execution character". The default execution character is a space, although many programs which write this format omit the space character immediately preceding end‐of‐line.

The address for data bytes is set by using a sequence of $Annnn, characters, where nnnn is the 4‐character ascii representation of the address. The comma is required. There is no need for an address record unless there are gaps. Implicitly, the file starts a address 0 if no address is set before the first data byte.

The file ends with an end‐of‐text (ETX or Control‐C) character (0x03). Everything following the ETX is ignored.

It is also possible to specify a running 16‐bit checksum using a sequence of $Snnnn, characters, although this usually appears after the ETX character and is thus often ignored.

Variant Forms

In addition to a space character, the execution character can also be percent (%) called "ascii‐hex‐percent" format, apostrophe (') or comma (,) called "ascii‐hex‐comma" format. The file must use the same execution character throughout.

If the execution character is a comma, the address and checksum commands are terminated by a dot (.) rather than a comma (,).

Size Multiplier

In general, binary data will expand in sized by approximately 3.0 times when represented with this format.

Example

Here is an example ascii‐hex file. It contains the data “Hello, World[rq] to be loaded at address 0x1000.

^B $A1000,
48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 0A ^C

Maintainer

Scott FinneranE‐Mail:scottfinneran@yahoo.com.au
Peter MillerE‐Mail:pmiller@opensource.org.au

Referenced By

srec_cat(1), srec_input(1).

SRecord Reference Manual