Файлы  •  Ссылки  •  Прошивки  •  Правила  •  Архив  •   FAQ  •  Участники  •  Поиск
Регистрация  •  Вход

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

Список форумов » Энциклопедия ремонта » Приборы, измерения
АвторСообщение
Jovani
master-tv.com
master-tv.com





15-09-2005 23:15

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

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

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

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

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

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

Текстовые:

HEX (шестнадцатеричный)
Универсальный формат, понимает большинство программаторов.
Новая строка начинается с двоеточия, далее адрес, ....
  • Описание форматов 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 байта.

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

  BIN2HEX.rar  13,16 КБ  Скачано: 19966 раз(а)
  BIN2TXT.rar  284,42 КБ  Скачано: 15143 раз(а)
  HEDIT.rar  154,4 КБ  Скачано: 13896 раз(а)

Jovani
master-tv.com
master-tv.com





16-09-2005 08:20

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

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

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



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

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

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


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


Сохраняем полученный текстовый файл, который далее, мы можем сконвертировать например в BIN, программой BIN2TXT.
Конвертируем, и результат в виде BIN-файла, готов.
Затраты времени - 2 минуты.
SMV
Участник
Сообщения: 235




17-09-2005 01:13

Не проше ли пользоваться одной программой WinHEX и редактор и конвертор
Jovani
master-tv.com
master-tv.com





17-09-2005 10:55

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

Как уже сообщал, в этом плане, мне нравится UltraEdit, который может работать как в текстовом режиме, так и в hex, кроме того, возможность использования в нем регулярных выражений(программеры знают что это), делает его мощнейшим инструментом в умелых руках.
marktk
Гость 209.250.*.*





21-01-2006 07:09

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





21-01-2006 08:48

marktk писал:
Самое простое это использовать тот же ПОНИ программатор

ПОНИ ориентируется не на формат, а на расширение файла.
Нужно понимать, что расширение файла и формат - это разные вещи !
Тем не менее, способ верный. И в ряде случаев, поможет в конвертировании.
Jovani
master-tv.com
master-tv.com





21-01-2006 18:15

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

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

  S19 to BIN to S19 convert.rar  97,07 КБ  Скачано: 8257 раз(а)

Jovani
master-tv.com
master-tv.com





06-11-2006 10:41

Некоторые спрашивают:
- как переконвертировать прошивки с расширением PRJ, в что-то более стандартное - HEX или BIN

Наибольшая вероятность, что прошивка с расширением PRJ, от программатора PG4UW, если в файле просматривается сигнатура PG4UW. Ну, а PRJ - сокращенно от Project. Это чисто изобретение и наследство от ELNEC-программатора http://www.elnec.com/pg4uw.php

Сконвертировать можно двумя способами:
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.

prj.png



Nighter
Предупреждений: 2
Предупреждений: 2 Предупреждений: 2 
Сообщения: 12




27-11-2007 15:28

хотелось бы добавить по поводу формата .еер. В этом формате большинство прошивок на стиральные машины и другую бытовую технику. Когда его загружаешь в Ponyprog то в текстовом окошке видно ,что каждые два байта поменяны местами. Чтобы привести в Ponyprog эту прошивку к виду, необходимому для записи, нужно зайти в опцию утилиты,далее
кликнуть byte swap. И еще для работы с разными файлами существует программа Hex Workshop 4.2 улыбка
Удачных ремонтов!
key-s
Участник
Сообщения: 4385




22-02-2008 14:15

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

  HEdit 2.1_ru.rar  145,74 КБ  Скачано: 11038 раз(а)

key-s
Участник
Сообщения: 4385




21-03-2009 18:27

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

Если на вашем компе файлы прошивок: 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". Теперь иконки не будут мазолить глаза на диске и вы не удалите их случайно или по неосторожности.

dumps.gif


  dump icons.rar  9,04 КБ  Скачано: 5437 раз(а)

Юрий М
Предупреждений: 1
Предупреждений: 1 
Сообщения: 751




16-03-2011 02:51

Цитата:
- Мой программатор понимает только BIN и HEX , а я скачал прошивку, а она в каком-то формате E2P. Как сделать эту прошивку в HEX или BIN ?

я беру к примеру PonyProg устанавливаю программу, открываю файл и тутже сохраняю с нужным мне расширением
VernerFonBraun
Новичок
Сообщения: 2




04-11-2011 22:56

Хочу представить утилиту 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 или свежее. Пакет джавы бесплатный, легко ставится, можете скачать от производителя http://www.java.com/ru/download/windows_manual.jsp?locale=ru.

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

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

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

  ElinvPatcher.zip  68,2 КБ  Скачано: 4147 раз(а)

Guk
Участник
Сообщения: 1049




09-10-2013 11:33

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

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




05-01-2015 13:06

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

Не знаю в чем прикол, пришлось мне столкнуться с прошивкой картриджа в e2p.
Отрезал 152 не работает.
Сравнил с бекапом, понял что надо отрезать 151 байт, отрезал, заработало.
Препарировал прошивку в WinHex.
Список форумов » Энциклопедия ремонта » Приборы, измерения » Конвертирование прошивок
Перейти:  
Текущий раздел » Энциклопедия ремонта » Приборы, измерения (Приборы, измерения, программаторы)







Электроника
Прошивки и схемы на телевизоры, мониторы, dvd, телефоны. Schematic, Service Manual (mode), eeprom dumps Информация по ремонту для специалистов - справочники, инструкции, энциклопедия, советы и секреты ремонта,  настройка, сервисные режимы поиск и продажа электронных компонентов, магазины, datasheet, pdf, размещение в интернете рекламы на сайтах электронной тематики
Powered by phpBB 2.0.18 © 2001, 2002 phpBB Group!