Intel HEX
Расширения имен файлов | Общего назначения: .hex , [1] .mcs , [2] .int , [3] .ihex , .ihe , .ihx [4] В зависимости от платформы: .h80 , .h86 , [5] [6] .a43 , [7] [4] .a90 [7] [4] Разделить, сгруппировать или постранично: .hxl – .hxh , [8] .h00 – .h15 , .p00 – .pff [9] Двоичный или шестнадцатеричный код Intel: .obj , .obl , [8] .obh , [8] .rom , .eep |
---|
Формат шестнадцатеричного объектного файла Intel , шестнадцатеричный формат Intel или Intellec Hex — это формат файла , который передает двоичную информацию в форме ASCII текстовой , [10] делая возможным хранение на небинарных носителях, таких как бумажная лента , перфокарты и т. д., для отображения на текстовых терминалах или печати на линейно-ориентированных принтерах . [11] Этот формат обычно используется для программирования микроконтроллеров , EPROM и других типов программируемых логических устройств и аппаратных эмуляторов . В типичном приложении компилятор или ассемблер преобразует программы исходный код (например, на языке C или ассемблере ) в машинный код и выводит его в объект или исполняемый файл в шестнадцатеричном (или двоичном) формате. В некоторых приложениях шестнадцатеричный формат Intel также используется в качестве формата контейнера, содержащего пакеты потоковых данных . [12] Общие расширения файлов, используемые для полученных файлов, — .HEX. [1] или .H86. [5] [6] Затем файл HEX считывается программистом для записи машинного кода в PROM или передается в целевую систему для загрузки и выполнения. [11] [13] Существуют различные инструменты для преобразования файлов из шестнадцатеричного в двоичный формат (например, HEX2BIN ) и наоборот (например, OBJHEX, OH, OHX, BIN2HEX).
История
[ редактировать ]Шестнадцатеричный формат Intel изначально был разработан для Intellec . систем разработки микрокомпьютеров [14] : 10–11 (MDS) в 1973 году для загрузки и выполнения программ с бумажной ленты . Он также использовался для указания содержимого памяти Intel для ПЗУ . производства [15] который раньше приходилось кодировать в гораздо менее эффективном формате BNPF (Начало-Отрицательное-Положительное-Окончание). [14] : 11 В 1973 году «группа программного обеспечения» Intel состояла только из Билла Байерли и Кеннета Бергетта, а также Гэри Килдалла в качестве внешнего консультанта, ведущего бизнес как Microcomputer Applications Associates (MAA) и основавшего Digital Research в 1974 году. [16] [17] [18] [9] Начиная с 1975 года этот формат использовался системами Intellec Series II ISIS-II , поддерживающими дисководы, с файлами, имеющими расширение HEX. [19] Многие устройства программирования PROM и EPROM поддерживают этот формат.
Формат
[ редактировать ]Intel HEX состоит из строк текста ASCII , разделенных символами перевода строки или возврата каретки , или и тем, и другим. Каждая текстовая строка содержит шестнадцатеричные символы верхнего регистра, которые кодируют несколько двоичных чисел. Двоичные числа могут представлять данные, адреса памяти или другие значения, в зависимости от их положения в строке, а также типа и длины строки. Каждая текстовая строка называется записью .
Структура записи
[ редактировать ]Запись ( (строка текста) состоит из шести полей частей), которые отображаются слева направо: [11]
- Начальный код , один символ, двоеточие ASCII ' : '. Все символы, предшествующие этому символу в записи, следует игнорировать. [15] [5] [20] [21] [22] [23] Фактически, в очень ранних версиях спецификации даже требовалось, чтобы минимум 25 символов NUL предшествовали первой записи и следовали за последней, поскольку этот формат изначально был форматом бумажной ленты , который требовал некоторого начала и конца ленты для обработки. [15] [24] [21] [22] Однако, поскольку это была малоизвестная часть спецификации, не все написанное программное обеспечение справляется с этим правильно. Это позволяет хранить другую сопутствующую информацию в том же файле (и даже в той же строке), [15] [23] средство, используемое различными утилитами разработки программного обеспечения для хранения таблиц символов или дополнительных комментариев, [25] [15] [21] [26] [9] [27] и сторонние расширения, использующие другие символы в качестве начального кода, например цифры « 0 »...» 9 » от Intel. [28] и Кейл , [26] ' $ ' от Мостека , [29] [30] или ' ! ', ' @ ', ' # ', ' \ ', ' & ' и ' ; ' от TDL . [30] [31] По соглашению, ' // ' часто используется для комментариев. [32] [33] Ни одно из этих расширений не может содержать символы «:» как часть полезных данных.
- Количество байтов , две шестнадцатеричные цифры (одна пара шестнадцатеричных цифр), обозначающие количество байтов (пар шестнадцатеричных цифр) в поле данных. Максимальное количество байт — 255 (0xFF). Значения 8 (0x08), [9] 16 (0x10) [9] и 32 (0x20) — обычно используемые значения байтов. Не все программы справляются со счетами больше 16. [2]
- Адрес , четыре шестнадцатеричные цифры, представляющие 16-битное смещение начального адреса памяти данных. Физический адрес данных вычисляется путем добавления этого смещения к ранее установленному базовому адресу, что позволяет адресовать память за пределами 64-килобайтного предела 16-битных адресов. Базовый адрес, который по умолчанию равен нулю, может быть изменен различными типами записей. Базовые адреса и смещения адресов всегда выражаются как значения с прямым порядком байтов .
- Тип записи (см. типы записей ниже), две шестнадцатеричные цифры от 00 до 05 , определяющие значение поля данных.
- Данные — последовательность из n байтов данных, представленная 2 n шестнадцатеричными цифрами. В некоторых записях это поле отсутствует ( n равно нулю). Значение и интерпретация байтов данных зависят от приложения. (4-битные данные должны храниться либо в нижней, либо в верхней половине байтов, то есть один байт содержит только один адресуемый элемент данных. [15] )
- Контрольная сумма , две шестнадцатеричные цифры, вычисленное значение, которое можно использовать для проверки отсутствия ошибок в записи.
Легенда цвета
[ редактировать ]Для наглядности поля записей Intel HEX в этой статье окрашены следующим образом:
Стартовый код Количество байтов Адрес Тип записи Данные Контрольная сумма
Расчет контрольной суммы
[ редактировать ]Байт контрольной суммы записи представляет собой дополнение до двух младшего байта (LSB) суммы всех декодированных значений байтов в записи, предшествующей контрольной сумме. Он вычисляется путем суммирования значений декодированных байтов и извлечения младшего бита суммы (т. е. контрольной суммы данных), а затем вычисления дополнения до двух младшего бита (например, путем инвертирования его битов и добавления одного).
Например, в случае записи : 03 0030 00 02337A 1E сумма значений декодированных байтов равна 03 + 00 + 30 + 00 + 02 + 33 + 7A = E2
, который имеет значение LSB E2
. Дополнение двух E2
равно 1E , то есть байту контрольной суммы, появляющемуся в конце записи.
Достоверность записи можно проверить, вычислив ее контрольную сумму и проверив, что вычисленная контрольная сумма равна контрольной сумме, указанной в записи; ошибка указывается, если контрольные суммы различаются. Поскольку байт контрольной суммы записи является дополнением к двум (и, следовательно, аддитивной инверсией ) контрольной суммы данных, этот процесс можно свести к суммированию всех значений декодированных байтов, включая контрольную сумму записи, и проверке того, что младший бит суммы равен нулю. Применительно к предыдущему примеру этот метод дает следующий результат: 03 + 00 + 30 + 00 + 02 + 33 + 7A + 1E = 100
, который имеет значение LSB 00
.
Терминаторы текстовой строки
[ редактировать ]Записи Intel HEX обычно разделяются одним или несколькими символами завершения строки ASCII, так что каждая запись отображается отдельно в текстовой строке. Это повышает читаемость за счет визуального разделения записей, а также обеспечивает заполнение между записями, что можно использовать для повышения эффективности машинного анализа . Однако символы завершения строки не являются обязательными, поскольку « : » используется для определения начала записи. [15] [5] [24] [20] [21] [22] [23]
Программы, создающие HEX-записи, обычно используют символы завершения строки, соответствующие соглашениям их операционных систем . Например, программы Linux используют один LF ( перевод строки , шестнадцатеричное значение 0A
) символ для завершения строк, тогда как программы Windows используют CR ( возврат каретки , шестнадцатеричное значение 0D
), за которым следует LF.
Типы записей
[ редактировать ]Intel HEX имеет шесть стандартных типов записей: [11]
Шестнадцатеричный код | Тип записи | Описание | Пример |
---|---|---|---|
00 | Данные | Количество байтов указывает количество байтов данных в записи. В примере имеется 0B (одиннадцать) байтов данных. 16-битный начальный адрес для данных (в примере адреса, начинающиеся с 0010 ) и данных ( 61 , 64 , 64 , 72 , 65 , 73 , 73 , 20 , 67 , 61 , 70 ). | : 0B 0010 00 6164647265737320676170 A7 |
01 | Конец файла | Должно встречаться ровно один раз для каждого файла в последней записи файла. Количество байтов равно 00 , поле адреса обычно равно 0000 , а поле данных опускается. | : 00 0000 01 ФФ |
02 | Расширенный адрес сегмента | Количество байтов всегда равно 02 , поле адреса (обычно 0000 ) игнорируется, а поле данных содержит 16-битный базовый адрес сегмента. Это значение умножается на 16 и добавляется к каждому последующему адресу записи данных, чтобы сформировать начальный адрес для данных. Это позволяет адресовать до одного мебибайта (1048576 байт) адресного пространства. | : 02 0000 02 1200 EA |
03 | Начальный адрес сегмента | Для процессоров 80x86 указывает начальный адрес выполнения. Количество байтов всегда равно 04 , поле адреса — 0000 , первые два байта данных — это значение CS , последние два — значение IP . Выполнение должно начаться по этому адресу. | : 04 0000 03 00003800 C1 |
04 | Расширенный линейный адрес | Допускает 32-битную адресацию (до 4 ГиБ ). Счетчик байтов всегда равен 02 , а поле адреса игнорируется (обычно 0000 ). Два байта данных (с прямым порядком байтов) определяют старшие 16 бит 32-битного абсолютного адреса для всех последующих типа 00 записей ; эти старшие биты адреса применяются до следующей записи 04 . Абсолютный адрес записи типа 00 формируется путем объединения 16 старших битов адреса самой последней записи 04 с младшими 16 битами адреса записи 00 . Если записи типа 00 не предшествуют записи типа 04 , то ее старшие 16 бит адреса по умолчанию равны 0000. | : 02 0000 04 0800 F2 |
05 | Начальный линейный адрес | Количество байт всегда равно 04 , поле адреса — 0000 . Четыре байта данных представляют собой 32-битное значение адреса (с обратным порядком байтов). В случае процессоров, которые его поддерживают, этот 32-битный адрес является адресом, с которого должно начаться выполнение. | : 04 0000 05 000000CD 2A |
Для вариантов использовались другие типы записей, в том числе 06 («мигающие» сообщения/контейнер протокола передачи) Уэйна и Лейна, [34] 0A (начало блока), 0B (конец блока), 0C (дополненные данные), 0D (пользовательские данные) и 0E (другие данные) от BBC / Micro:bit Educational Foundation , [35] и 81 (данные в сегменте кода ), 82 (данные в сегменте данных ), 83 (данные в сегменте стека ), 84 (данные в дополнительном сегменте ), 85 ( адрес абзаца для сегмента абсолютного кода), 86 (адрес абзаца для абсолютных данных). сегмент), 87 (адрес абзаца для абсолютного сегмента стека) и 88 (адрес абзаца для абсолютного дополнительного сегмента) от Digital Research . [6] [20]
Именованные форматы
[ редактировать ]Исходный 4-битный/8-битный формат бумажной ленты Intellec Hex и формат компьютерных перфокарт Intellec Hex в 1973/1974 году поддерживали только один тип записи 00 . [36] [37] [25] Это было расширено примерно в 1975 году. [ когда? ] также поддерживать тип записи 01 . [15] Иногда его называют символическим шестнадцатеричным форматом . [38] он может включать дополнительный заголовок, содержащий таблицу символов для символьной отладки , [25] [28] [26] [9] все символы в записи, предшествующие двоеточию, игнорируются. [15] [5]
Около 1978 года [ когда? ] новые типы записей 02 и 03 (чтобы добавить поддержку сегментированного адресного пространства новых на тот момент ) Intel представила процессоров 8086/8088 в своем расширенном шестнадцатеричном формате Intellec . [ когда? ]
Специальные имена иногда используются для обозначения форматов файлов HEX, в которых используются определенные подмножества типов записей. Например:
- Файлы I8HEX (также известные как HEX-80 ) используют только типы записей 00 и 01.
- Файлы I16HEX (также известные как HEX-86 ) используют только типы записей от 00 до 03. [10]
- Файлы I32HEX (также известные как HEX-386 ) используют только типы записей 00 , 01 , 04 и 05.
Пример файла
[ редактировать ]В этом примере показан файл, содержащий четыре записи данных, за которыми следует запись конца файла:
:10010000214601360121470136007EFE09D2190140 :100110002146017E17C20001FF5F16002148011928 :10012000194E79234623965778239EDA3F01B2CAA7 :100130003F0156702B5E712B722B732146013421C7 :00000001FF
Стартовый код Количество байтов Адрес Тип записи Данные Контрольная сумма
Варианты
[ редактировать ]Помимо собственного расширения Intel, несколько сторонних компаний также определили варианты и расширения шестнадцатеричного формата Intel, включая Digital Research (как в так называемом «шестнадцатеричном формате Digital Research»). [6] [20] ), Зилог , Мостэк , [29] [30] ТДЛ , [30] [31] Техасские инструменты , Микрочип , [39] [40] да , Уэйн и Лейн, [34] и BBC / Micro:bit Educational Foundation (с его «Универсальным шестнадцатеричным форматом»). [35] ). Они могут содержать информацию о точках входа в программу и содержимом регистров , переставленном порядке байтов в полях данных, значениях заполнения неиспользуемых областей, плавких битах и других различиях.
Шестнадцатеричный формат Digital Research для процессоров 8086 поддерживает информацию о сегментах, добавляя типы записей, чтобы различать код, данные, стек и дополнительные сегменты. [5] [6] [20]
Большинство ассемблеров для CP/M-80 (а также XASM09 для Motorola 6809 ) не используют тип записи 01h для обозначения конца файла, а вместо этого используют запись типа 00h нулевой длины. [41] [1] Это упрощает объединение нескольких шестнадцатеричных файлов. [42] [43] [1]
Компания Texas Instruments определяет вариант, в котором адреса основаны на разрядности регистров процессора, а не на байтах.
Микрочип определяет варианты INTHX8S [44] (INHX8L, [1] INHX8H [1] ), INHX8M, [44] [1] [45] INHX16 [44] (INHX16M [1] ) и INHX32 [46] для своих микроконтроллеров PIC .
Кросс-макроассемблер AS Альфреда Арнольда, [1] Эмулятор SIM51 Вернера Хеннига-Ролеффа 8051 , [26] и кросс-конвертер BINTEL Матиаса Р. Пола. [47] Также известно, что они определяют расширения шестнадцатеричного формата Intel.
См. также
[ редактировать ]- Кодирование двоичного текста в текст , обзор и сравнение алгоритмов кодирования
- Текстовый протокол
- Формат файла технологии MOS
- Шестнадцатеричный формат Motorola S-записи
- Шестнадцатеричный формат Tektronix
- Texas Instruments TI-TXT (текст TI)
- Набор микрокомпьютеров Intel (MCS)
- Объектный файл (обычно двоичный, но иногда также в шестнадцатеричном формате Intel)
Ссылки
[ редактировать ]Эта статья содержит слишком много или слишком длинные цитаты . ( октябрь 2023 г. ) |
- ^ Jump up to: а б с д и ж г час я Арнольд, Альфред «Альф» (2020) [1996, 1989]. «6.3. P2HEX» . Макро Ассемблер AS — Руководство пользователя . В1.42. Перевод Арнольда, Альфреда «Альф»; Хильзе, Стефан; Кантак, Стефан; Селлке, Оливер; Де Томази, Витторио. Аахен, Германия. Архивировано из оригинала 28 февраля 2020 г. Проверено 28 февраля 2020 г.
[…] Для микроконтроллеров PIC переключатель -m <0..3> позволяет генерировать три различных варианта формата Intel Hex. Формат 0 — INHX8M, который содержит все байты в порядке Lo-Hi-Order. Адреса становятся вдвое больше, поскольку PIC имеют адресное пространство, ориентированное на слова, которое увеличивает адрес только на один адрес на каждое слово. […] В формате 1 (INHX16M) байты хранятся в их естественном порядке. Это формат, который Microchip использует для своих собственных программирующих устройств. Формат 2 (INHX8L) соотв. 3 (INHX8H) разделяет слова на младшие соответственно. старшие байты. […] К сожалению, в литературе можно встретить разные утверждения о последней строке файла Intel-Hex. Таким образом, P2HEX знает три разных варианта, которые могут быть выбраны […] :00000001FF […] :00000001 […] :0000000000 […] По умолчанию используется вариант 0, который кажется наиболее распространенным. […] Если имя целевого файла не имеет расширения, предполагается расширение HEX. […]
- ^ Jump up to: а б «AR#476 PROMGen — Описание форматов файлов PROM/EEPROM: MCS, EXO, HEX и других» . Ксилинкс . 08 марта 2010 г. Шестнадцатеричный объект Intel MCS-86 — код формата файла 88. Архивировано из оригинала 03 марта 2020 г. Проверено 3 марта 2020 г.
- ^ Сабнис, Абхишек (4 февраля 2011 г.). «Как преобразовать файл .out в .int, .hex, .a43» . Форум Code Composer Studio . Техасские инструменты . Архивировано из оригинала 20 октября 2023 г. Проверено 20 октября 2023 г.
Программисту TI-gang необходимы файлы формата .int, .hex, .a43.
- ^ Jump up to: а б с Шульдт, Майкл (2018). "intel-hex-режим" . github.com . Архивировано из оригинала 24 октября 2020 г. Проверено 20 октября 2023 г.
По умолчанию этот режим включен для файлов с расширением .a90, .hex, .a43 или .ihx.
- ^ Jump up to: а б с д и ж «3.1. Шестнадцатеричный формат файла Intel 8086». Операционная система CP / M-86 - Руководство по системе (PDF) (2-е издание, 1-е изд.). Пасифик Гроув, Калифорния, США: Цифровые исследования . Июнь 1981. стр. 15–16. Архивировано (PDF) из оригинала 28 февраля 2020 г. Проверено 28 февраля 2020 г. п. 16:
[…] Только из ASM-86 выводятся следующие данные: 81 то же, что 00, данные принадлежат сегменту кода […] 82 то же, что 00, данные принадлежат сегменту данных […] 83 то же, что 00, данные принадлежат стеку сегмент […] 84 то же, что и 00, данные принадлежат дополнительному сегменту […] 85 адрес абзаца для сегмента абсолютного кода […] 86 адрес абзаца для сегмента абсолютных данных […] 87 адрес абзаца для абсолютного сегмента стека […] 88 адрес абзаца для абсолютного сегмента стека для абсолютного дополнительного сегмента […] Все символы, предшествующие двоеточию для каждой записи, игнорируются. […]
(17 страниц) - ^ Jump up to: а б с д и «Приложение C. Шестнадцатеричный формат вывода ASM-86». CP/M-86 - Операционная система - Руководство программиста (PDF) (3-е изд.). Пасифик Гроув, Калифорния, США: Цифровые исследования . Январь 1983 г. [1981]. стр. 97–100. Архивировано (PDF) из оригинала 27 февраля 2020 г. Проверено 27 февраля 2020 г. стр. 97–99:
[…] Формат Intel идентичен формату, определенному Intel для 8086 . Формат Digital Research почти идентичен формату Intel, но добавляет информацию о сегментах к шестнадцатеричным записям. Вывод любого формата может быть введен в GENCMD , но формат Digital Research автоматически обеспечивает идентификацию сегмента. Сегмент — это наименьшая единица программы, которую можно перемещать. […] Шестнадцатеричный формат Digital Research отличается от формата Intel в определении типов записей 00 и 02. Intel определяет по одному значению для типа записи данных и типа адреса сегмента. Digital Research идентифицирует каждую запись с сегментом, который ее содержит. […] 00H для данных, принадлежащих всем сегментам 8086 […] 81H для данных, принадлежащих Сегмент CODE […] 82H для данных, принадлежащих сегменту DATA […] 83H для данных, принадлежащих сегменту STACK […] 84H для данных, принадлежащих сегменту EXTRA […] 02H для всех записей адреса сегмента […] 85H для КОД абсолютный адрес сегмента […] 86H для адреса сегмента DATA […] 87H для адреса сегмента STACK […] 88H для адреса EXTRA сегмента […]
[1] (1+viii+122+2 страницы) - ^ Jump up to: а б Рамос, Рубенс (2010) [2008]. "intel-hex-mode.el --- Режим для файлов Intel Hex" . Проверено 20 октября 2023 г.
- ^ Jump up to: а б с «Интерактивный дизассемблер — Шестнадцатеричные форматы файлов» . Шестнадцатеричные лучи . 2006. Архивировано из оригинала 01 марта 2020 г. Проверено 01 марта 2020 г. [2]
- ^ Jump up to: а б с д и ж Рош, Эммануэль (01 апреля 2020 г.). «Формат файла Intel HEX» . Франция: Группа новостей : comp.os.cpm . INTELHEX.WS4. Архивировано из оригинала 08 декабря 2021 г. Проверено 8 декабря 2021 г.
[…] Формат файла Intel HEX может содержать гораздо больше, чем «байты данных». Если строки не начинаются с двоеточия («:»), они могут содержать все, что захотите. […] Однажды я видел большой HEX-файл […] В начале он содержал исходный код программы PL/M , а в конце — результирующий HEX-файл, созданный компилятором PL/M. […] Я нашел еще один HEX-файл, содержащий несколько строк комментариев не в начале и не в конце, а разделяющих несколько строк «абсолютных записей». […] это было из «(Intel) 8008 Simulator». Итак, в начале его использования было хорошо известно, что файлы HEX могут содержать пояснения. […] под CP/M или любой 8-битной 64-килобитной системой остается один случай: «Адреса страниц». Начиная с CP/M, адреса памяти обычно отображаются в шестнадцатеричной системе […], как мы уже говорили для файлов BIN/COM, адреса памяти равны 0000/0100. […] эти адреса памяти можно записать 00-00/01-00 […], чтобы сказать: нулевая страница, нулевой адрес / первая страница, нулевой адрес. […] самый высокий адрес памяти в 8-битном компьютере с 64 КБ — FFFF […] Страница FF, адрес FF […] самые низкие адреса находятся на нулевой странице (или 00), а самые высокие адреса находятся на странице FF. […] Типы файлов CP/M имеют длину 3 буквы, можно использовать типы файлов в форме P00 – PFF […], чтобы указать, по какому адресу памяти следует загрузить HEX-файл. […] Я заметил, что большинство моих адресов заканчиваются на «00», поэтому адрес загрузки можно было сократить до адреса страницы, который […] можно было бы поместить внутрь типа файла […]
- ^ Jump up to: а б «Приложение D. Форматы абсолютных объектных файлов MCS-86: формат шестнадцатеричных объектных файлов». Утилиты семейства 8086 — Руководство пользователя для систем разработки на базе 8080/8085 (PDF) . Версия E (A620/5821 6K DD изд.). Санта-Клара, Калифорния, США: Корпорация Intel . Май 1982 г. [1980, 1978]. стр. Д-8–Д-13. Номер заказа 9800639-04. Архивировано (PDF) из оригинала 29 февраля 2020 г. Проверено 29 февраля 2020 г.
- ^ Jump up to: а б с д Спецификация формата шестнадцатеричного объектного файла . Редакция А. Корпорация Intel . 1998 [1988-01-06] . Проверено 23 июля 2019 г. [3] [4] [5] [6] [7] (11 страниц)
- ^ «Документация по формату шестнадцатеричных файлов LT-программирования — в схемном программировании» . Analog Devices, Inc. / Линейные технологии . 2021. Архивировано из оригинала 07 марта 2021 г. Проверено 11 декабря 2021 г.
- ^ «Общее: формат файла Intel Hex» . АРМ Кейл . АРМ Германия ГмбХ . 07.05.2018 [2012]. КА003292. Архивировано из оригинала 27 февраля 2020 г. Проверено 6 сентября 2017 г. [8]
- ^ Jump up to: а б Кросби, Кип (январь – март 1994 г.). «Рассвет микро: Intellecs Intel» (PDF) . Аналитическая машина . 1 (3). Калифорнийская ассоциация компьютерной истории: 10–14. ISSN 1071-6351 . Архивировано (PDF) из оригинала 17 октября 2023 г. Проверено 17 октября 2023 г. стр. 10–11:
[…] Intel Intellec 8 […] впервые появился где-то в 1972 или 1973 году, за два или более года до того, как Altair 8800 часто называют «первым микрокомпьютером» в стандартной истории […] Intel утверждает, что 8 Mod 8 был впервые произведен в 1973 году и снят с производства в 1975 году. У Тони Дуэлла есть плата ЦП 8 Mod 80, датированная 1972 годом, а 8 Mod 8 и 4 Mod 40 перечислены в каталоге данных Intel, опубликованном в феврале 1976 года, поэтому фактические данные период производства мог быть несколько дольше. (Соответствующую документацию Intel следует читать внимательно, поскольку названия MCS4, MCS40, MCS8 и MCS80 использовались почти без разбора для обозначения наборов микросхем, компьютеров или полных систем.) […]
(52 страницы) (Примечание. В этой статье не упоминается Intel Hex , но особо упоминает, что система Intel Intellec была официально представлена в 1973 году, но существуют некоторые устройства, датированные 1972 годом.) - ^ Jump up to: а б с д и ж г час я «Глава 6. Спецификация компонентов микрокомпьютерной системы — СППЗУ и ПЗУ: I. Инструкции по программированию ПЗУ и ПЗУ — B1. Формат шестнадцатеричной бумажной ленты Intellec / C1. Формат компьютерной перфокарты Intellec Hex». Руководство пользователя MCS-80 (с введением в MCS-85) . Санта-Клара, Калифорния, США: Корпорация Intel . Октябрь 1977 г. [1975]. стр. 6-75–6-78. 98-153Д . Проверено 27 февраля 2020 г. п. 6-76:
[…] В шестнадцатеричном формате Intel Intellec поле данных может содержать 8- или 4-битные данные. Для представления как 8-битных, так и 4-битных данных необходимо использовать два шестнадцатеричных символа ASCII. В случае 4-битных данных только один из символов имеет значение и должен быть указан в форме заказа Intel PROM/ROM. […] Перед первым полем данных и после последнего поля данных должен быть заголовок/конец длиной не менее 25 нулевых символов. Комментарии (кроме двоеточия) могут быть помещены в начале ленты . […] Если данные 4-битные, то либо старшая, либо младшая цифра представляет данные, а другая цифра пары может быть любой шестнадцатеричной цифрой ASCII. […]
[9] [10] (468 страниц) (Примечание. В этом руководстве также описывается « Формат бумажной ленты BPNF », «Формат бумажной ленты, отличный от Intellect Hex» и «Формат компьютерной перфокарты PN».) - ^ Килдалл, Гэри Арлен (январь 1980 г.). «История CP/M, эволюция отрасли: точка зрения одного человека» . Журнал доктора Добба по компьютерной гимнастике и ортодонтии . 5 (1): 6–7. № 41. Архивировано из оригинала 24 ноября 2016 г. Проверено 3 июня 2013 г.
[…] Программы были написаны и протестированы группой разработчиков программного обеспечения Intel, состоящей из меня и еще двух человек, и мы были готовы к работе на настоящей машине. […]
- ^ Килдалл, Гэри Арлен (2 августа 2016 г.) [1993]. Килдалл, Скотт ; Килдалл, Кристин (ред.). Компьютерные соединения: люди, места и события в эволюции индустрии персональных компьютеров (Рукопись, часть 1). Семья Килдалл. Архивировано (PDF) из оригинала 17 ноября 2016 г. Проверено 17 ноября 2016 г. (Примечание. Часть 2 не опубликована по соображениям конфиденциальности семьи.)
- ^ Бергетт, Кеннет «Кен» (10 ноября 2017 г.). «Разработка операционной системы Intel ISIS — интервью с Кеном Бергеттом» . Архивировано из оригинала 24 ноября 2023 г. Проверено 25 ноября 2023 г. [11] [12]
- ^ Файхтингер, Хервиг (1987). «1.8.5. Форматы данных на магнитной ленте: шестнадцатеричный формат Intel» [1.8.5. Форматы данных бумажной ленты]. Arbeitsbuch Mikrocomputer [ Рабочая тетрадь по микрокомпьютеру ] (на немецком языке) (2-е изд.). Мюнхен, Германия: Franzis-Verlag GmbH . С. 240–243 [243]. ISBN 3-7723-8022-0 .
- ^ Jump up to: а б с д и «4.3 Шестнадцатеричный формат файлов Intel». Операционная система Concurrent CP/M - Справочное руководство программиста (PDF) (1-е изд.). Пасифик Гроув, Калифорния, США: Digital Research Inc., январь 1984 г., стр. 4-9–4-12. Архивировано (PDF) из оригинала 11 декабря 2021 г. Проверено 11 декабря 2021 г. стр. 4-11–4-12:
[…] Только из ASM-86 выводятся следующие данные: 81 то же, что 00, данные принадлежат сегменту кода […] 82 то же, что 00, данные принадлежат сегменту данных […] 83 то же, что 00, данные принадлежат сегменту стека […] 84 то же, что 00, данные принадлежат дополнительному сегменту […] *85 адрес абзаца для абсолютного сегмента кода […] *86 адрес абзаца для абсолютного сегмента данных […] *87 абзаца адрес абсолютного сегмента стека […] *88 адрес абзаца абсолютного дополнительного сегмента […] * 85, 86, 87 и 88 — это расширения цифровых исследований. […] Все символы, предшествующие двоеточию для каждой записи, игнорируются. […]
(346 страниц) (Примечание. В этом руководстве только типы 85, 86, 87 и 88 помечены как расширения Digital Research, как если бы типы 81, 82, 83, 84 таковыми не были.) - ^ Jump up to: а б с д «2.8. Форматы микропроцессора, 2.8.1. Требования к входным данным: формат Intel Intellec 8/MDS. Выберите код 83». Руководство оператора по возможностям последовательного ввода-вывода программистов ввода-вывода данных — пакет формата перевода (PDF) . Редакция C. Корпорация ввода-вывода данных . Октябрь 1980 г. с. 2-10. 055-1901. Архивировано (PDF) из оригинала 01 марта 2020 г. Проверено 01 марта 2020 г. п. 2-10:
[…] Ввод […] Это пространство можно использовать для перевода строки, возврата каретки или комментариев. […] Вывод […] 2) Каждая строка заканчивается непечатаемым переводом строки, возвратом каретки и нулями. […]
(1+ii+19 страниц) - ^ Jump up to: а б с «Формат Intel Intellec 8/MDS, код 83». Форматы файлов перевода (PDF) . Корпорация ввода-вывода данных . 3 сентября 1987 г. стр. 22, 26–27, 52–53, 54. Архивировано (PDF) из оригинала 28 июля 2021 г. Проверено 01 марта 2020 г. стр. 22, 26, 52:
[…] Непечатаемый возврат каретки, перевод строки и нули, определяемые счетчиком нулей […]
(56 страниц) - ^ Jump up to: а б с «Приложение B: Шестнадцатеричный формат Intel и расширенный шестнадцатеричный формат Intel — общий формат B.1». Руководство по полупроводниковому контроллеру Fujitsu: FR/F 2 Руководство по комплекту Softune Linkage семейства MC для V3 (PDF) . Фуджицу Лимитед . 2001. С. 319–525 [320–321]. Архивировано (PDF) из оригинала 12 декабря 2021 г. Проверено 12 декабря 2021 г. п. 321:
[…] (g) Обычно добавляется контрольный код (например, CR и LF). Данные в этом поле пропускаются до тех пор, пока не появится начальный символ «:» из (a). Поскольку поля (a), (b), (c), (d) и (f) существуют всегда, минимальная длина записи составляет 11 байт, а максимальная длина — 521 байт. […]
(4+x+350 страниц) - ^ Jump up to: а б «1.6.4 ПИП». Руководство по операционной системе CP/M (первое издание). Пасифик Гроув, Калифорния, США: Цифровые исследования . Июль 1982 г. [1976]. стр. 17–23 . Проверено 12 декабря 2021 г. стр. 19–21:
[…] PIP выполняет специальную функцию, если местом назначения является дисковый файл типа «HEX» ( файл машинного кода Intel в шестнадцатеричном формате), а источником является внешнее периферийное устройство, например бумажный документ. считыватель ленты . В этом случае программа PIP проверяет, содержит ли исходный файл правильно сформированный шестнадцатеричный файл с допустимыми шестнадцатеричными значениями и записями контрольной суммы. При обнаружении недопустимой входной записи PIP сообщает об ошибке на консоли и ожидает корректирующих действий. Обычно достаточно открыть устройство чтения и перезапустить участок ленты (оттянув ленту назад примерно на 20 дюймов). Когда лента готова к повторному чтению, одиночный возврат каретки на консоли вводится , и PIP попытается выполнить еще одно чтение. Если положение ленты не может быть правильно считано, пользователь продолжает чтение (вводя возврат после сообщения об ошибке) и вводит запись вручную с помощью ED- программа после создания дискового файла. Для удобства PIP позволяет конец файла вводить RDR:. с консоли, если исходный файл является устройством В этом случае программа PIP считывает устройство и контролирует клавиатуру. Если ctl-Z на клавиатуре набрать , операция чтения завершается обычным образом. […]
[13] (6+250 страниц)PIP PUN:=NUL:,X.ASM,EOF:,NUL:
[…] Отправьте 40 нулей на устройство перфорации ; скопируйте файл X.ASM в перфоратор, затем укажите конец файла (ctl-Z) и еще 40 нулевых символов. […]H
[…] Передача данных HEX: все данные проверяются на соответствие шестнадцатеричному формату файла Intel. Несущественные символы между шестнадцатеричными записями удаляются во время операции копирования. В случае возникновения ошибок на консоли будет предложено выполнить корректирующие действия. […]I
[…] Игнорировать записи «:00» при передаче файла шестнадцатеричного формата Intel (параметр I автоматически устанавливает параметр H). […]PIP PUN:=X.HEX[i],Y.ZOT[h]
[…] Сначала скопируйте X.HEX на устройство PUN: и игнорируйте конечную запись «:00» в X.HEX; продолжите передачу данных, прочитав Y.ZOT, который содержит HEX-записи, включая любые содержащиеся в нем записи «:00». […] - ^ Jump up to: а б с «Приложение A: Пример программы на PL/M: Лента шестнадцатеричных объектов». MCS-8 Руководство по программированию PL/M (PDF) . Ред. 1 (напечатано в сентябре 1974 г.). Санта-Клара, Калифорния, США: Корпорация Intel . 15 марта 1974 г. [сентябрь 1973 г.]. п. 102. MCS180-0774-1К, MCS280-0974-1К. Архивировано (PDF) из оригинала 29 января 2022 г. Проверено 18 мая 2022 г. п. 102:
(страницы 1+i+100+1+11+1) (Примечание. Показан пример, содержащий разделители на основе звездочек и заголовок с отступом через пробел с именами символов, которые должны обрабатываться Intel ISIS , командой HEXOBJ а также INTERP/ 8 или INTERP/80 для символьной отладки . Этот дополнительный заголовок не документирован как часть шестнадцатеричных форматов Intel или BNPF, но содержится в руководствах по программированию Intel на PL/M и ассемблере, создающих такие таблицы символов.)
1 CARRY 05714
2 ZERO 05715
3 SIGN 05716
4 PARITY 05717
5 MEMORY 06000
23 SQUAREROOT 04003
[…]
83 MONITORUSES 05766
$
****************************************
:1008000044520A2E0B36D0F930FA31CF30D730F9B6
[…]
:100AF0000936F4C730D70401C8C20C0031F930F808
:040B0000445E0AFF46
****************************************
:0000000000
$ - ^ Jump up to: а б с д Хенниг-Ролефф, Вернер (1 февраля 1993 г.) [1988]. «HEX.DOC: формат Intel HEX» . SIM51 . 1.04 (на немецком языке). Архивировано из оригинала 11 августа 2017 г. Проверено 8 декабря 2021 г.
[…] С помощью программы абсолютного шестнадцатеричного преобразования Keil [ …] информация о символах может быть дополнительно включена в шестнадцатеричный файл. Информация о символе находится в начале файла, перед первым знаком «:». Однако информация о символах не имеет большого значения, поскольку не делается различий между именем модуля, CODE, XDATA, DATA, IDATA, BIT, NUMBER. Для каждой записи символа используются только символы ASCII. В каждой строке пишется по 1 символу в виде: «0 СимволИмя Значение» [...]
[14] [15] (Примечание. Это старая версия SIM51, программное обеспечение и документация поддерживались до 1996 года.) - ^ Г., Георг (05.09.2021) [04.09.2021]. «Прошивка шестнадцатеричных файлов» . Микроконтроллеры и цифровая электроника. mikrocontroller.net (на немецком языке) . Проверено 23 ноября 2023 г.
[…] Отладочная информация в Intel начиналась с «$». Затем последовало название символа и адрес. Комментарии имели знак «;» в качестве первого символа. […] ASM48 под ИГИЛ-2 создавал такие шестнадцатеричные файлы, […] ASM86 тоже. […]
- ^ Jump up to: а б «Приложение A. Пример формата листинга / Приложение C. Формат шестнадцатеричного объектного файла». Руководство по языку ассемблера 2920 (PDF) . Санта-Клара, Калифорния, США: Корпорация Intel . Август 1979 г., стр. A-3, C-1 – C-2. Номер заказа 9800987-01. Архивировано (PDF) из оригинала 26 ноября 2023 г. Проверено 26 ноября 2023 г. п. C-1:
[…] Код форматируется в шестнадцатеричных байтах данных. Файл содержит представление шестнадцатеричных байтов данных в формате ASCII. Самому объектному коду предшествует таблица символов. Эти две части можно загрузить или сохранить вместе или по отдельности. Таблица символов представляет собой серию записей, оканчивающихся знаком доллара. Каждая запись содержит три поля, разделенные одним или несколькими пробелами ASCII: […] числовое поле […] поле метки, содержащее ASCII-представление символа исходной программы […] поле адреса, содержащее шестнадцатеричный адрес, присвоенный символу [… ] Таблица символов завершается записью, первым непустым символом которой является знак доллара. Объектный код […] следует за таблицей символов […] Каждая из этих записей или физических строк представляет собой шесть логических полей различной длины в символах или кадрах. […]
(90 страниц) (Примечание. Intel 2920 — процессор цифровых сигналов, выпущенный в 1979 году.) - ^ Jump up to: а б Форманяк, Питер Г.; Лейтч, Дэвид (июль 1977 г.). «Предлагаемый стандарт программного обеспечения микропроцессора» . BYTE — журнал малых систем . Технический форум. Том. 2, нет. 7. Питерборо, Нью-Гэмпшир, США: Byte Publications, Inc., стр. 34, 62–63. ковчег:/13960/t32245485 . Проверено 6 декабря 2021 г. (3 страницы) (Примечание. Описывает расширение шестнадцатеричного формата Intel от Mostek .)
- ^ Jump up to: а б с д Огдин, Кэрол Энн; Колвин, Нил; Питтман, Том; Табб, Филип (ноябрь 1977 г.). «Перемещаемые форматы объектного кода» . BYTE — журнал малых систем . Технический форум. 2 (11). Питерборо, Нью-Гэмпшир, США: Byte Publications, Inc .: 198–205. ковчег:/13960/t59c88b4h, ковчег:/13960/t3kw76j24 . Проверено 6 декабря 2021 г. (8 страниц) (Примечание. Помимо прочего, описано несовместимое расширение шестнадцатеричного формата Intel, используемое Лабораториями технического проектирования (TDL).)
- ^ Jump up to: а б Крейдль, Гюнтер (июнь 1981 г.). «Релокатор: формат TDL» . Аппаратное обеспечение. Nascom Journal — журнал для пользователей NASCOM 1 или NASCOM 2 (на немецком языке). 2 (6). Гермерсхайм, Германия: Журнал Verlag NASCOM, MK-Systemtechnik: 12–14 [12]. Архивировано из оригинала 01 декабря 2021 г. Проверено 11 декабря 2021 г. (20 страниц) (Примечание. Показан вариант формата TDL , который сам по себе является вариантом шестнадцатеричного формата Intel.)
- ^ Рюгер, Стефан М. (16 июня 2022 г.). «Укажите формат файла I: Intel HEX с комментариями, игнорирующими ошибки контрольной суммы» . АВРДУДЕ . Архивировано из оригинала 25 ноября 2023 г. Проверено 25 ноября 2023 г. (Примечание. Опция комментария AVRDUDE: я могу неправильно создать символы «:» как часть шестнадцатеричного дампа .)
- ^ Булл, Ганс Эйрик; Дин, Брайан С.; Рюгер, Стефан М.; Вунш, Йорг (15 июля 2023 г.). «AVRDUDE — программа для загрузки/выгрузки флэш-памяти микроконтроллера AVR, EEPROM и т. д. для AVRDUDE» (PDF) . Версия 7.2. Архивировано (PDF) из оригинала 23 ноября 2023 г. Проверено 23 ноября 2023 г. п. 12:
[…] I […] Intel Hex с комментариями по загрузке и допуску ошибок контрольной суммы при загрузке […]
(66 страниц) - ^ Jump up to: а б Беклер, Мэтью Л. (25 июля 2016 г.) [19 июля 2016 г.]. «Blinky Grid — последовательный оптический битовый поток» . Дискурс . Миннеаполис, Миннесота, США: Wayne and Layne, LLC. Архивировано из оригинала 11 декабря 2021 г. Проверено 11 декабря 2021 г.
- ^ Jump up to: а б «Спецификация универсального шестнадцатеричного формата micro:bit — спецификация универсального шестнадцатеричного формата micro:bit» . микро: бит . 0.4.0. Образовательный фонд Micro:bit . 26 января 2021 г. [2020]. Архивировано из оригинала 14 августа 2021 г. Проверено 8 декабря 2021 г. [16] [17] (Примечание. Это своего рода толстый шестнадцатеричный формат файла.)
- ^ Руководство оператора микрокомпьютерной системы Intellec 8 . Корпорация Интел . Ноябрь 1973 года.
- ^ «Приложение D. Формат ленты шестнадцатеричной программы». Руководство по эксплуатации Intellec 8/MOD 80 . Интел . Июнь 1974 г. 98-003А.
[…] Кадры 7,8: Тип записи […] Два символа ASCII. В настоящее время (1974 г.) все записи имеют тип 0. Это поле зарезервировано для будущего расширения […]
[18] - ^ Каталог средств разработки, 1988 г. (PDF) . Корпорация Интел . 1988. стр. 25–26, 30–32. Номер заказа 280199-004. Архивировано (PDF) из оригинала 26 ноября 2023 г. Проверено 26 ноября 2023 г. (46 страниц)
- ^ «Микроконтроллеры PIC: шестнадцатеричный формат файла PIC» . Блог Kanda Electronics . Канолафан, Лланафан, Аберистуит, Уэльс, Великобритания: EmbeddedResults Ltd., 26 апреля 2012 г. Архивировано из оригинала 16 августа 2021 г. Проверено 11 декабря 2021 г.
- ^ «15.3 Утилита XC16-BIN2HEX — 15.3.3 Файлы ввода/вывода». Ассемблер, компоновщик и утилиты MPLAB XC16 — Руководство пользователя (PDF) . Microchip Technology Inc. 2018 [2013]. стр. 240–241. ISBN 978-1-5224-2828-2 . ДС50002106D. Архивировано (PDF) из оригинала 22 января 2019 г. Проверено 5 декабря 2023 г. п. 240:
[…] Поскольку шестнадцатеричный формат файлов Intel ориентирован на байты, а 16-битный ПК — нет, разделы программной памяти требуют особого обращения. Каждое 24-битное программное слово расширяется до 32 бит путем вставки так называемого «фантомного байта». Каждый адрес памяти программы умножается на 2, чтобы получить байтовый адрес. Например, раздел, расположенный в памяти программы по адресу 0x100, будет представлен в шестнадцатеричном файле как 0x200. Рассмотрим следующий источник языка ассемблера: […] ; файл test.s […] .section foo,code,address(0x100) […] .pword 0x112233 […] Будет создан файл […] со следующим содержимым: […] :020000040000fa […] :040200003322110096 […] :00000001FF […] запись данных (строка 2) имеет адрес загрузки 0200, тогда как в исходном коде указан адрес 0x100. […] данные представлены в формате « с прямым порядком байтов », то есть первым появляется младший байт. Фантомный байт появляется последним, непосредственно перед контрольной суммой. […]
(277 страниц) - ^ Килдалл, Гэри Арлен (февраль 1978 г.) [1976]. «Простой метод статического перемещения абсолютного машинного кода» . Журнал доктора Добба по компьютерной гимнастике и ортодонтии . 3 (2). Народная компьютерная компания : 10–13 (66–69). ISBN 0-8104-5490-4 . #22 ковчег:/13960/t8hf1g21p . Проверено 19 августа 2017 г. [19] [20] [21] . Первоначально представлено по адресу: Килдалл, Гэри Арлен (1977) [22–24 ноября 1976 г.]. «Простой метод статического перемещения абсолютного машинного кода». Написано в Военно-морской аспирантуре , Монтерей, Калифорния, США. В Титусе, Гарольд А. (ред.). Отчет конференции: Десятая ежегодная конференция Asilomar по схемам, системам и компьютерам: доклады представлены 22–24 ноября 1976 г. Конференция Asilomar по сигналам, системам и компьютерам . Отель и конференц-центр Asilomar, Пасифик-Гроув, Калифорния, США: Western Periodicals Company. стр. 420–424. ISSN 1058-6393 . Проверено 6 декабря 2021 г. (609 страниц)
- ^ Зшокке, Йорг (ноябрь 1987 г.). «Не просто помощь в разработке – загрузка для одноплатных компьютеров на примере EPAC-09: шестнадцатеричный формат Intel». c't - журнал по компьютерным технологиям (на немецком языке). Том 1987, № 11. Verlag Heinz Heise GmbH & Co. KG . С. 198, 200, 202–203, [200]. ISSN 0724-8679 .
[…] Заголовок завершается байтом, значение которого указывает тип блока: 0 = блок данных, 1 = конечный блок. Однако от этого различия можно отказаться, если конечный блок также можно четко идентифицировать по длине блока, равной нулю. (Именно так работает большинство ассемблеров под CP/M , включая XASM09; тогда тип байта всегда равен нулю). […]
[22] (Примечание: XASM09 — ассемблер Motorola 6809. ) - ^ Прайор, Джеймс Э. (24 февраля 1989 г.). «Re: Вопросы о шестнадцатеричном формате Intel (*.HEX)» . Группа новостей : comp.os.cpm . Проверено 27 февраля 2020 г.
- ^ Jump up to: а б с «Спецификация программирования PIC16C5X 5.0 — PIC16C5X Hex форматы данных: 5.1. 8-битный разделенный шестнадцатеричный формат Intellec (INHX8S) / 5.2. 8-битный объединенный шестнадцатеричный формат Intellec (INHX8M) / 5.3. 16-битный шестнадцатеричный формат / 5.4. 8-битный Формат слова / 5.5.16-битный формат слова». Справочник по микрочипам (изд. 1994 г.). Microchip Technology Inc., апрель 1994 г., стр. 3–10–3–11, 9–10, 9–15, 9–17, 9–21, 9–23, 9–27. DS00018G . Проверено 28 февраля 2020 г.
[…] Ассемблер для PIC16C5X может создавать объектные файлы PIC16C5X в различных форматах. Программист PIC16C5X должен иметь возможность принимать и отправлять данные хотя бы в одном из следующих форматов. Предпочтителен 8-битный объединенный формат (INHX8M). […] формат […] INHX8S […] создает два 8-битных шестнадцатеричных файла. Один файл будет содержать пары адрес/данные для старших 8-бит, а другой файл будет содержать младшие 8-бит. Расширения файлов для объектного кода будут «.obl» и «.obh» для файлов младшего и высокого порядка […] формат […] INHX8M […] создает один 8-битный шестнадцатеричный файл с комбинацией младшего и старшего байта. Поскольку в этом формате каждый адрес может содержать только 8 бит, все адреса будут удвоены. Расширения файлов для объектного кода будут иметь формат «.obj» […] INHX16 […] создает один 16-битный шестнадцатеричный файл. Расширение файла объектного кода будет «.obj». […]
[23] [24] - ^ Берд, Брайан (2016) [2010]. «Формат HEX-записи микрочипа INHX8M» . Люсид Технологии . Архивировано из оригинала 28 февраля 2020 г. Проверено 28 февраля 2020 г.
- ^ Борода, Брайан (2016) [2013]. «Формат HEX-записи микрочипа INHX32» . Люсид Технологии . Архивировано из оригинала 28 февраля 2020 г. Проверено 28 февраля 2020 г.
- ^ Пол, Матиас Р. (1992). BINTEL: Binär-Image-Konverter mit Intel-Hex-Unterstützung - Bedienungsanleitung [ Конвертер двоичных изображений с поддержкой Intel Hex - Руководство пользователя ] (на немецком языке). (Примечание. В результате использования инструмента для обработки, анализа, сравнения, разделения, вырезания, заполнения, объединения, перемещения или преобразования двоичных образов прошивки (например, для одного или нескольких ПЗУ или из них) с намеренно липкими (фиксированными «1» или «0»), инвертированные, опущенные (« все равно »), соединенные между собой или замененные местами данные или адресные строки (которые иногда используются для облегчения маршрутизации параллельных шин на печатной плате или по причинам запутывания , чтобы затруднить разборку ), этот преобразователь двоичных изображений поддерживается ряд расширений формата Intel Hex.)
Дальнейшее чтение
[ редактировать ]- «Как интерпретировать данные Motorola S и Intel в формате HEX? Intel Hex-32, код 99» . Главная > Аппаратное обеспечение > … > Системы внутрисхемных испытаний > Оборудование для автоматизированных испытаний [Снято с производства] > Подробности . Кейсайт Технологии . Архивировано из оригинала 01 марта 2020 г. Проверено 01 марта 2020 г.
- Бергманс, Сан (02.06.2019) [2001]. «Формат Intel HEX» . СБ-Проекты . Архивировано из оригинала 01 марта 2020 г. Проверено 01 марта 2020 г.
- Берд, Брайан (2016) [2007]. «Формат Intel HEX-записи» . Люсид Технологии . Архивировано из оригинала 28 февраля 2020 г. Проверено 28 февраля 2020 г.
- Андерсон, Томас Н. (февраль 1998 г.). «Формат объекта адреса Intel Hex Word». Руководство пользователя ассемблера Telemark (TASM) (PDF) . 3.1. Иссакуа, Вашингтон, США: Программное обеспечение Squak Valley. стр. 25–26. Архивировано (PDF) из оригинала 11 декабря 2021 г. Проверено 11 декабря 2021 г.
Формат объекта адреса Intel Hex Word […] Этот формат идентичен формату объекта Intel Hex, за исключением того, что адрес каждой строки объектного кода делится на два, преобразуя его в адрес слова (16-битное слово). Все остальные поля идентичны. Вот пример: […] :180800000102030405060708090A0B0C0D0E0F101112131415161718AC […] :02080C00191AA3 […] :00000001FF […]
(32 страницы) - «Протокол последовательной загрузки ADuC70xx» (PDF) (примечания по применению). Редакция К. Норвуд, Массачусетс, США: Analog Devices . 2016. Ан-724. Архивировано (PDF) из оригинала 05 октября 2023 г. Проверено 5 октября 2023 г. (8 страниц)
Внешние ссылки
[ редактировать ]- binex — конвертер между Intel HEX и двоичным кодом для Windows.
- SRecord , преобразователь между Intel HEX и двоичным кодом для Linux ( использование ), исходный код C++.
- kk_ihex , библиотека C с открытым исходным кодом для чтения и записи Intel HEX
- libgis , библиотека C с открытым исходным кодом, которая преобразует файлы Intel HEX, Motorola S-Record, Atmel Generic.
- bincopy — это пакет Python для работы с файлами Intel HEX.
- SwiftIntelHex — пакет Swift для анализа файлов Intel HEX для iOS и macOS.