Что такое формат файла S19?
Файлы .s19 - это текстовые файлы кодирования прошивки в формате Motorola S-record (SREC), созданном компанией Motorola в 1970-х годах для серии микропроцессоров 6800. Они кодируют бинарные данные прошивки в виде строк шестнадцатеричных ASCII-записей, что делает их человекочитаемыми, переносимыми и доступными для редактирования в любом текстовом редакторе.
Файл .s19 специально использует 16-битную адресацию (записи данных S1 и конечная запись S9), что ограничивает адресуемый диапазон 64 КБ. Для образов прошивок большего размера вместо него используются родственные форматы .s28 (24-битные записи S2/S8) и .s37 (32-битные записи S3/S7).
Каждая строка имеет фиксированную структуру: идентификатор типа записи (S0 для заголовка, S1 для данных, S9 для конца файла), счетчик байтов, 2-байтовый адрес в ASCII hex, полезная нагрузка данных и 1-байтовая контрольная сумма (дополнение до единицы). Такая конструкция с самопроверкой позволяет программаторам проверять целостность данных запись за записью перед записью в память устройства.
Файлы .s19 широко используются в разработке встраиваемых систем для программирования микроконтроллеров семейств NXP (ранее Freescale/Motorola), таких как Kinetis, ColdFire, HCS08, HC11 и HC12. Утилиты srec_cat и srec_info из набора инструментов SRecord являются стандартными средствами для конвертации, объединения и проверки файлов SREC. Формат Intel HEX является основной альтернативой с сопоставимыми возможностями.
Безопасность и защита
РИСК: LOWФайлы S19 являются обычным текстом ASCII; они не могут выполняться на ПК. Риск носит контекстуальный характер: прошивка неправильного или поврежденного S19 в микроконтроллер может вывести устройство из строя. Всегда проверяйте целостность контрольной суммы и совместимость с целевым устройством перед программированием.
Детали формата
в двух словахПрограммы, открывающие файлы S19
Технические подробности
глубокая спецификация| Кодировка | Текст ASCII (7-бит), записи с разделителями строк; редактируется в любом текстовом редакторе |
| Ширина адреса | 16 бит (записи S1/S9); максимум 64 КБ адресуемого пространства на файл |
| Типы записей | S0 (заголовок), S1 (данные + 16-битный адрес), S9 (конец файла) |
| Структура строки | Тип записи + счетчик байтов + 2-байтовый адрес + байты данных + 1-байтовая контрольная сумма (все в парах ASCII hex) |
| Первые байты | ASCII S0 (hex 53 30) - запись заголовка всегда идет первой |
| Контрольная сумма | Дополнение до единицы (счетчик байтов + адрес + поля данных), младший значащий байт |
| Порядок байтов | Big-endian для полей адреса и данных |
| Типичный размер | 1 КБ - 2 МБ (избыточность кодирования ~40% по сравнению с чистым бинарным файлом; макс. 64 КБ данных прошивки в S19) |
| Сжатие | Нет; данные прошивки кодируются как шестнадцатеричный текст ASCII без дальнейшего уменьшения размера |
| Шифрование | Нет; формат представляет собой обычный текст ASCII без уровня безопасности или обфускации |
| Связанные варианты | .s28 (24-битный адрес, записи S2/S8), .s37 (32-битный адрес, записи S3/S7), .srec (общий SREC) |
| Основные цели | Семейства MCU NXP/Freescale: Kinetis, HCS08, HC12, ColdFire, HC11 |
| Выпущен | 1970s (Motorola 6800 era) |
| Последняя версия | S19 is the S1/S9 variant (16-bit address, up to 64 KB); S28 (24-bit) and S37 (32-bit) are extensions |
| Открыть стандартное | Да · без роялти |
| Спецификация | en.wikipedia.org |
Конвертации S19
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах S19.