'__checksum' was not found in the string table |
Добавил(а) microsin |
Такое сообщение будет выведено утилитой ielftool на стадии линковки проекта IAR, если в проекте настроен подсчет контрольной суммы прошивки, но при этом либо не настроен файл опций линкера *.icf, либо не определена (или неправильно определена) переменная __checksum. Пример такого сообщения: Linking ielftool error: The string '__checksum' was not found in the string table Error while running ielftool "--fill" "0xFF;0x8008000-0x80ffffb" "--checksum" "__checksum:4,crc32:Li,0xffffffff;0x8008000-0x80ffffb" "--verbose" "D:\asm\SD-card-boot\EWARM\L496\Exe\ stm32-bootloader.out.tmp" "D:\asm\SD-card-boot\EWARM\L496\Exe\stm32-bootloader.out" Error while running Linker Total number of errors: 2 Total number of warnings: 0 Простой способ устранения ошибки: 1. Создайте декларацию внешней переменной __checksum: extern uint32_t __checksum; 2. Сделайте произвольное обращение этой переменной, чтобы линкер не удалил выделение памяти под эту переменную. Например вот так: if (__checksum) HAL_Delay(1); Альтернативный способ - используйте отличное руководство по применению контрольной суммы в проекте IAR, которое можно найти по ссылке [1]. [Ссылки] 1. CRC прошивки средствами IAR и STM32 site:tqfp.org. |