реклама на сайте
подробности

 
 
> Что за “Reserved Address” ?, фантомный код изменяет адресс
Beginning
сообщение Dec 27 2007, 10:54
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



Есть достаточна большая программа. Вся программа работает из внешнего ОЗУ. Грузится bootloaderom из внешнего ПЗУ. Вначале программы есть модуль проверяющий корректность программы. Он подсчитывает CRC всей программы (находящуюся в ОЗУ) и сверяет с заранее установленным значением. Все переменные находятся вне прошивки, и поэтому не влияют на подсчёт. В старых версиях IAR (4…) всё работало прекрасно. Но поставил версию 5.1 и на тебе, CRC всё время не совпадает. Начал копать и выкопал что, во всей прошивке меняется один адрес (4 байта), находящийся по адресу 0x34. Посмотрел ассемблерный текст, а по этому адресу такая строка:
Цитата
DCD 0 ; Reserved Address

Я нигде в программе не использую этот адрес. В настройках линкера никаких checksum не задействовано. Пытался найти, что за зараза туда лезет в дебагере, но ничего не вышло. Приходится пропускать большие аппаратно зависимые участки кода, а в месте программы, где в железе уже есть изменения этого адреса, в дебагере нет изменений. Господа, какие будут мысли?


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 16:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.01345 секунд с 7
ELECTRONIX ©2004-2016