intel_hex

Intel HEX

A data format for storing binary data as ASCII text. It consists of a sequence of records, which consist of the following fields:

  1. start code (:)
  2. byte count (1 byte)
  3. address (2 bytes)
  4. record type (1 byte)
    • data (00): the data field contains n bytes, where n is the byte count
    • EOF (01): the final record in the file; the data field is empty
    • extended segment address (02): the data field contains 2 bytes which are multiplied by 16 and used as the base of subsequent record addresses
    • start segment address (03): the data field contains 4 bytes specifying the start execution address for 80×86 processors, where the first two bytes are the CS value and the last two bytes are the IP
    • extended linear address (04): the data field contains 2 bytes to be used as the high-order bytes (big-endian) of 32-bit addresses for subsequent records
    • start linear address (05): the data field contains 4 bytes representing the big-endian 32-bit start address
  5. data (n bytes), possibly empty
  6. checksum (1 byte), calculated as the two's complement of the sum of the record contents

All values are stored as ASCII hex digits.

  • intel_hex.txt
  • Last modified: 2023-04-29 00:22
  • by asdf