Как посчитать CRC рабочей программы с тем же CRC_POLYNOME, что и в bootloader'е и тем же алгоритмом?
Т.е. как это сделать средствами IAR для содаваемой прошивки программы, которая будет передана в bootloader.
Итак, разбирательства с CRC привели к следующему. Ничего дополнительно придумывать не требуется. И IAR не учавствует в создании CRC кода программы.
Если в настроечном файле bootldr.h будет #define CRC_CHECK, то для прошивки, которая будет передаваться через загрузчик, в настроечном файле lnkmTYPE_CPU.xcl конец памяти надо указывать на два байта меньше начала адреса загрузчика. Потому что программа create.exe будет дописывать в эти байты CRC (выяснил копая исходники create), который сама расчитывает по коду скармливаемой ей прошивки для создания шифрованного файла. Если подсунуть файл размером до начала загручика при наличии #define CRC_CHECK, то будет ругаться, что файл большой и не создаст зашифрованного файла.
Забыл добавить, надо заполнить неиспользуемую часть кода
-H1895
-h(CODE)0-_..X_FLASH_END