firstvald 22 16 июня, 2018 Опубликовано 16 июня, 2018 · Жалоба Одновременно получил две загадки. В начале программных модулей, в поле слева, помечено красным крестиком строчка #include "stm32l4xx_hal.h" Если идти по цепочке файлов, то попадаем в файл cmsis_armcc.h в котором красным выделены несколько строчек с пояснением expected identifier or '('. Место, которое не нравится, прыгает. Был момент, когда не нравилась одна строка. Начиная с какого-то момента не нравится несколько других. В данный момент, не нравится: #ifndef __NO_EMBEDDED_ASM __attribute__((section(".rev16_text"))) __STATIC_INLINE __ASM uint32_t __REV16(uint32_t value) { rev16 r0, r0 bx lr } #endif не нравящееся слово выделено цветом. В файле ничего не трогал. Не думаю, что в этом какая-то ошибка - это что-то наведенное. Но что ? Мювижн 5 14 00 . Файл к которому приводит цепочка помечен как: @file cmsis_armcc.h * @brief CMSIS Cortex-M Core Function/Instruction Header File * @version V4.30 * @date 20. October 2015 и беда на приходит одна: в окне хода компиляции получаю вот это: Error: L6218E: Undefined symbol HAL_SPI_IRQHandler (referred from stm32l4xx_it.o). при этом, видно, что файл, в котором определен обработчик HAL_SPI_IRQHandler, компилируется. И в самом файле он есть: Вот упоминание нечто похожего. Решение было перейти на другой CMSIS Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 26 17 июня, 2018 Опубликовано 17 июня, 2018 · Жалоба в окне хода компиляции получаю вот это: Error: L6218E: Undefined symbol HAL_SPI_IRQHandler (referred from stm32l4xx_it.o). Это ошибка не компиляции, а ошибка сборки (линковки). Конкретно эта ошибка означает, что в одном из скомпилированных файлов упоминается некая функция HAL_SPI_IRQHandler, но линкер не может найти ее реализацию ни в одном из подключенных объектных файлов. На будущее: префикс L перед кодом ошибки - ошибка линкера, C - соотв. ошибка компилятора. по поводу первой "загадки": C HAL-ом дела не имел и уже не собираюсь, но подозревая, что не помешает обновить все паки через Pack Installer на самые свежие версии. Заодно поробуйте обновить Keil до самой свежей версии, поскольку, есть вероятность, что в относительно старой версии встроенного С-компилятора в keil 5.14 есть баги. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 18 июня, 2018 Опубликовано 18 июня, 2018 · Жалоба __attribute__((section(".rev16_text"))) __STATIC_INLINE __ASM uint32_t __REV16(uint32_t value) Это такая особенность нынешних средств разработки. Файл парсится два раза - один раз это делает IDE, чтобы уметь подсвечивать-подсказывать, и второй раз это делает компилятор. Ну и вот эту конструкцию парсер кейла не поддерживает. Если компилятор не выдаёт на это ошибок - проблем никаких нет. Для красоты можно попробовать подобрать версии кейла/заголовка (может, поправили уже) или поредактировать его руками. в окне хода компиляции получаю вот это: Error: L6218E: Undefined symbol HAL_SPI_IRQHandler (referred from stm32l4xx_it.o). Волшебный ребилдол (rebuild all) пробовали? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 26 18 июня, 2018 Опубликовано 18 июня, 2018 · Жалоба Волшебный ребилдол OFF: :biggrin: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться