Tektronix extended hexadecimal file format
This format allows binary files to be uploaded and downloaded between two computer systems, typically between a computer system (such as a PC, Macintosh, or workstation) and an emulator or evaluation board for microcontrollers and microprocessors.
Lines always start with a percent (%) character. Each line consists of 5 fields. These are the length field, the type field, the checksum, the address field (including address length), and the data field.
% | Length | Type | Checksum | Address | Data |
---|
Record Length
The record length field is a 2 character (1 byte) field that specifies the number of characters (not bytes) in the record, excluding the percent, the length field, the type field and the checksum.
Type
The type field is a 1 character field that specifies whether the record is data (6) or termination (8).
Checksum
The checksum is an 2 character (1 byte) field that represents the sum of all the nibbles on the line, excluding the checksum.
Address
This is a 9 character field. The first character is the address size; it is always 8. The remaining 8 chgaracters are the 4\[hy]byte address that specifies where the data is to be loaded into memory.
Data
The data field contains the executable code, memory\[hy]loadable data or descriptive information to be transferred.
6
A record containing data. The data is placed at the address specified.
8
A termination record. The address field may optionally contain the address of the instruction to which control is passed. There is no data field.
In general, binary data will expand in sized by approximately 2.5 times when represented with this format.
Here is an example Tektronix extended file. It contains the data \[lq]Hello, World[rq] to be loaded at address 0x006B.
%256D980000006B48656C6C6F2C20576F726C64210A %09819800000000
\*(n) version \*(v)
Copyright \*(Y) Peter Miller
The \*(n) program comes with ABSOLUTELY NO WARRANTY; for details use the '\*(n) -VERSion License' command. This is free software and you are welcome to redistribute it under certain conditions; for details use the '\*(n) -VERSion License' command.
Peter Miller | E\[hy]Mail: | [email protected] |
---|---|---|
/\ | /\ | * |
WWW: | http://miller.emu.id.au/pmiller/ |