Описание форматов HEX-файлов

BIN Файл - набор байтов.
HEX Файл - текстовый файл определённой структуры

Этот формат был разработан для хранения программ на перфоленте ( еще во
времена популярности 8080 ).
Файл состоит из текстовых строк следущеюго формата. Все числа в HEX
Hачинается с ':'. Далее 2 символа - число байт данных.
4 символа - начальный адрес данных( адрес первого байта строки ).
2 символа - если последняя строка здесь '01' иначе '00'
Далее байты данных по 2 символа на байт. В конце 2 символа - контрольная
сумма - дополнение до 2 суммы байтов данных

Вот пример данных в hex-формате:

:100AF00022AB12E1C9F5D56FE60F677DE6F01F1F47

А вот разбивка по полям:

:LLOOOOSSD0D1D2D3D4D5D6D7D8D9DaDbDcDdDeDfCS

Здесь (все числа - шестнадцатеричные):

LL - число байт, упакованных в данной строке
OOOO - смещение байта D0 в двоичном образе
SS - тип записи (00 - данные, 01 - конец файла)
D0-Df - шестнадцатеричное представление очередных LL байт данных.
СS - контрольная сумма - сумма всех байт в строке должна быть равна 0.

Так отмечается конец файла:

:00000001FF

Интересно, что этим кодом можно передавать двоичные данные даже по телеграфу.


В HEX-файлах для PIC-ов данные распределены следующим образом:

0000h - 3FFFh:  Program memory - память програм
4000h - 400Fh:  Config memory - область памяти в которой содержится 
                4000h - 400Dh: идентификатор пользователя (любая информация) 
                400Eh: идентификатор производителя (для каждого чипа свой) - поле "ID"
                4000F: конфигурационное слово (тип генератора, защита от записи и др.) - поле "Config"
4200h - 43FFh:  Data memory - память данных

На титульную страницу

На главную страницу

Hosted by uCoz