Intel Hex

Intel Hex

Intel Hex — формат текстового файла, содержащего символы в кодировке шестнадцатеричной системе счисления.

Содержание

Формат записи

Каждую строку в файле называют записью. Она состоит из следующих элементов:

  1. Начало записи (:).
  2. Счётчик байт данных, содержащихся в этой записи. Занимает один байт (две шестнадцатеричных цифры), что соответствует 0…255 в десятичной системе.
  3. Начальный адрес блока записываемых данных — 2 байта. Этот адрес определяет абсолютное местоположение блока в EPROM.
  4. Один байт, обозначающий тип записи. Если значение этого байта равно 00h (0), то следующие байты являются фактическими данными, которые будут сохранены в EPROM. Значение 01h (1) указывает на конец файла.
  5. Байты данных, которые требуется сохранить в EPROM (их число указывается в поле 2).
  6. Последний байт в записи является контрольной суммой. Если сумма всех байтов в строке (без учёта переноса) равняется 00, строка считана правильно.
  7. Строка заканчивается стандартной парой CR/LF (0Dh 0Ah).

Файл завершается записью «:00000001FF».

Пример файла

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

     Начало записи      Счётчик байт      Адрес      Тип записи      Данные      Контрольная сумма


Файл формата Intel HEX может состоять из любого количества записей. Каждая запись представляет собой

LLAAAATTDD...CC

Каждая группа букв (LL, AAAA, TT и т. д.) представляет собой отдельное поле. Каждая буква — отдельную 16-ричную цифру (4 бита). Каждое поле состоит, как минимум, из двух 16-ричных цифр (байт). Ниже представлена расшифровка полей записи:

Каждая запись в файле Intel HEX должна начинаться с двоеточия.

LL Поле длины – показывает количество байт данных (DD) в записи. AAAA Поле адреса – представляет начальный адрес записи. TT Поле типа. Оно может принимать следующие значения: 00 запись содержит данные 01 запись представляет код конца файла 02 запись представляет адрес сегмента для i8086 04 запись расширения линейного адреса DD Поде данных. Запись может содержать несколько байт данных. Количество байт данных должно соответствовать полю LL. CC Поле контрольной суммы. Поле контрольной суммы вычисляется путем сложения значений всех байт (пар 16-ричных цифр) записи по модулю 256 с последующим переводом в дополнительный формат.

Запись данных

Пример одной записи данных:

10246200464C5549442050524F46494C4500464C33

где 10 Количество байт данных (16 байт) 2462 Адрес памяти, куда будет помещена запись. 00 Тип записи — данные. 464C...464C Данные 33 Контрольная сумма записи

Запись адреса сегмента

Файл формата Intel HEХможет содержать записи для процессоров i8086, которые определяют адрес сегмента (иначе говоря — номер параграфа, один параграф — это 16 байт). Если используется директива H167, то этот тип записи заменяет запись расширенного линейного адреса. Номер параграфа используется как смещение адреса для всех записей данных, следующих за этой записью. Смещение представляет собой сдвиг адреса на четыре бита влево. Например, смещение равное 0x1234 даст реальный адрес 0x12340. Пример записи:

020000021000EC

где: 02 Количество байт данных 0000 В этом типе записи всегда равно 0000 02 Тип записи 02 (запись расширенного линейного адреса). 1000 Номер параграфа (реальный адрес будет равен 0x10000). EC Контрольная сумма

Запись расширенного адреса

Когда используется директива H167, файл формата Intel HEX возможно будет содержать записи расширенного линейного адреса. Этот тип записи определяет значения двух старших байт абсолютного адреса (биты 16-31). Эти два старших байта адреса будут применяться как смещение адреса для всех записей данных, следующих за этой записью. Пример записи:

0200000400FFFB

где: 02 Количество байт данных 0000 Всегда равно 0 04 Тип записи 04 (запись расширенного линейного адреса) 00FF Старшее слово смещения адреса (0x00FF0000) FB Контрольная сумма Запись Конец Файла (EOF) Файлы формата Intel HEX должны иметь запись Конца Файла (EOF). Пример записи:

00000001FF

где: 00 Количество байт записи 0000 Поле игнорируется. Не имеет значения, что там записано, но обычно всегда равно 0 01 Тип записи 01 (Конец Файла) FF Контрольная сумма, вычисленная как 01h + NOT(00h + 00h + 00h + 01h). Пример файла формата Intel HEX

020000021000EC
10C20000E0A5E6F6FDFFE0AEE00FE6FCFDFFE6FD93
10C21000FFFFF6F50EFE4B66F2FA0CFEF2F40EFE90
10C22000F04EF05FF06CF07DCA0050C2F086F097DF
10C23000F04AF054BCF5204830592D02E018BB03F9
020000020000FC
04000000FA00000200
00000001FF

На основе описаний Keil Software, Inc. and and Keil Elektronik GmbH (С) Жевак Александр, 2007

Смотрите также

SREC - формат файла используемый ф.Motorola


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Intel Hex" в других словарях:

  • 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 — 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… …   Wikipedia Español

  • 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


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»