Отредактировать HEX

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Аватара пользователя
serge_m
Мучитель микросхем
Сообщения: 473
Зарегистрирован: Сб окт 22, 2011 23:57:41
Откуда: Харків, Україна!

Отредактировать HEX

Сообщение serge_m »

Всем привет.
Нужно отредактировать HEX файл, а точнее данные для записи в EEPROM.
Исходные данные: PIC16F628A, программатор K150, утилита его родная.
Проблема в том, что после редактирования и сохраниния утилита для прошивки микроконтроллера при попытке открыть отредактированный руками HEX ругается на чексумму и не хочет с ним работать. Если открыть оригинальный HEX, отредактировать прямо в утилите и зашить - всё ок. Сохранение отредактированного в утилите происходит с косяком - в EEPROM всё в FF
HEX редактировал разными редакторами - результат один.
Хотел из прошитого таким образом микроконтроллера считать прошивку и сохранить - в EEPROM всё в FF. Но это скорее проблемы программатора и софта к нему.
Больше интересует информация как редактором отредактировать хекс что-бы потом при открытиии не ругалось на чексумму.
Может кто сталкивался...
Если уже обсуждалось/решалось - ткните носом пожалуйста, сам не нашёл.
Реклама
Аватара пользователя
blackx
Говорящий с текстолитом
Сообщения: 1518
Зарегистрирован: Пт дек 28, 2012 21:56:46
Откуда: St. Petersburg

Re: Отредактировать HEX

Сообщение blackx »

http://ru.wikipedia.org/wiki/Intel_HEX писал(а):Последний байт в записи является контрольной суммой. Рассчитывается так чтобы сумма всех байтов в записи была равна 0.
Пример:

Код: Выделить всё

:100110002146017EB7C20001FF5F16002148011988
Чтобы посчитать контрольную сумму, берете большое число, кратное 256 (FF), и отнимаете от него каждый байт кроме последнего (это текущая контрольная сумма, неправильная). Число нужно брать таким, чтобы в минус не уйти (так просто не запутаетесь).
Полученное число переводите в десятичный формат и в гугле вбиваете чтобы посчитался остаток от деления:
X % 256, где X - остаток после всех вычитаний.
Этот остаток будет от 0 до 255 включительно. Переводите его в шестнадцатеричный формат и готово.
Изображение only pure true norwegian blackx Изображение
Реклама
Аватара пользователя
serge_m
Мучитель микросхем
Сообщения: 473
Зарегистрирован: Сб окт 22, 2011 23:57:41
Откуда: Харків, Україна!

Re: Отредактировать HEX

Сообщение serge_m »

Понял, спасибо большое!
Интересно почему хекс редакторы не делают это автоматически?
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: Отредактировать HEX

Сообщение otest »

Загрузи в IC-Prog отредактируй и сохрани или выложи сюда я сделаю.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
blackx
Говорящий с текстолитом
Сообщения: 1518
Зарегистрирован: Пт дек 28, 2012 21:56:46
Откуда: St. Petersburg

Re: Отредактировать HEX

Сообщение blackx »

serge_m писал(а):Интересно почему хекс редакторы не делают это автоматически?
Хекс редакторы позволяют непосредственно редактировать файлы в бинарном режиме. А Intel HEX - это текстовый формат хранения бинарных данных. Он позволяет читать и редактировать эти данные в обычном текстовом редакторе, так как они хранятся в виде ASCII-символов.

Наверняка просто есть специальные утилиты для редактирования файлов в этом формате. Поищите в гугле по запросу "intel hex editor".
Изображение only pure true norwegian blackx Изображение
Реклама
Аватара пользователя
serge_m
Мучитель микросхем
Сообщения: 473
Зарегистрирован: Сб окт 22, 2011 23:57:41
Откуда: Харків, Україна!

Re: Отредактировать HEX

Сообщение serge_m »

otest писал(а):Загрузи в IC-Prog отредактируй и сохрани или выложи сюда я сделаю.
Прошивки не секрет - они общедоступны, но мне гораздо интересней победить это самому. Причём в первую очередь разобраться вручную, потом уже найти походящую утилиту которая после редактирования хекса автоматически пересчитает и измение последний байт в изменённых строках. IC-prog кажется тоже пробовал, но не уверен.
Спасибо, попробую ещё раз вопрользоваться IC-prog.
blackx писал(а):
serge_m писал(а):Интересно почему хекс редакторы не делают это автоматически?
Хекс редакторы позволяют непосредственно редактировать файлы в бинарном режиме. А Intel HEX - это текстовый формат хранения бинарных данных. Он позволяет читать и редактировать эти данные в обычном текстовом редакторе, так как они хранятся в виде ASCII-символов.

Наверняка просто есть специальные утилиты для редактирования файлов в этом формате. Поищите в гугле по запросу "intel hex editor".
Загуглил, похоже таки есть эдиторы подходящие, просто искал без ключевого слова Intel.
Реклама
Аватара пользователя
Dmitry Dubrovenko
Поставщик валерьянки для Кота
Сообщения: 2358
Зарегистрирован: Вс янв 09, 2011 16:51:39
Откуда: Санкт-Ленинград
Контактная информация:

Re: Отредактировать HEX

Сообщение Dmitry Dubrovenko »

serge_m писал(а):попробую ещё раз вопрользоваться IC-prog
Однозначно пробуйте, и не занимайтесь дурью.
А то так можно и программы в машинных кодах писАть. :)))
ICQ нет, и, в ближайшее время, не будет.
Аватара пользователя
serge_m
Мучитель микросхем
Сообщения: 473
Зарегистрирован: Сб окт 22, 2011 23:57:41
Откуда: Харків, Україна!

Re: Отредактировать HEX

Сообщение serge_m »

Попробовал...
Перепробовал несколько Intel hex редакторов, только Galep32 пересчитывает checksum, но и он не ангел - потёр фьюзы.
ICprog показывает хекс в нечитаемом виде. Обновлено: я просто забыл выбрать свой тип процессора. Выбрал тот что нужен - всё нормально отображается.

Всем спасибо, отредактировал с помощью IC-Prog.
Ответить

Вернуться в «Разные вопросы по МК»