SREC

Материал из Википедии — свободной энциклопедии
Перейти к навигацииПерейти к поиску
SREC
Расширение.s19, .s28, .s37, .s, .s1, .s2, .s3, .sx, .srec или.mot
РазработчикMotorola
Тип форматаформат файла

SREC — формат текстовогоASCIIфайла, разработанный фирмойMotorola для хранения двоичных данных, также иногда называетсяMotorola S-record илиS19. Формат имеет ряд преимуществ по сравнению с бинарными форматами. ASCII-файлы можно изменять с помощью текстового редактора. Кроме того, каждая запись содержит контрольную сумму, позволяющую выявить ошибки, которые были допущены во время передачи данных[1].

Этот формат был разработан в1970 году для процессораMotorola 6800 и используется многими компиляторами как конечный результат работы, особенно у компиляторов для встраиваемых систем.

Аналогичное кодирование, со слегка измененным форматом ASCII файла, называетсяIntel Hex и используется для процессоровIntel.

Содержание

Формат

[править |править код]

SREC файл состоит из записей, представляющих собой ASCII символы. Все шестнадцатеричные (Hex) числа записаны в видестарший байт слева. Записи имеют следующую структуру:

  1. Старт, один символS.
  2. Тип записи, одна цифра,0 до9, определяет тип поля данных.
  3. Количество байт, две шестнадцатеричных цифры, указывающие количество байт в оставшейся части записи (адрес, поле данных, контрольная сумма).
  4. Адрес, четыре, шесть или восемь шестнадцатеричных цифр, определяющих начальный адрес блока данных этой записи в памяти.
  5. Данные, двоичные данные, закодированные шестнадцатеричными числами длинойn байт.
  6. Контрольная сумма, две шестнадцатеричных цифры, дополняет до FF сумму чисел полей: количество байт, адрес и данных. Необходима для проверки целостности данных.

Есть восемь типов записей, которые перечислены ниже:

ЗаписьТипБайтов в адресеДальнейшие данные
S0Заголовок блока2Есть
S1Последовательность данных2Есть
S2Последовательность данных3Есть
S3Последовательность данных4Есть
S5Количество записей2Нет
S7Конец блока4Нет
S8Конец блока3Нет
S9Конец блока2Нет

Запись типаS0 содержит данные разработчика программы и не имеет отношения к программному коду. Количество записей хранится в 2-х байтном поле адреса записи типаS5. Поля адреса записей типаS7,S8, илиS9 могут содержать начальные адреса программы[2].

Пример

[править |править код]
S00F000068656C6C6F202020202000003CS11F00007C0802A6900100049421FFF07C6C1B787C8C23783C6000003863000026S11F001C4BFFFFE5398000007D83637880010014382100107C0803A64E800020E9S111003848656C6C6F20776F726C642E0A0042S5030003F9S9030000FC

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

См. также

[править |править код]

Примечания

[править |править код]

Ссылки

[править |править код]
  • SRecord программы для работы с файлами формата SREC
Перейти к шаблону «Форматы исполняемых файлов»
Unix
Windows,DOS иOS/2
Прочие
Источник —https://ru.wikipedia.org/w/index.php?title=SREC&oldid=128585298
Категория:
Скрытые категории: