:10010000214601360121470136007EFE09D2190140
:100110002146017EB7C20001FF5F16002148011988
:10012000194E79234623965778239EDA3F01B2CAA7
:100130003F0156702B5E712B722B732146013421C7
:00000001FF
  Start Code
  Byte Count
  Address
  Record Type
  Data
  Checksum

Ref : http://en.wikipedia.org/wiki/Intel_HEX
Relative Ref:
Motorola SREC Format : http://en.wikipedia.org/wiki/SREC_(file_format)

font 凧繕 < pre> http://alexw.me/

 

Hex File Formats

This appendix describes the Intel hex object format and the TI-txt file format.

 

The Intel hex object format supports 16-bit addresses and consists of a 9-character (4-field) prefix that defines the start of record, byte count, load address, record type, and a 2-character sumcheck suffix.

 

The record types, which are represented in the 9-character prefix, are:

 

             00 = Data record [begins with the colon (:) start character].

             01 = End-of-file record

 

Record type 00, the data record, begins with the colon (:) start character and is followed by the byte count, the address of the first data byte, the record type (00), and the sumcheck. The sumcheck is the twos complement (in binary) of the preceding bytes in the record including the byte count, address, and data bytes.

 

Record type 01, the end-of-file record, also begins with the colon (:) start character. The colon is followed by the byte count, the address, the record type (01), and the sumcheck.

 

To represent an address bus of more than 16 bits, other record types are defined:

 

             02 = Extended Segment Address Record, segment-base address. Used when 16 bits is insufficient, this mode is identical to 80x86 real-mode addressing. The address specified by the 02 record is multiplied by 16 (shifted 4 bits left) and added to the subsequent 00 record address. This allows addressing of up to one megabyte of address space. The address field of this record must be 0000,  the byte count is 02 (the segment is 16 bit). The least-significant hex digit of the segment address is always 0.

 

             04 = Extended Linear Address Record, allowing for fully 32-bit addressing. The address field is 0000, the byte count is 02. The two data bytes represent the upper 16 bits of the 32-bit address, when combined with the address of the 00 type record.
 

 

Figure A-1. Intel Hex Object Format


 

A.2 TI-txt File Format

 

        @ADDR1

        DATA01 DATA02 ........ DATA16

        DATA17 DATA18 ........ DATA32

        ........

        DATAm ........ DATAn

        @ADDR2

        DATA01 ........ DATAn

        Q

 

Where:

 

             @ADDR is the start address of a section (hexadecimal).

             DATAn represents a data byte (hexadecimal).

             q is the termination of the file.

 

For example:

 

        @F000

        31 40 00 03 B2 40 80 5A 20 01 D2 D3 22 00 D2 E3

        21 00 3F 40 E8 FD 1F 83 FE 23 F9 3F

        @FFFE

        00 F0

        Q

 

Restrictions:

 

 , The number of sections is unlimited.

 , Each line can have a maximum of 16 data bytes, except the last line of a section.

 , Data bytes are separated by a single space.

 , The termination tag q indicates end-of-file is mandatory.

 

Description

The ti-TXT format is used by the Texas Instruments MSP430 familty programming adapter.

The TI-TXT hex format supports 16-bit hexadecimal data. It consists of one or more sections, followed by the end-of-file indicator.

Each section consistes of an at (@) sign followed a start address (in hexadecimal), and newline, and then data bytes (in hexadecimal). The section address is followed by a newline. There are to be 16 data bytes per line, except for the last line in a section.

The end-of-file indicator is the letter q followed by a newline. The end-of-file indicator mandatory.

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 ti-txt file taken from the reference below:

@F000

31 40 00 03 B2 40 80 5A 20 01 D2 D3 22 00 D2 E3

21 00 3F 40 E8 FD 1F 83 FE 23 F9 3F

@FFFE

00 F0

Q