| Автор | Сообщение |
Jovani master-tv.com 
|
- Мой программатор понимает только 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 
|
Не знаю, насколько продолжение темы актуально, ведь многие, не утруждают себя, и просто ограничиваются элементарным скачиванием прошивки с сайта или запросом ее в форуме. Но, пока есть время, продолжаю ...
Далее к теме, наглядный пример, как из "нестандартного" дампа прошивки, создать стандартный файл.
Возьмем, к примеру VESTEL на базе которого производится множество стандартных шасси, и на сайте поддержки которого, находится огромное количество прошивок под всевозможные модели и их модификации.
Как зайти к ним на сайт без доступа, я описывать не буду, это другая тема. Поговорим о дампе.
Скачиваем файл, например для TV RTV 3716 TXT(AK36) и описание к нему.
Открываем в текстовом редакторе, и видим картину:
Из информации в предыдущем сообщении, делаем выводы:
- файл текстовый
- нестандартный формат
- почти TXT, только добавлена шапка, типа заголовка и строка начинается с адреса
Задача: вырезать необходимый нам текстовый блок и затем, переконвертировать его в BIN.
Реализуется: программой UltraEdit-32.
Эта программа, позволяет работать в "Column Mode", то есть выделять, копировать и вставлять блоки в колонках. UltraEdit установлен у меня стандартным редактором текста. Кстати, он может работать и в режиме "HEX Mode".
Итак, выделям и копируем блок нужного текста:
Вставляем скопированный блок в новый созданный файл:
Сохраняем полученный текстовый файл, который далее, мы можем сконвертировать например в BIN, программой BIN2TXT.
Конвертируем, и результат в виде BIN-файла, готов.
Затраты времени - 2 минуты. |
|
SMV Участник Сообщения: 173
|
Не проше ли пользоваться одной программой WinHEX и редактор и конвертор |
|
Jovani master-tv.com 
|
SMV, К сожалению, универсальной программы нет.
WinHex хороший редактор, но заточен под бинарные файлы.
Попробуй-ка в WinHex-е вырезать колонку из текстового файла ...
Как уже сообщал, в этом плане, мне нравится UltraEdit, который может работать как в текстовом режиме, так и в hex, кроме того, возможность использования в нем регулярных выражений(программеры знают что это), делает его мощнейшим инструментом в умелых руках. |
|
marktk Гость 209.250.*.*
|
Самое простое это использовать тот же ПОНИ программатор.
Загрузить в него можно в любом из следующих форматов. .e2p,hex,bin,csm,rom,eep !
а преобразовать в любой из этих же посредтством SAVE AS: |
|
Jovani master-tv.com 
|
| marktk писал: | | Самое простое это использовать тот же ПОНИ программатор |
ПОНИ ориентируется не на формат, а на расширение файла.
Нужно понимать, что расширение файла и формат - это разные вещи !
Тем не менее, способ верный. И в ряде случаев, поможет в конвертировании. |
|
Jovani master-tv.com 
|
Формат S19
Хочу обратить внимание на один текстовый формат, который может использоваться в дампах прошивок.
Это, формат S19 от Motorola.
Описывать его здесь, не смысла, в инете найдете все.
Для быстрого определения, скажу только, что все строки начинаются с символа S.
Ковертор прилагаю.
S19 to BIN to S19 convert.rar 97,07 КБ Скачано: 1312 раз(а)
|
|
Jovani master-tv.com 
|
Некоторые спрашивают:
- как переконвертировать прошивки с расширением 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.

|
|
Nighter Новичок Сообщения: 11
|
хотелось бы добавить по поводу формата .еер. В этом формате большинство прошивок на стиральные машины и другую бытовую технику. Когда его загружаешь в Ponyprog то в текстовом окошке видно ,что каждые два байта поменяны местами. Чтобы привести в Ponyprog эту прошивку к виду, необходимому для записи, нужно зайти в опцию утилиты,далее
кликнуть byte swap. И еще для работы с разными файлами существует программа Hex Workshop 4.2
Удачных ремонтов! |
|
key-s Участник Сообщения: 1723
|
Перевёл на русский язык программу-редактор HEdit 2.1, что выше выложил Jovani как HEDIT. Полностью русифицирована. Если заметите неточности в переводе - пишите в личку.
HEdit 2.1_ru.rar 145,74 КБ Скачано: 739 раз(а)
|
|
Реклама Показывается для незарегистрированных пользователей |
|
|
Текущий раздел »
Энциклопедия ремонта »
Приборы, измерения (Приборы, измерения, программаторы)
|
|
|