HEX (Intel)

Formato de archivo para objetos hexadecimales
Desarrollador
Intel
Información general
Extensión de archivo .hex
Lanzamiento inicial 1988
Formato abierto ?

El Hexadecimal Object File Format es un formato de archivo para la programación de microcontroladores, EPROMs y otros circuitos integrados. Es uno de los formatos más antiguos con esta finalidad.

Consiste en un archivo de texto cuyas líneas contienen valores hexadecimales que codifican los datos, y su offset o dirección de memoria.

Los distintos tipos de Intel Hex (8-bit, 16-bit y 32-bit) se diferencian en su endianness.

Cada línea consta de los siguientes elementos:

  1. Código de inicio, un símbolo ':'
  2. Longitud del registro, dos dígitos hexadecimales con la cantidad de bytes del campo de datos. Usualmente son 16 o 32 bytes.
  3. Dirección, cuatro dígitos hexadecimales en big endian, con la dirección de inicio de los datos. Para direcciones mayores a 0xFFFF se emplean otros tipos de registro.
  4. Tipo de registro, dos dígitos hexadecimales, de 00 a 05, definen el tipo del campo de datos
  5. Datos, duplas de dígitos hexadecimales que contienen los datos
  6. Checksum, dos dígitos hexadecimales con el complemento a dos de la suma de todos los campos anteriores, salvo el ':'.

Hay seis tipos de registros:

Existen varios sub-formatos:

Los procesadores Motorola utilizan un formato similar, denominado SREC.

Ejemplo

:10010000214601360121470136007EFE09D2190140
:100110002146017EB7C20001FF5F16002148011988
:10012000194E79234623965778239EDA3F01B2CAA7
:100130003F0156702B5E712B722B732146013421C7
:00000001FF

color #FFFFCC Código de inicio color #CCFFCC Longitud color #CCCCFF Dirección color #FFCCCC Tipo de registro color #CCFFFF Datos color #FFCCFF Checksum

Enlaces externos