Из .sre в .bin

 

Что делать, если у вас прошивка в формате .sre, а вам нужный чистый бинарный код, т.е. bin?

 

system_binary

Если вас интересует как преобразовать .sre в .bin, то перелистнете на конец страницы. Информация под чертой содержит пояснение где может пригодиться данное преобразование.

 


Когда может пригодиться чистый бинарный код?

Я сталкивался на своем опыте с двумя ситуациями:

  • Программатор «глупый» и не умеет работать с sre, он требует чистый бинарный файл, без всяких оболочек, как sre
  • И ситуация когда мы не можем прошить ПЗУ, решение данной проблемы «идти в обход», т.е. записать код напрямую в оперативную память (с помощью утилит программатора), а далее из ОЗУ в ПЗУ (с помощью утилит программатора или команд процессора заранее загруженный в ОЗУ). В таком случае если у вас прошивка в формате sre вам необходимо её переформатировать в чистый бинарный код (т.е. в bin) для записи в ОЗУ.

 

Для конвертирования из .sre в .bin я использовал утилиту SREC2BIN (скачать можно здесь, для того, чтобы скачать srec2bin для Windows перейди по ссылке с именем Executable).

 

Приведу пример как конвертировать из sre в bin, с помощью SREC2BIN:

Открываем командную строку (cmd) и далее вводим

Где

  • name_file.bin — имя результирующего bin файла
  • name_file.sre — имя sre файла донора
  • -B — параметр указывающий что размер итого bin файла будет равен 15 килобайт)

У вас должен возникнуть вопрос, откуда я знаю размер bin файла? Да, знать вы его не можете, от вас требуется указать лишь примерное значение, возьмите как пример — размер sre файла донора из которого вы хотите получить свой бинарник.

 

Как только вы нажмете Enter, srec2bin переконвертирует sre и создаст бинарный файл с именем name_file.bin. Но результирующий бинарник нужно еще почистить от пустых мест (0xFF), помните вы указывали размер? Так вот, srec2bin чистый бинарный код прижал к концу файла, а все что выше заполнил 0xFF-ами. Дальше открываете в любом HEX редакторе этот бинарный файл и очищаете от ненужных 0xFF-ов, все что и требовалось…

 

P.S. Если в вашем sre файле бинарный код идет с разрывами (адреса «перескакивают»,  то вам придется резать результирующий bin файл на те же блоки и сохранять каждый в отдельный bin файл, иначе вы загрузите все одним неправильным монолитным куском). Узнать есть ли «разрывы» в sre файле, вы можете с помощью утилиты sre_info (информация ниже).

 

Стоит обратить внимание на следующую программу:

  • SRecord — авторская программа для работы с файлами sre.
    Скачать утилиту можно здесь (для скачивания перейдите в раздел Download, далее выберите ОС, если вам нужна версия под Windows, то спускаетесь до конца страницы (абзац «Pre-compiled Windows Executables») и переходите по ссылке «SourceForge.net download mirrors», далее выбираете версию и качаете).  SRecord это пакет из трех консольных программ:
    srec_cat -для просмотра и конвертирования sre,
    srec_cmp — для сравнение sre,
    srec_info — информация о sre.Утилита sre_info поможет вам оценить как идет бинарный код в файле, сплошной ли он или имеет разрывы.



Буду признателен если вы поделитесь данным постом


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


Ответ в цифрах

 
© s-engineer.ru, 2012-2017 | Все права защищены