昨天用STM32CubeIDE创建了一个新工程,用最新的库。
迁移到MDK编译出现以下错误:
linking...
stm32L476\stm32L476.axf: Error: L6218E: Undefined symbol ATOMIC_CLEAR_BIT (referred from stm32l4xx_hal_uart.o).
stm32L476\stm32L476.axf: Error: L6218E: Undefined symbol ATOMIC_SET_BIT (referred from stm32l4xx_hal_uart.o).
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.
Finished: 2 information, 0 warning and 2 error messages.
"stm32L476\stm32L476.axf" - 2 Error(s), 51 Warning(s).
Target not created.
网上搜了以下,有人说是编译器版本问题,这根本就不对。
原因其实是MDK安装目录下,芯片对应的cmsis头文件不是最新的,只要在mdk中包含你自己最新库的路径,就会优先使用你的库文件,而不是MDK自带的文件。
编译就不会错误了。
|