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

  • Автор темы Jovani
J

Jovani

Команда форума
  • 16 Сен 2005
Конвертирование прошивок
  • - Мой программатор понимает только BIN и HEX , а я скачал прошивку, а она в каком-то формате E2P. Как сделать эту прошивку в HEX или BIN ?
Так, как меня задолбали подобными вопросами по E-mail, обьясняю тут основы, что-бы было куда ткнуть носом. Сперва вкратце, потом, буду дополнять, если будет необходимость.

Не буду вдаваться в подробности, почему родилось много различных форматов для хранения дампов памяти (прошивок), скажу только, что все файлы прошивок, изначально, делятся на текстовые и бинарные.
Текстовые - файл содержит только печатные символы ASCII (коды от 32h до FFh)
Бинарные - файл содержит все символы ASCII, включая непечатные (коды от 00h до FFh)

Скажу сразу - не надейтесь на расширение файла.
По причине незнания, могут присвоить любое - EEP, DAT, MEM, NVM, HEX, и тд.

Сперва, определитесь, в каком реально, формате, ваш файл. Для наглядности, будем открывать файл в блокноте, не надеясь на то, что файлу присвоено правильное расширение. Совет - всегда проверяйте размер файла и обзаведитесь нормальным HEX-редактором и используйте его. Простейший редактор я приатачил.

Для примера, один и тот-же файл прошивки, я переконвертировал в четыре различных формата: HEX, BIN, E2P, TXT.
Далее, кратко рассмотрим основные отличия этих форматов.

Краткое описание форматов

Текстовые:

HEX (шестнадцатеричный)
Универсальный формат, понимает большинство программаторов.
Новая строка начинается с двоеточия, далее адрес, ....
  • [*:295134b91a]Описание форматов HEX-файлов

    HEX Файл - текстовый файл определённой структуры

    Файл состоит из текстовых строк следущеюго формата. Все числа в HEX
    Hачинается с ':'. Далее 2 символа - число байт данных.
    4 символа - начальный адрес данных( адрес первого байта строки ).
    2 символа - если последняя строка здесь '01' иначе '00'
    Далее байты данных по 2 символа на байт. В конце 2 символа - контрольная сумма - дополнение до 2 суммы байтов данных

    Вот пример данных в hex-формате:

    :100AF00022AB12E1C9F5D56FE60F677DE6F01F1F47

    А вот разбивка по полям:

    :LLOOOOSSD0D1D2D3D4D5D6D7D8D9DaDbDcDdDeDfCS

    Здесь (все числа - шестнадцатеричные):

    LL - число байт, упакованных в данной строке
    OOOO - смещение байта D0 в двоичном образе
    SS - тип записи (00 - данные, 01 - конец файла)
    D0-Df - шестнадцатеричное представление очередных LL байт данных.
    СS - контрольная сумма - сумма всех байт в строке должна быть равна 0.

    Так отмечается конец файла:

    :00000001FF

    Интересно, что этим кодом можно передавать двоичные данные даже по телеграфу.

    В HEX-файлах для PIC-ов данные распределены следующим образом:

    0000h - 3FFFh: Program memory - память програм
    4000h - 400Fh: Config memory - область памяти в которой содержится
    4000h - 400Dh: идентификатор пользователя (любая информация)
    400Eh: идентификатор производителя (для каждого чипа свой) - поле "ID"
    4000F: конфигурационное слово (тип генератора, защита от записи и др.) - поле "Config"
    4200h - 43FFh: Data memory - память данных

TXT (текстовый)
Излюбленный формат корейцев для хранения дампа.
Почти что HEX, но без указания адресов.
То есть, просто, шестнадцатеричное представление данных в текстовом виде. Без всяких контрольных сумм, адресов, и тд.


Бинарные:

BIN (бинарный)
Универсальный формат, понимается фактически всеми программаторами.
На мой взгляд, наиболее оптимален для хранения дампов.
Cобственно содержит те-же коды, что и в памяти. Соответственно, размер файла, равен размеру памяти.


E2P (бинарный)
Изобретение от Pony, тот-же BIN, но в начало файла, добавлена "шапка" 152 байта.
Всегда есть сигнатура - E2P!Lanc


Теперь по конвертированию:

BIN <-> HEX
Програмки прилагаются. Для конвертирования удобно накидывать файл, мышкой, на программу.

TXT <-> BIN
Оригинальная програмка прилагается. В свое время, долго искал подобную.

E2P -> BIN
В любом шестнадцатеричном редакторе, удаляете первые 152 байта.

Это основные форматы, и для большинства Мастеров, все это известно.
Об "эксклюзивных", и некоторых тонкостях, разьясню позже (если будет время).
Ну, а кому не лень, и есть желание, может продолжить тему ...

HEDIT.rar
BIN2TXT.rar
BIN2HEX.rar
 
  • Like
Реакции: LEON_D и 1андрей11
J

Jovani

Команда форума
  • 16 Сен 2005
Не знаю, насколько продолжение темы актуально, ведь многие, не утруждают себя, и просто ограничиваются элементарным скачиванием прошивки с сайта или запросом ее в форуме. Но, пока есть время, продолжаю ...

Далее к теме, наглядный пример, как из "нестандартного" дампа прошивки, создать стандартный файл.
Возьмем, к примеру VESTEL на базе которого производится множество стандартных шасси, и на сайте поддержки которого, находится огромное количество прошивок под всевозможные модели и их модификации.

Как зайти к ним на сайт без доступа, я описывать не буду, это другая тема. Поговорим о дампе.
Скачиваем файл, например для TV RTV 3716 TXT(AK36) и описание к нему.
Открываем в текстовом редакторе, и видим картину:



Из информации в предыдущем сообщении, делаем выводы:
- файл текстовый
- нестандартный формат
- почти TXT, только добавлена шапка, типа заголовка и строка начинается с адреса

Задача: вырезать необходимый нам текстовый блок и затем, переконвертировать его в BIN.
Реализуется: программой UltraEdit-32.

Эта программа, позволяет работать в "Column Mode", то есть выделять, копировать и вставлять блоки в колонках. UltraEdit установлен у меня стандартным редактором текста. Кстати, он может работать и в режиме "HEX Mode".
Итак, выделям и копируем блок нужного текста:


Вставляем скопированный блок в новый созданный файл:


Сохраняем полученный текстовый файл, который далее, мы можем сконвертировать например в BIN, программой BIN2TXT.
Конвертируем, и результат в виде BIN-файла, готов.
Затраты времени - 2 минуты.
 
  • Like
Реакции: LEON_D и 1андрей11

Что это ? Неисправность Прошивки Схемы Справочники Маркировка Корпуса Программаторы Аббревиатуры Частые вопросы Ссылки дня

  • Это информационный блок по ремонту

    Содержит основные технические рекомендации и советы поиска по разделам сайта необходимые для ремонта - принципиальные схемы, файлы прошивок, программ, маркировку компонентов, ссылки на базы данных. Обратите внимание и на другие темы где расположены советы и секреты мастеров, измерения, принцип работы и методы диагностики. Предназначен для тех, кто случайно попал на эту страницу, периодически обновляется и отображается только гостям.
  • Вопросы по ремонту

    Вопросы по Конвертирование прошивок Если у вас есть вопрос по ремонту и определении дефекта, Вы должны создать свою, новую тему в форуме. По этой теме уже рассмотрены следующие неисправности:

    • не включается
    • прошивка
    • перезагружается
    • замена;
    • мигает;
    • цена;
    • купить;
  • Прошивки в разделах:

    Прошивки телевизоров TOSHIBA
  • Package (корпус) - вид корпуса электронного компонента

    SOT-89 - пластковый корпус для поверхностного монтажа
    SOT-23 - миниатюрный пластиковый корпус для поверхностного монтажа
    TO-220 - корпус для монтажа (пайки) в отверстия
    SOP (SOIC, SO, TSSOP) - миниатюрные корпуса для поверхностного монтажа
  • Programmer (программатор) - устройство для записи (считывания) информации в память или другое устройство

    Ниже список некоторых программаторов:
    Postal-2,3 - универсальный программатор по протоколам I2C, SPI, MW, IСSP и UART. Подробно - Postal - сборка, настройка
    TL866 (TL866A, TL866CS) - универсальный программатор через USB интерфейс
    RT809H - универсальный программатор EMMC-Nand, FLASH EEPROM через интерфейсы ICSP, I2C, UART, JTAG
    CH341A - самый дешевый (не дорогой) универсальный программатор через USB интерфейс
  • Краткие сокращения

    DIP (Dual In Package) – корпус с двухрядным расположением контактов для монтажа в отверстия
    AC (Alternating Current) - Переменный ток
    DC (Direct Current) – Постоянный ток
    FM (Frequency Modulation) - Частотная модуляция (ЧМ)
    AFC (Automatic Frequency Control) - Автоматическое управление частотой
  • Частые вопросы

    Как мне дополнить свой вопрос по теме Конвертирование прошивок?

    После регистрации аккаунта на сайте Вы сможете опубликовать свой вопрос или отвечать в существующих темах. Участие абсолютно бесплатное.

    Кто отвечает в форуме на вопросы ?

    Ответ в тему Конвертирование прошивок как и все другие советы публикуются всем сообществом. Большинство участников это профессиональные мастера по ремонту и специалисты в области электроники.

    Как найти нужную информацию по форуму ?

    Возможность поиска по всему сайту и файловому архиву появится после регистрации. В верхнем правом углу будет отображаться форма поиска по сайту.

    По каким еще маркам можно спросить ?

    По любым. Наиболее частые ответы по популярным брэндам - LG, Samsung, Philips, Toshiba, Sony, Panasonic, Xiaomi, Sharp, JVC, DEXP, TCL, Hisense, и многие другие в том числе китайские модели.

    Какие еще файлы я смогу здесь скачать ?

    При активном участии в форуме Вам будут доступны дополнительные файлы и разделы, которые не отображаются гостям - схемы, прошивки, справочники, методы и секреты ремонта, типовые неисправности, сервисная информация.

S

SMV

  • 17 Сен 2005
Не проше ли пользоваться одной программой WinHEX и редактор и конвертор
 
J

Jovani

Команда форума
  • 17 Сен 2005
SMV, К сожалению, универсальной программы нет.
WinHex хороший редактор, но заточен под бинарные файлы.
Попробуй-ка в WinHex-е вырезать колонку из текстового файла ...

Как уже сообщал, в этом плане, мне нравится UltraEdit, который может работать как в текстовом режиме, так и в hex, кроме того, возможность использования в нем регулярных выражений(программеры знают что это), делает его мощнейшим инструментом в умелых руках.
 
  • Like
Реакции: LEON_D
M

marktk

  • 21 Янв 2006
Самое простое это использовать тот же ПОНИ программатор.
Загрузить в него можно в любом из следующих форматов. .e2p,hex,bin,csm,rom,eep !
а преобразовать в любой из этих же посредтством SAVE AS:
 
J

Jovani

Команда форума
  • 21 Янв 2006
marktk сказал(а):
Самое простое это использовать тот же ПОНИ программатор
ПОНИ ориентируется не на формат, а на расширение файла.
Нужно понимать, что расширение файла и формат - это разные вещи !
Тем не менее, способ верный. И в ряде случаев, поможет в конвертировании.
 
  • Like
Реакции: LEON_D
J

Jovani

Команда форума
  • 21 Янв 2006
Формат S19
Хочу обратить внимание на один текстовый формат, который может использоваться в дампах прошивок.
Это, формат S19 от Motorola.

Описывать его здесь, не смысла, в инете найдете все.
Для быстрого определения, скажу только, что все строки начинаются с символа S.
Ковертор прилагаю.

S19 to BIN to S19 convert.rar
 
  • Like
Реакции: LEON_D
J

Jovani

Команда форума
  • 6 Ноя 2006
Некоторые спрашивают:
- как переконвертировать прошивки с расширением PRJ, в что-то более стандартное - HEX или BIN

Наибольшая вероятность, что прошивка с расширением PRJ, от программатора PG4UW, если в файле просматривается сигнатура PG4UW. Ну, а PRJ - сокращенно от Project. Это чисто изобретение и наследство от ELNEC-программатора  ссылка скрыта от гостей 

Сконвертировать можно двумя способами:
1 - Скачать софт от программатора, загрузить него этот несчастный PRJ, после, сохранить в BIN.
2 - С помощью HEX-редактора:
То есть:
- открываем PRJ в HEX-редакторе

- ищем ASCII последовательность: [_END_] Далее идет код перевод строки, возврат каретки, 00h (c начала файла). То есть, последовательность 5B 5F 45 4E 44 5F 5D 0D 0A 00

- ищем ASCII последовательность Author(с конца файла). То есть, последовательность 41 75 74 68 6F 72

Все, что между этим кодом - прошивка в BIN.
Проконтролируйте размер файла!
И еще, не маловажно: PRJ - может содержать только настроечные параметры. То есть, не иметь в себе прошивки.

На рисунке, выделенное синим цветом, и есть прошивка в BIN.

 
  • Like
Реакции: LEON_D
N

Nighter

  • 27 Ноя 2007
хотелось бы добавить по поводу формата .еер. В этом формате большинство прошивок на стиральные машины и другую бытовую технику. Когда его загружаешь в Ponyprog то в текстовом окошке видно ,что каждые два байта поменяны местами. Чтобы привести в Ponyprog эту прошивку к виду, необходимому для записи, нужно зайти в опцию утилиты,далее
кликнуть byte swap. И еще для работы с разными файлами существует программа Hex Workshop 4.2 :)
Удачных ремонтов!
 
  • Like
Реакции: LEON_D
K

key-s

  • 22 Фев 2008
Перевёл на русский язык программу-редактор HEdit 2.1, что выше выложил Jovani как HEDIT. Полностью русифицирована. Если заметите неточности в переводе - пишите в личку.

HEdit 2.1_ru.rar
 
  • Like
Реакции: LEON_D
K

key-s

  • 21 Мар 2009
Бонусный топик для телемастеров.

Если на вашем компе файлы прошивок: BIN, E2P, HEX не привязаны к какому-либо приложению, например HEX-редактору, и соответственно у них нет своих иконок, а по-дефолту У ВСЕХ стоит стандартный значок Windows "не опознала", то, чтобы быстро, сразу, наглядно, в том числе и в окнах программ и архивов, распозновать файлы прошивок - можно самому задать свои иконки для каждого расширения. Я позволил себе сделать за вас иконки этих трех, самых ходовых для телемастера, файлов прошивок.

Для тех кто слабо представляет как сменить иконки, объясняю на примере ОС Windows XP:

-Скачиваете прицепленный файл и разархивируете его в папку "dump icons".
-Открываете: "Мой компьютер" > Локальный диск C:\
-Копируете все файлы иконок из папки "dump icons" на диск "C:\".
-Вверху окна проводника диска "C:\" нажимаете: "Сервис" > "Свойства папки..." > "Типы файлов". После недолгого анализа винда выдаст все типы зарегиных на вашем компе файлов.
-Нажимаете: "Создать" и в появившемся поле, верхним регистром, т.е. крупными буквами, пишете нужное расширение. Например: BIN
-Нажимаете OK. Теперь в списке будет "Файл BIN". Выбираете его в списке одним кликом, нажимаете: "Дополнительно" > "Сменить значок..." > "Обзор...". Находите на диске "C:\" наши значки и, конкретно для файлов "BIN", выбираете нужный. На нашем примере это icon_BIN. Подтвеждаете всё кнопками "OK".
-Повторяете процедуру для двух остальных расширений E2P и HEX, с выбором соответствующих иконок... Перезагружать комп не требуется, всё должно привязаться сразу...

По идее, всё закончено. Но в заключении, нужно спрятать исходники иконок на диске "C:\". Это делается просто.
-Выделяете все наши иконки и (или на каждой иконку в отдельности) правой мышкой выбираете "Свойства". Ставите галочку в поле "Скрытый", жмете "Применить" > "OK". Теперь иконки не будут мазолить глаза на диске и вы не удалите их случайно или по неосторожности.



dump icons.rar
 
  • Like
Реакции: LEON_D
Ю

Юрий М

  • 16 Мар 2011
- Мой программатор понимает только BIN и HEX , а я скачал прошивку, а она в каком-то формате E2P. Как сделать эту прошивку в HEX или BIN ?
я беру к примеру PonyProg устанавливаю программу, открываю файл и тутже сохраняю с нужным мне расширением
 
  • Like
Реакции: LEON_D
V

VernerFonBraun

  • 4 Ноя 2011
Хочу представить утилиту Elinv Firmware Patcher, версия 0.5 Beta. Версия, хоть экспериментальная, но вполне рабочая, с ее помощью можно патчить небольшие прошивки, в основном она предназначенные для работы с прошивками под память 24xx, 93xx. Утилита особенно полезна для принтеров, стиральных машин АТЛАНТ, мониторов (для DDC), т.к. для этих устройств не требуется менять все данные в памяти.

Программа загружает прошивки форматов:
  • Binary (*.bin),
    Intel Hex Standart (*.hex),
    АТЛАНТ/VESTEL (*.i2c).
Экспортирует в форматы:
  • Intel Hex Standart (*.hex),
    Motorola S19 (*.mot).


Внешний вид интерфейса программы Elinv Firmware Patcher.

Утилита написана на Java и работает на любой ОС. Для этого вам понадобится установить JRE 1.5 или свежее. Пакет джавы бесплатный, легко ставится, можете скачать от производителя  ссылка скрыта от гостей .

Утилита работает с редким форматом прошивок *.i2c, который может быть неполным (как в заводстких прошивках АТЛАНТ). Проблема в том, что в сервисе попадаются редкие случаи сбоя прошивок, когда нельзя достать новую прошивку или она неполная или вам просто надо перепрограммировать только поврежденные байты. Оказалось, что это сделать невозможно, т.к. софт от большинства популярных программаторов начинает записывать память с нулевого адреса и до конца, также по этому случаю нет ни одного “смесителя” прошивок. Примером могут служить заводские прошивки для АТЛАНТ, которые имеют ненулевой начальный адрес. Такая же ситуация с прошивками картриджей принтеров, часть данных которых, должны оставаться нетронутыми или даже с DDC-данными мониторов. Если вам не нужно изменять все данные памяти, то пожалуй, эта утилита вам пригодится.

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

Программа совершенно бесплатна (Freeware). В ОС Windows для запуска программы достаточно дважды щелкнуть по файлу ElinvPatcher.jar как обычный EXE-файл.

Программа Elinv Firmware Patcher 0.5b в архиве.
 
  • Like
Реакции: LEON_D
G

Guk

  • 9 Окт 2013
Попробовал выложенный выше конвертор:
S19 to BIN to S19 convert.rar 97,07 КБ Скачано: 2734 раз(а)

Взял дамп bin(2кВ)>переконвертировал этой прогой в S19>этот S19 переконвертировал обратно в bin>исходный дамп bin сравнил c получившимся bin>дампы практически не совпали...Пробовал на Windows XP.На файле проги конвертора написано"MFC Application".Объясните, в чем фишка данной проги или она не под Windows XP?
 
X

xtrigger

  • 5 Янв 2015
Jovani сказал(а):
E2P -> BIN
В любом шестнадцатеричном редакторе, удаляете первые 152 байта.
Не знаю в чем прикол, пришлось мне столкнуться с прошивкой картриджа в e2p.
Отрезал 152 не работает.
Сравнил с бекапом, понял что надо отрезать 151 байт, отрезал, заработало.
Препарировал прошивку в WinHex.
 
V

Varnava

  • 16 Мар 2017
xtrigger сказал(а):
понял что надо отрезать 151 байт
Уверен? При счете с 0 было отрезано 152 байта.
 

Верх Низ