Считаю CRC от 0x08000100 до 0x0803FFFC, и checksum в конце ложиться.
Linker:
Код
place at address mem:__ICFEDIT_region_ROM_end__-3 { readonly section .checksum };
Тут считается, все равно и сходится с программный расчетом.
Теперь, хочу что бы рассчитанное значение checksum положилось по адресу 0x08000000
(это типа шапка для бутлодера)
Меняю в ликере:
Код
place at address mem:__ICFEDIT_region_ROM_start__ { readonly section .checksum };
И получаю ошибку IAR, о том что диапазон рассчитываемой checksum не делиться на 4
а раньше почему делилось ?
Цитата
ielftool error: The checksum range must be divisable by 4 in order to match the checksum unit size.
Error while running ielftool "--fill" "0xFF;0x8000100-0x803fffc" "--checksum" "__checksum:4,crc32:Li,0xffffffff;0x8000100-0x803fffc" "--verbose" "C:\STM32_project\Workspace\.........
Про какой диапазон он ругается ?
Сообщение отредактировал pokk - Jun 15 2018, 09:26