СОФТ: преобразование BIN-HEX и HEX-BIN

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18783
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

накропал утилитку маленькую для конвертирования форматов файлов, возможно, кому-нибудь пригодится.
забирать здесь: https://cloud.mail.ru/public/xwAG/bwRqRcbvN
кратко об особенностях:
- можно задавать количество байтов в строке hex-файла, что удобно для сравнения по содержимому разных файлов
- можно конвертировать в обе стороны одной утилиткой
- можно конвертировать несколько файлов за раз (по маске), причем каждый файл в свою сторону (по расширению)
- не поддерживаются 32-битные записи IntelHex и некоторые другие экзотические, что для радиолюбителя не является преградой

конкретные подробности в файле readme в той же папке

отвечу на вопросы

P.S. подобных утилит море, но написанная своими руками всегда кажется лучше :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 44080
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Сообщение АлександрЛ »

:dont_know:
Вроде бы, софт от любого нормального программатора, позволяет загружать и выгружать прошивки и в формате "*.bin" и в "*.hex"... :dont_know:
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18783
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Ну, да, позволяет. Например, avrdude сохраняет хексы по 32 байта в строке, а компилятор студии - по 16. И сравнить два хекса не так уж и просто. Ну и вообще, телодвижений меньше со спецутилитой.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 15670
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Моя котуина ест хексы с прямым переводом в бин...
А вот назад в комп пока ничего не отсылает...
Все лапки не доходят доработку сделать...
:( :sleep:
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 44080
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Сообщение АлександрЛ »

Вот- загрузил хекс, выгрузил бин..
tahom.zip
(2.84 КБ) 754 скачивания
ПО- от 866 программатора..
То же самое у меня успешно делал Autoprog..
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3791
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Народ, просветите пожалуйста зачем вообще может понадобиться перевод формата загрузочного файла? И в каких случаях возникает необходимость сравнения двух hеx файлов (предназначенных для загрузки в МК)? Сам никогда ничего подобного не делал и не нужно было, поэтому и спросил.
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18783
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Преобразование форматов файлов, как правило, необходимо в 2 случаях: когда ваш софт не понимает имеющийся формат файла или когда вы пытаетесь понять, что не так с этим файлом.
Пример первого - протеус,который отказывается загружать в EEPROM хексы, а компилятор упорно их генерирует.
Примеры второго привести сложнее, т.к. они специфичны. Например, я делал свой загрузчик и разбирался с тем, как там данные проходят. Отладчик показывает бинарные, а исходно они в хексе, постоянно водить глазами по строчками задалбывает...
Как-то так вот...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3791
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Мммда, представмть себе такие ситуации получилось, хоть и не разу в них не был.
Спасибо за разъяснение!
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18783
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Ну или вот еще ситуация: надо сравнить прошивку в МК с только что скомпилированной. Считываем дудкой прошивку, делаем в ТоталКомандере "сравнить по содержимому" двух хексов и видим, что файлы разные: в первом строки в 2 раза длиннее, чем во втором, соответственно, все не совпадает. Но на самом ли деле они разные?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 6335
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

[uquote="ARV",url="/forum/viewtopic.php?p=4252654#p4252654"]делаем в ТоталКомандере "сравнить по содержимому"[/uquote]
Ну если сравнивать только Топтал Командёром...
Лет 30 назад, на заре своего ембеддерства :) я тоже столкнулся с этой проблемой. Пришлось писать свой "сравнивальщик", он кроме 2 сравниваемых массивов создавал ещё третий, Булевый: "вот эти байты актуальны, а эти - так, мусор". Потратил часа полтора. Классов, объектов тогда ещё был не в курсе; так, по рабоче-крестьянски на чистом Си под W98.
Изображение
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18783
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

а чем еще сравнивать? ваша утилита, вероятно, лучше той, что в тоталкомандере, но где она?!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

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

а для утилит, что в тоталкоммандере, вероятно, нужен тс, у меня же, например, Far
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3791
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

ARV писал(а):надо сравнить прошивку в МК с только что скомпилированной
А это зачем нужно? Вижу лишь одну причину - для контроля правильности заливки прошивки. Если так, то как отметил Martian некоторые загрузчики умеют это делать (сам я других и не знаю :dont_know: ), и сравнение нужно лишь для тех, которые это делать не умеют? Или сравнивать возникает надобность ещё в каких-то других ситуациях (каких)?
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18783
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

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

кому незачем, тот не конвертирует, не сравнивает и не понимает ответов тех, кто это делает. а поводов это делать больше одного :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3791
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Хорошо, больше не буду донимать Вас расспросами по этому поводу.
Просто надеялся узнать что-то новое для себя без всякого подвоха, т.е. кто-то знает нечто, чего не знаю я. Но, видимо, был неправильно понят.
Друг Кота
Аватара пользователя
Сообщения: 15670
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Один из вариантов применения был у меня в котуинке.
Программатор ISP для AT89S52 на основе ардуино-нано.
Программатор "одноразового применения" - прошивка БИОС для котуинки.
Сам файл биоса надо было разместить в качестве бинарного массива в ПЗУ адуринки.
Вот и надобность - выходной файл ассемблера 51й превращаем в бинарник с привязкой к особенностям АВРки.
Возможны аналогичные варианты с другими МК.
8)
Друг Кота
Аватара пользователя
Сообщения: 6335
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

[uquote="Ser60",url="/forum/viewtopic.php?p=4252890#p4252890"]А это зачем нужно? Вижу лишь одну причину - для контроля правильности заливки[/uquote]
С этим справляется любой программатор.
А вот другое... Сошлюсь на свой печальный опыт (никогда так не делайте!) . После нахождения и исправления довольно неординарной ошибки поленился (или отвлечён был более важным делом?) и не сделал копию. Комп накрылся неожиданно (они всегда это делают неожиданно :o ), и я остался без работающего искодника. Путём последовательного приближения от последней сохранённой версии к работающему хексу восстановил (и 3 раза скопировал
:)) ) исходник.
Но это было ещё во времена горбачёвщины. Могло быть и не такое...
Изображение
Друг Кота
Аватара пользователя
Сообщения: 3791
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Понял, спасибо за науку.
Открыл глаза
Сообщения: 42
Зарегистрирован: Пт мар 25, 2022 11:58:13

Сообщение Vitek54 »

Как работать с этим конвертертерм в первом посту по шагово объясните пожалуйста, не могу открыть, у меня программатор postal3. Хочу залить атмегу328 а прошивка в hex
Друг Кота
Аватара пользователя
Сообщения: 20112
Зарегистрирован: Чт янв 26, 2012 16:44:29
Откуда: Таксимо

Сообщение vlasovzloy »

Это еше ладно. Есть с переворотом байтов, в стиралках например сталкивался ево2. Например байт 06_F2_42 срхраняешь а он 60_2F_24
Мои поставщики запчастей с отличной репутацией
texnomag.ru
radioremont.com
pl-1.org
4ip.info
elitan.ru
Ответить

Вернуться в «Интеграция с ПК»