Исследования hex файла

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Moyo
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Пн май 08, 2006 07:25:21
Откуда: Екатеринбург

Исследования hex файла

Сообщение Moyo »

Вопрос такой. У меня есть hex мне в нем надо изменить несколько кодов, но проблема следующая.
Если рассмотреть любую строку в hex файле полученном той же AvrStudio там видно что первые 8 символов это адрес в памяти, следующие 32 это данные, а последние 2 я подозреваю что это контрольная сумма, но чего, строки в которой стоит этот байт или чегото другого. Т.е. мне надо понять что это за 2 символа, и если это контрольная сумма то как она расчитывается.
Пробовал подсчитать, сложил все 32 символа в строке получил число, отбросил старшие полубайты так чтобы два младших осталось и не совпадает.
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

Она высчитывается сложением по модулю два..
Попробуй сложи все байты данных /в HEX конечно/, а потом прибавь контрольную сумму - должен получится 0...
..
Вот нашёл, посмотри, заодно и меня проверишь.. :) http://www.8052.com/tutintel
Student_X
Родился
Сообщения: 15
Зарегистрирован: Вт июл 07, 2009 14:15:20

Сообщение Student_X »

... проще не извращаться, а перевести в бинарник там подправить, затем перевести обратно в hex. Для конвертации есть пара программ hex2bin и bin2hex.
... какая гадость, эта ваша заливная рыба!
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Сообщение otest »

Вот маленькая прога которая позволяет написать изменить проверить НЕХ.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

у меня на сайте в файловом архиве имеется описание на русском языке формата Intel-HEX - можете найти, скачать, прочесть и тогда все станет понятно.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Moyo
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Пн май 08, 2006 07:25:21
Откуда: Екатеринбург

Сообщение Moyo »

Спасибо всем за ответ. Я нашол как вычислять контрольную сумму.
Пример:

Имеем строку из hex файла.

:1001B00010001A0020001A001E001A001E001A006B


:1001B000 10001A0020001A001E001A001E001A00 6B

первые 4 байта служебные символы нистал подробно их разбирать, следующие 16 байт данные и последний байт контрольная сумма

Произведем расчет контрольной суммы следующим образом.

Суммируем все символы строки по байтно (4 байта служебных и 16 байт данных).

10+01+B0+00+10+00+1A+00+20+00+1A+00+1E+00+1A+00+1E+00+1A+00=0195

инвертируем результат,

0195 Not = FE6A

прибавляем единицу,

FE6A+1=FE6B

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

Сообщение ARV »

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

Мой уютный бложик... заходите!
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»