Цитата(ДЕЙЛ @ Aug 20 2015, 22:32)

Если была такая тема, то хотелось бы ссылку увидеть, поиск мне выдал добрые два десятка страниц.
Сейчас разбираюсь в загрузчике и есть вопрос по поводу контрольной суммы бинарного файла, скомпилированного в Keil'е. Где она хранится и какой алгоритм расчёта? Где можно почитать на эту тему?
- объявляем например в файле main.c
const int crc __attribute__((at(0x800)));
пусть у нас до адреса 0х800 будет загрузчик,а с этого адреса будет программа
- редактируем файл 1.ini (этот файл вне проекта и к нему никак не относится) Пусть у нас к примеру,адрес конца Flash-памяти нашего микроконтроллера 0х1000. также CRC считаем по простенькому алгоритму исключающего или,хотя можно запрограммировать и реальный crc32
map 0x800,0x800 read write
FUNC void calc_crc(void)
{
int i;
crc=0;
for(i=0x804;i<0x1000;i+=4)
crc^=_RDWORD(i);
}
calc_crc()
- подключаем этот файл 1.ini заходим в меню keil-a
"project-options fo target....-вкладка debug-поле initialization file" открываем этот файл
ну собственно говоря,компилируем,загружаем,наслаждаемся
Можно проконтролировать это дело-ввести в watch-окно отладчика переменную crc и проверить...