Файлы  •  Ссылки  •  Прошивки  •  Правила  •  Архив  •   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 КБ  Скачано: 2413 раз(а)
  BIN2TXT.rar  284,42 КБ  Скачано: 2306 раз(а)
  HEDIT.rar  154,4 КБ  Скачано: 2232 раз(а)

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
Участник
Сообщения: 173




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 КБ  Скачано: 1312 раз(а)

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
Новичок
Сообщения: 11




27-11-2007 15:28

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




22-02-2008 14:15

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

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

Реклама
Показывается для незарегистрированных пользователей


Список форумов » Энциклопедия ремонта » Приборы, измерения » Конвертирование прошивок
Перейти:  
Текущий раздел » Энциклопедия ремонта » Приборы, измерения (Приборы, измерения, программаторы)








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