Форматы и конвертация прошивок


Любой файл в цифровом мире имеет имя и расширение, которое указывается после точки (если в Вашей ОС не указаны расширения файлов см. Пуск => Панель управления => Параметры папок). Необходимо расширение для того, чтобы понимать какой тип данных находится в файле и какую программу для его открытия запустить. Например, на стройке есть разные виды гвоздей и когда строителю нужно заколотить гвоздь, то он понимает, что нужен молоток, который является инструментом (программой), а гвозди могут быть совсем разные: 5*50мм гвоздь или кровельный гвоздь или 35мм финишный оцинкованный гвоздь и все эти гвозди как файлы имеют расширение (признак принадлежности к типу) гвоздь и для всех их нужен молоток. Если взять шуруп, то понятно, что нужен другой инструмент и молотком тут не поможешь.

принципиальное понятие что такое расширение файла

Расширение файла — это идентификатор, показывающий компьютеру или пользователю, какую программу нужно применить для данного файла.

Прошивки в бытовой технике, как правило, применяются в форматах .bin или .eep, при этом многие программаторы поддерживают гораздо больше расширений, а некоторые могут работать только с файлами одного расширения (например, программатор USBDM работает с расширение .S19 см. урок 5)

Файл может быть переименован пользователем, но при этом содержимое его не изменится, а меняется только программа, которая его запускает (показывает, выполняет, позволяет редактировать и т. д.)

Для того, чтобы перевести из одного формата в другой существуют множество программ, которые называются конвертеры, которые работают по принципу переводчиков, переводя один язык в другой, но смысл (данные) остаются при этом неизменны. При подобном переводе (конвертации) очень важно чтобы соблюдались все условия и смысл (данные) был донесён 100% и для этого не подходит ни один человеческий язык, так как многие слова при переводе могут исказится, а вычислительная техника, которой отчасти является микроконтроллер, понимает только четкие команды (открыть воду, закрыть воду, вращать барабан влево 50 оборотов в минуту), стиральной машине нельзя сказать постирай как постираешь, она не может принимать решения, когда хватит и сколько продолжать, поэтому в цифровом мире используют язык цифр.
Три записи одного и того же, но на разных языках

Разные системы исчисления

Т.е. одно и тоже можно записать на разных языках, но всегда означает одно и тоже, каждому символу в ASCII характерно два символа в 16-ричном виде, которым характерен, в свою очередь, уникальный набор 0 и 1(бит) в количестве 8, что равно одному байту. Если прошивка имеет размер 512 байт, значит там 512 символов ASCII или 512 групп из 8 символов 0 или 1.
Любой hex-редактор (редактор 16-ричных файлов, как правило, прошивок) имеет 3 поля, первое поле это адрес строки, второе поле это данные в 16 ричном(hex) формате(виде) и третье поле, это те же данные только в формате ASCII. Нужно это для большей наглядности во время визуального анализа данных.

какие данные внутри прошивки

В прошивках стиральных машин очень часто встречается понятие перевернутого байта, это означает что данные внутри файла перевернулись по каким либо причинам, возможно программатор так сохранил данные, у некоторых микросхем, так они сохраняются и т.д. нам это не особо важно, то что нам действительно важно, дак это то, что данные в такой прошивки могут не приняться нашим процессором и как многие неверно полагают, «перевернутость байта» не зависит от формата, так как пользователь может сам как угодно назвать файл. Поэтому нужно смотреть на данные внутри файла с помощью наших hex-редакторов и тут нужно разделить прошивки на множество платформ и на примере двух мы постараемся понять (в общем) как они устроенный (см. урок 4). Для перевода из обычного формата в перевернутый или наоборот, достаточно загрузить ее в любой Hex-редактор и нажать перевернуть

Формат S19


С появление новых модулей управления Arcadia, к нам стал пробиваться формат S19 или SREC, текстовый формат прошивок, применяемых на процессорах Freescale от Motorolа, который имеет ряд особенностей в построение и открывается в любом текстовом редакторе.

что такое прошивка в формате S19

На каждом модуле управления Arcadia есть бирка с указанием версии SW(software) и именно это сочетание SW+S19=SW19.RU дало название для домена нашего сайта SW19.ru, потому как одной из первых программы был конвертер прошивок, позволяющий сконвертировать конфиг (config) под нужную версию модуля.
Программа конвертации по сути делала два дела одновременно, переводила наш config из формата eep или bin в формат S19, добавляя S10F0000 в начало строки данных и считая контрольную сумму, дописанную в конец строки. Давайте посмотрим на один и тот же файл в разных форматах

Разные форматы прошивок

Это один и тот же файл только показанный в разных форматах, как видно, ничего сложного в том чтобы выявить закономерность, но как мы знаем полная прошивка микроконтроллера (см. Урок 1) состоит не только из конфигурационных данных, но и из основной прошивки, данные которой и дописывает конвертер S19 в начало и конец config, поэтому на выходе мы получаем файл гораздо большего размера (около 150 кб по сравнение с 6-8 изначальным размером).

Контрольный вопрос

Какое расширение прошивки применяется в процессорах Freescale?

Для ответа нужно войти или зарегистрироваться
o
oleg_kq 1 апреля 2018
0
Спасибо Вам, за Ваш труд!
Для комментария нужно войти или зарегистрироваться

м
миха21 20 сентября 2017
0
Молоток!Держи хвост пистолетом!))))))))
Для комментария нужно войти или зарегистрироваться

R
Rbt09 13 марта 2018
0
текстовый формат прошивок, применяемых на процессорах Freescale - S19 или SREC, а правильный ответ только s19
Для комментария нужно войти или зарегистрироваться

N
Nesqu1k 2 мая 2018
0
Отличный стенд, всё очень понятно
Для комментария нужно войти или зарегистрироваться

Ваш комментарий +1

Нельзя отвечать на свои вопросы или статьи