| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
hex файл в CodeVisionAVR
23.10.2024, 23:00
|
|
|
Прохожий
Регистрация: 08.01.2008
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
hex файл в CodeVisionAVR
Доброе время суток. Так как я в программировании не разбираюсь, вопрос к знатокам. Есть готовый проект, созданный в CodeVisionAVR. Внутри лежит hex-файл. Я убираю его из проекта и заново создаю. Когда сравниваю их содержание, они абсолютно разные, хотя в Proteus, который также присутствует в проекте, оба hex-а работают нормально. Объясните, пожалуйста, это нормально, или есть какие-то нюансы?
|
|
|
|
24.10.2024, 01:12
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 21.03.2007
Адрес: М.(осква)
Сообщений: 4,398
Сказал спасибо: 2,192
Сказали Спасибо 1,780 раз(а) в 1,012 сообщении(ях)
|
Re: hex файл в CodeVisionAVR
CodeVision позволяет писать на языке высокого уровня?
Тогда вариант, почему могут быть разные файлы на выходе: от настройки компилятора ( оптимизировать, не оптимизировать, добавлять отладочную информацию, не добавлять, принудительно запихать неиспользуемую библиотеку, и т.д. и т.п.).
Идентичность алгоритмов довольно легко проверить - меняете параметры компилятора, компилируете, сравниваете с тем файлом, что в наличии. Перебор конечный, максимум полгода займёт.
Второй вариант на проработку - кто-то в исходном коде добавил или удалил строчку.
Решение простое: загоняете оба бинарника в дизассемблер. И сравниваете асеммблерные листинги. Дизассемблер обычно идёт в комплекте с компилятором, но простенький.
Вариант номер три: обновилась какая-то из библиотек, задействованных в проекте. Решается методом перебора библиотек и/или дизассемблированием.
Вариант номер "апокалипсис": сочетание любых вышеперечисленных случаев.
Идея со сравнением откликов готового устройства на некие воздействия -сработает только на простейшем алгоритме.
Ещё такой вариант: заливаются и считываются разные файлы, т.к. добавляется разметка по адресам, и разбивка по строчкам может быть разной.
__________________
+ 7 903 641 87 25// 1. Иногда отвечаю "по памяти" 2. Часто заблуждаюсь >> Критикуйте, не обижусь.
|
|
|
|
24.10.2024, 02:15
|
|
|
Прохожий
Регистрация: 08.01.2008
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
Re: hex файл в CodeVisionAVR
Спасибо за ответ. Я Вас понял, что может быть много причин, но я брал несколько готовых проектов, полных проектов, а результат один и тот же. Хотя в протеусе, понимаю, что не в железе и все же оба hex-а работают аналогично, если бы что-то было не так, протеус бы ругнулся. Может, как вариант, в зависимости от версии CodeVision, он по-другому располагает строки в hex файле. Проверить через дизассемблер не додумался.
|
|
|
|
24.10.2024, 09:26
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 24.03.2007
Сообщений: 1,392
Сказал спасибо: 85
Сказали Спасибо 670 раз(а) в 391 сообщении(ях)
|
Re: hex файл в CodeVisionAVR
Разные версии CodeVision делают разные HEX. Например, сталкивался с тем, что в разных версиях был разный способ передачи параметров в подпрограмму (писал вставки на asm, и заметил, что при смене версии перестало работать, пришлось корректировать код).
Так что это вполне нормально.
|
|
|
|
24.10.2024, 12:28
|
|
|
Прохожий
Регистрация: 08.01.2008
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
Re: hex файл в CodeVisionAVR
pambaru, спасибо за ответ. Я уже писал, что не разбираюсь в программировании, потому и не знаю всех тонкостей. Еще раз спасибо за разъяснение.
|
|
|
|
28.11.2024, 06:47
|
|
|
Прописка
Регистрация: 24.08.2005
Сообщений: 140
Сказал спасибо: 18
Сказали Спасибо 16 раз(а) в 15 сообщении(ях)
|
Re: hex файл в CodeVisionAVR
вабще такие вещи надо в studio делать , компилятор более продвинутый!!!
|
|
|
|
28.11.2024, 17:35
|
|
|
Временная регистрация
Регистрация: 16.06.2016
Сообщений: 58
Сказал спасибо: 5
Сказали Спасибо 70 раз(а) в 23 сообщении(ях)
|
Re: hex файл в CodeVisionAVR
Сообщение от Belous2k
|
|
это нормально,
|
Это - НОРМАЛЬНО, особенно когда
Сообщение от Belous2k
|
|
в программировании не разбираюсь
|
Там много этих самых нюансов - разный компилятор, разные версии компилятора, разные его настройки, да и вообще, по-разному написана программа
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 23:16.
|
|