Прошивка СМА от А до Я

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

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

Расширение файла

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

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

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

Конвертация прошивки

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

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

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

Перевернутый байт

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

Формат S19

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

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

Программа конвертации по сути делала два дела одновременно, переводила наш config из формата eep или bin в формат S19, добавляя S10F0000 в начало строки данных и считая контрольную сумму, дописанную в конец строки. Давайте посмотрим на один и тот же файл в разных форматах
7375b1d140cf1ab05972ee8c0ed9e53a20170918125010.jpg

SW + config

Это один и тот же файл только показанный в разных форматах, как видно, ничего сложного в том чтобы выявить закономерность, но как мы знаем полная прошивка микроконтроллера (см. Урок 1) состоит не только из конфигурационных данных, но и из основной прошивки, данные которой и дописывает конвертер S19 в начало и конец config, поэтому на выходе мы получаем файл гораздо большего размера (около 150 кб по сравнение с 6-8 изначальным размером).
f9b97f55d8a5c2df02566a7cb6067d5f20170918125041.jpg
Вопросы 2
Для того чтобы задать вопрос нужно войти или зарегистрироваться
2
21693 5 июля 2022
Все отлично, хотелось бы побольше.
5
5013 14 сентября 2022
картинка не грузится а так понятно
Содержание урока
Контрольный вопрос
Какое расширение прошивки применяется в процессорах Freescale?
Для доступа нужно
Авторизиция
Еще не зарегистрированы? Зарегистрироваться