Intel HEX

Intel HEX

Intel HEX es un formato de archivo para la programación de microcontroladores, EPROMs y otros circuitos integrados. Datando de los años 70[cita requerida], está entre los formatos más viejos 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:

  • 00, Datos, contiene una dirección de 16 bits y los datos correspondientes
  • 01, Fin de archivo, no contiene datos y debe estar al final del archivo.
  • 02, Dirección Extendida de Segmento, dirección base del segmento, para acceder a direcciones con más de 16 bits. Este valor se desplaza 4 bits a la izquierda (= multiplicar con 16) y se suma a la dirección proporcionada por los registros de datos. Su campo de longitud debe valer 02 y el de dirección 0000.
  • 03, Dirección de Comienzo de Segmento, especifica los valores iniciales de los registros CS:IP, para procesadores 80x86. El campo de dirección es 0000, longitud 04 y los datos contienen dos bytes para el segmento de código y otros dos para el instruction pointer
  • 04, Dirección Lineal Extendida, permite dirigirse a 32 bits de memoria al contener los 16 bits superiores de la dirección. Su campo de dirección vale 0000 y el de longitud 02.
  • 05, Comienzo de Dirección Lineal. Contiene 4 bytes que se cargan en el registro EIP de los procesadores 80386 y superiores. Su campo de dirección vale 0000 y el de longitud 04.

Existen varios sub-formatos:

  • I8HEX o INTEL 8, de 8 bits
  • I16HEX o INTEL 16, de 16 bits. Emplea registros 02 y 03, y la endianness de los datos puede variar.
  • I32HEX o INTEL 32, de 32 bits. Agrega los registros 04 y 05.

Los procesadores Motorola utilizan un formato similar, denominado SREC.

Ejemplo

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

     Código de inicio      Longitud      Dirección      Tipo de registro      Datos      Checksum

Enlaces externos


Wikimedia foundation. 2010.

Mira otros diccionarios:

  • Intel HEX — is a file format for conveying binary information for applications like programming microcontrollers, EPROMs, and other kinds of chips. It is one of the oldest file formats available for this purpose, having been in use since the 1970s. Fact|date …   Wikipedia

  • Intel Hex — формат текстового файла, содержащего символы в кодировке шестнадцатеричной системе счисления. Содержание 1 Формат записи 1.1 Пример файла 2 Запись данных …   Википедия

  • Intel HEX — Das Intel HEX Format ist ein Datenformat zur Speicherung und Übertragung von binären Daten. Es wird heute hauptsächlich verwendet, um Programmierdaten für Mikrocontroller bzw. Mikroprozessoren, EPROMs und ähnliche Bausteine zu speichern. Es kann… …   Deutsch Wikipedia

  • Intel HEX — Для улучшения этой статьи желательно?: Викифицировать статью. Найти и оформить в виде сносок ссылки на авторитетные источники, подтверждающие написанное …   Википедия

  • HEX (disambiguation) — HEX could refer to:* Helsinki Stock Exchange * Hexham railway station, England; National Rail station code HEX. * High energy X rays * Intel HEX * Hex (Discworld) * Hex (TV series) * Hex (board game) …   Wikipedia

  • Hex — Hex: Hex (hexadeсimal)  обозначение шестнадцатеричной системы счисления. См. также Hex редактор  приложение для редактирования данных, представляющее данные как последовательность байтов в hex коде. Intel HEX  формат файла,… …   Википедия

  • HEX — Das Kurzwort Hex (von griechisch Hexa: sechs) steht für: Zahlen im 16er System, siehe Hexadezimalsystem das Brettspiel Hex (Spiel) eine Kurzbezeichnung für ein einzelnes Spielfeld in einem Sechseckraster eine Rechenmaschine in Terry Pratchetts… …   Deutsch Wikipedia

  • Hex — A hex is a curse or magical spell or a female caster of such. The term is derived from the German word Hexe for a witch. Hex is also the Greek root word denoting six as in hexagon , a six sided geometric figure. Hex may also mean:Media Television …   Wikipedia

  • Hex — Das Kurzwort Hex (von griechisch Hexa: sechs) steht für: Zahlen im 16er System, siehe Hexadezimalsystem das Brettspiel Hex (Spiel) eine Kurzbezeichnung für ein einzelnes Spielfeld in einem Sechseckraster eine Rechenmaschine in Terry Pratchetts… …   Deutsch Wikipedia

  • HEX (Intel) — est un format de fichier pour prendre en charge de l information binaire pour des applications comme programmer des Microcontrôleurs, des EEPROM et d autres composants programmables. C est un des formats les plus anciens pour cette utilisation,… …   Wikipédia en Français

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”