Hex to bin windows

Hex2bin 2.5

Completely clean of adware/spyware components

100% FREE award granted by Softpedia

This tool is used for converting hexadecimal files (either Motorola or Intel format) into a binary file. It’s a command line tool with basic capabilities.

Hex2bin/mot2bin Features

It can handle the extended Intel hex format in segmented and linear address modes. Records need not be sorted and there can be gaps between records. Holes/unused bytes can be specified as any other value than FF. A checksum can be inserted into the binary file.

The source files can be easily compiled for Windows, either by using CodeBlocks + MinGW GCC or Microsoft Visual Studio (or Express). For convenience, the distributed file contains the 64-bit executables for Windows already.

License

Hex2bin and mot2bin are released with a BSD license.

Usage

Options are case sensitive and options with parameters need a space between option and parameter. I.e. -s 0000 instead of -s0000.

A successful execution exits with the error code = 0, If any error occurs, the program exits immediately with the error code = 1.

All values are in hexadecimal, no 0x needed: ex. not 0x0100 but 0100.

Batch/script mode

Normally, if the specified hex file doesn’t exist, hex2bin/mot2bin ask repeatedly for a valid filename. A batch/script mode option is provided for exiting with an error instead of asking for a file.

hex2bin -b xxxx.hex

If the file xxxx.hex doesn’t exist, the program exits immediately with the error code = 1.

Checksum of source file

By default, it ignores checksum errors, so that someone can change by hand some bytes allowing quick and dirty changes.

If you want checksum error reporting, specify the option -c.

hex2bin -c example.hex

If there is a checksum error somewhere, the program will continue the conversion anyway. For convenience,

hex2bin/mot2bin displays the expected checksum at each faulty records.

Extension for output file

By default, the extension will be .bin . Another value can be specified.

hex2bin -e com example.hex

A file example.com will be generated.

Padding byte

By default, unused locations will be filled with FF. Another value can be specified.

hex2bin -p AA example.hex

Starting Address and Length

If the lowest address isn’t 0000, ex: 0100: (the first record begins with :nn010000xxx ) there will be problems when using the binary file to program a EPROM since the first byte supposed to be at 0100 is stored in the binary file at 0000.

you can specify the binary file’s starting address on the command line:

hex2bin -s 0000 start_at_0100.hex

The bytes will be stored in the binary file with a padding from 0000 to the lowest address minus 1 (00FF in this case).

Similarly, the binary file can be padded up to Length -1 with FF or another byte.

Here, the space between the last byte and 07FF will be filled with FF.

hex2bin -l 0800 ends_before_07FF.hex

EPROM, EEPROM and Flash memories contain all FF when erased.

When the source file name is for-example.test.hex the binary created will have the name for-example.bin

the «.test» part will be dropped.

Hex2bin/mot2bin assume the source file doesn’t contain overlapping records, if so, overlaps will be reported.

Minimum Block Size

The output file size will be a multiple of Minimum block size. It will be filled with FF or the specified pattern.

Length must be a power of 2 in hexadecimal [see -l option].

Attention this option is STRONGER than Maximal Length.

hex2bin -m [size] example.hex

Checksum or CRC inserted inside binary file

A checksum value can be inserted in the resulting binary file.

hex2bin -k 1 -E [0|1] -r [start] [end] -f [address] [value]

-k Select checksum type:

0 = 8-bit checksum

1 = 16-bit checksum (adds 16-bit words into a 16-bit sum, data and result BE or LE)

5 = 16-bit checksum (adds bytes into a 16-bit sum, result BE or LE)

-E Endianness of result to store

0 = little endian

-r Range to compute checksum or CRC over (default is min and max addresses)

-f Address of checksum or CRC to write

-d Displays the list of checksum types and exits

Value inserted directly inside binary file

A value can be inserted directly (forced) in the resulting binary file.

hex2bin -k [0|1|2] -E [0|1] -F [address] [value]

-k Select value length type:

0 = little endian

-F Address and value checksum to write

Support for byte-swapped hex/S19 files

Some compilers such as Microchip’s MPLAB IDE can generate byte swapped hex files.

hex2bin -w test-byte-swap.hex

-w Wordwise swap: for each pair of bytes, exchange the low and high part.

Support for word sized hex files (hex2bin only)

Hex with record type, where data is represented in Word (2 Byte)

e.g Texas Instruments: TMS320F2835, TMS320F28065.

hex2bin -a example-ti.hex

-a Address Alignment Word.

Filter for records within range

Records outside that range are discarded

Hex2bin -t 0110 -T 0256 example.hex

Читайте также:  Слайд шоу для mac os

-t Floor address

-T Ceiling address

Status

Hex2bin and mot2bin are in production status. It is working well for many small applications.

While I’m now working on other projects, hex2bin and mot2bin are still open for patches, feature request etc. Submit them here.

Similar tools

SRecord has many more features and support many other formats.

Download

The source file contains a version compiled for 64-bit windows.

Лучшие Hex редакторы, калькуляторы и конвертеры

У людей сложилось мнение, что работать с hex редакторами могут лишь профессионалы своего дела и программисты, а для обывателя это нечто ненужное и непонятное. На деле же это удобный инструмент, который определённо пригодится геймерам и простым пользователям, если необходимо устранить ошибку или баг в утилите. По своей сути – редактор является декодером 16-ричного кода. Мы с вами пользуемся для написания чисел 10-ричным, машина для кодирования всей информации использует 2-ичный код, а затем это всё конвертируется в 16-ричный, чтобы пользователю было проще разбираться. На деле редакторы скорее нужны именно новичкам, ведь профессионалы используют мультифункциональные утилиты с возможностью применения сразу нескольких парадигм, если те необходимы им для программирования. Давайте разберёмся, какие калькуляторы и конверторы лучше всего выбирать.

Hex Editor Neo

Простейший и самый популярный hex редактор в мире, притом с возможностью конвертации кода в другие системы кодировки, а также чтения бинарных файлов системы. Весь функционал Hex Editor Neo заключается в открытие файлов, произведение некоторых изменений и сохранение в том же или другом формате, по желанию пользователя. Однако присутствует одно удобство – история изменений, сохраняющаяся даже после закрытия утилиты. Таки, и не придётся вновь доходить до каких-то своих решений. Они будут м образом, вы можете завтра вернуться к той части кода, что сегодня не успели завершить прямо перед вами на экране. Такой Хекс редактор удобен новичкам и профессионалам.

HxD Hex Editor

Бесплатный, но всё ещё достаточно мощный редактор для бинарных файлов поддерживающий основные кодировки, вроде ANSI или ASCII, зачастую используется как дополнение к более функциональным калькуляторам и конверторам. Воспринимает файлы без ограничения размеров, а главное – позволяет изменять оперативную память, сразу же записывая любые нововведения на жёсткий диск. А удобный и эргономичный интерфейс, продуманный создателями, лишний раз упрощает работу пользователя. В HxD Hex Editor нет классического нагромождения инструментов и всё устроено за счёт простой системы шторок, уже за это можно скачать hex редактор.

Hex Workshop

Один из простых редакторов, подходящих для компьютеров с любым железом. Именно его небольшая требовательность к ресурсам системы и удобный интерфейс, пусть и с некоторым наплывом объектного дизайна Майкрософт начала 2000-х, сделала программу столь популярной в качестве переносного редактора. Если вам необходимо подгрузить утилиту на флешку, а затем уже на месте разобраться с проблемой в коде, то лучшего решения просто не найти, ведь приложение имеет в том числе и портативную версию с ещё меньшими системными требованиями. А также имеется мобильная версия, и вы можете hex workshop скачать прямо на свой смартфон.

WinHex

Данный hex редактор условно-бесплатен, что значит, за основную часть функционала вам придётся заплатить. Однако, базовое редактирование файлов нескольких форматов и конвертирование из одной системы кодировки в другую – доступны без оплаты. Что позволяет опробовать все прелести редактора абсолютно бесплатно, а уже затем решить, покупать ли его. Основное преимущество – сборная солянка функционала, настолько богатой среды для работы вы больше нигде не найдёте.

HexCmp

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

Hex редактор онлайн

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

Конвертер Hex в DEC, BIN и наоборот

В качестве конвертера hex to dec, hex to bin подойдёт любая из вышеописанных утилит. Достаточно загрузить в них файл и выбрать пункт «сохранить как», а там подобрать подходящий формат, и утилита сама преобразует все данные в нужное расширение, после чего вы сможете открыть файл уже подходящего типа.

Также есть и специализированное решение:

Конвертер Hex в ASCII Text

Конвертер hex to text или его ещё называют hex decoder необходим для перевода 16-ричного кода в нормальный текст, и зачастую используется лишь новичками, так как профессионалы применяют утилиты с параллельным переводом. Подобный функционал имеется во всех описанных выше продуктах.

Hex калькулятор онлайн

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

Вывод

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

Intel HEX to BINARY File Converter Utility

This utility program creates a BINARY file from an Intel HEX file. You can use BINARY files with most EPROM programmers and you can easily use them for CRC or checksum calculations. Options for this utility program are listed below:

Note: This utility program is a DOS application! It requires 8.3 naming convention for file names and paths and it does not run on 64Bit Windows versions. However, you can execute it in the XP mode (Virtual PC) of Windows 7 if necessary.

The utility srec_cat.exe is an excellent and more versatile replacement for HEX2BIN and BIN2HEX. This tool is part of the SRecord project hosted on sourceforge.net. You can download it from https://sourceforge.net/projects/srecord/files/srecord-win32.

Читайте также:  Как узнать свои параметры компьютера windows 10

Please see the following knowledgebase articles how HEX and BINARY files can be converted, merged and split using the srec_cat utility together with Keil microcontroller development tools.

Products

Development Tools
Hardware & Collateral

Downloads

Support

Contact

Copyright © 2005-2019 Arm Limited (or its affiliates). All rights reserved.

Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.

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

Jovani

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

  • — Мой программатор понимает только 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-формате:

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

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

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

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

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

В 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 байта.

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

Jovani

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

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

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

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

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

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

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

Читайте также:  Тез для чего он linux

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

Jovani

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

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

marktk

Jovani

Jovani

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

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

Jovani

Некоторые спрашивают:
— как переконвертировать прошивки с расширением 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.

Nighter

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

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

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

Юрий М

VernerFonBraun

Хочу представить утилиту 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-данными мониторов. Если вам не нужно изменять все данные памяти, то пожалуй, эта утилита вам пригодится.

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

Оцените статью