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

 
 
> Контроль CRC программы из BootLoader, Помогите победить линкер пожалста
Artem
сообщение May 22 2009, 06:12
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 72
Регистрация: 4-02-05
Пользователь №: 2 424



Доброго времени суток. Понадобилось добавить bootloader в рабочий проект, и просчитывать при загрузке CRC приложения. Проблема в следующем: Я хочу сделать так - чтобы линкер во время сборки приложения, считал CRC используемой памяти, последним сементом располагал значение CRC. А по фиксированному адресу в конце ROM, расположил указатель на значение CRC. После ресета, попадаем в бутлодер, который из фиксированного адреса считывает адрес значения CRC, затем просчитывает CRC до этого адреса (т.е. до значения). Вот перечитал документация на линкер, и не могу понять как такое можно сделать. Может что-то пропустил... Как это описать линкеру? С линкером экспериментов раньше не проводил, видать пришло время учиться... Заранее спасибо.
P.S. mcu - ATMega16.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Dog Pawlowa
сообщение May 22 2009, 10:56
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Artem @ May 22 2009, 09:12) *
Вот перечитал документация на линкер, и не могу понять как такое можно сделать. Может что-то пропустил... Как это описать линкеру? ...
P.S. mcu - ATMega16.

Непонятно, что же там непонятно smile.gif
Вот пример для 32 меги.

-HFFFF
-h(CODE)0-6FFD
...
-Z(CODE)CHECKSUM#6FFF
...

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


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 22 2009, 11:10
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Dog Pawlowa @ May 22 2009, 13:56) *

Если почитаете документацию относительно ключа -J линкера smile.gif, то можете считать любые зоны и любое их количество


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение May 22 2009, 12:44
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(zltigo @ May 22 2009, 14:10) *
Если почитаете документацию относительно ключа -J линкера smile.gif

Спасибо... Как бы это объять необъятное... smile.gif

Кстати, я эту инструкцию и забыл привести в качестве примера:

Код
/* Расчет контрольной суммы только по адресному пространству ОСНОВНОЙ программы (без бутлоадера) */
-J2,sum,,,,,0,=(CODE)0-6FFD


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 01:01
Рейтинг@Mail.ru


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