|
Контроль CRC программы из BootLoader, Помогите победить линкер пожалста |
|
|
|
May 22 2009, 06:12
|
Участник

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

|
Доброго времени суток. Понадобилось добавить bootloader в рабочий проект, и просчитывать при загрузке CRC приложения. Проблема в следующем: Я хочу сделать так - чтобы линкер во время сборки приложения, считал CRC используемой памяти, последним сементом располагал значение CRC. А по фиксированному адресу в конце ROM, расположил указатель на значение CRC. После ресета, попадаем в бутлодер, который из фиксированного адреса считывает адрес значения CRC, затем просчитывает CRC до этого адреса (т.е. до значения). Вот перечитал документация на линкер, и не могу понять как такое можно сделать. Может что-то пропустил... Как это описать линкеру? С линкером экспериментов раньше не проводил, видать пришло время учиться... Заранее спасибо. P.S. mcu - ATMega16.
|
|
|
|
|
 |
Ответов
|
May 22 2009, 10:56
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(Artem @ May 22 2009, 09:12)  Вот перечитал документация на линкер, и не могу понять как такое можно сделать. Может что-то пропустил... Как это описать линкеру? ... P.S. mcu - ATMega16. Непонятно, что же там непонятно  Вот пример для 32 меги. -HFFFF -h(CODE)0-6FFD ... -Z(CODE)CHECKSUM#6FFF ... С другой стороны, эта функция линкера не очень удобна - нельзя установить установить заглушки на неиспользуемые прерывания, и длина кода, подлежащего контролю, всегда максимальна.
--------------------
Уходя, оставьте свет...
|
|
|
|
|
May 22 2009, 12:44
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(zltigo @ May 22 2009, 14:10)  Если почитаете документацию относительно ключа -J линкера  Спасибо... Как бы это объять необъятное...  Кстати, я эту инструкцию и забыл привести в качестве примера: Код /* Расчет контрольной суммы только по адресному пространству ОСНОВНОЙ программы (без бутлоадера) */ -J2,sum,,,,,0,=(CODE)0-6FFD
--------------------
Уходя, оставьте свет...
|
|
|
|
Сообщений в этой теме
Artem Контроль CRC программы из BootLoader May 22 2009, 06:12 sergeeff А кто мешает написать внешнюю утилитку, которая бу... May 22 2009, 10:29 vesago Есть термоядерная утилита SRecord. Тут обсуждалась... May 22 2009, 10:46 Artem Всем спасибо за ответы! Я так и сделал - запол... May 25 2009, 03:27 HARMHARM Цитата(Artem @ May 25 2009, 06:27) Но как... May 25 2009, 05:23 Artem Т.е создать сегмент по фиксированному адресу в заг... May 25 2009, 06:03 Сергей Борщ Цитата(Artem @ May 25 2009, 09:03) А как ... May 25 2009, 07:47 meister Цитата(Artem @ May 22 2009, 10:12) Как эт... May 26 2009, 08:42 zltigo Цитата(meister @ May 26 2009, 11:42) и на... May 26 2009, 09:24  meister Цитата(zltigo @ May 26 2009, 13:24) Ерунд... May 26 2009, 09:35
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|