.\Objects\Usart.axf: Error: L6218E: Undefined symbol HAL_NVIC_SetPriority (referred from stm32f4xx_hal.o)
.\Objects\Usart.axf: Error: L6218E: Undefined symbol HAL_NVIC_SetPriority (referred from stm32f4xx_hal.o)
我正在使用 uart 并从 keil/PACKS/Drivers/HALdrivers 文件夹手动添加 uart 文件,但编译后我遇到以下错误。
此错误信息:
Undefined symbol HAL_NVIC_SetPriority (referred from stm32f4xx_hal.o)
告诉您文件 stm32F4xx_hal.c
中的某些代码使用了符号 HAL_NVIC_SetPriorty
但符号 HAL_NVIC_SetPriority
未定义。它是未定义的,因为您还没有将定义它的源文件添加到您的项目中。如果你搜索所有的STM32F4 HAL驱动程序源代码,你会发现HAL_NVIC_SetPriority
是在stm32f4xx_hal_cortex.c
中定义的一个函数。您需要将文件 stm32f4xx_hal_cortex.c
添加到您的项目中以提供 HAL_NVIC_SetPriority
.
的定义
添加 stm32f4xx_hal_cortex.c
应该至少可以解决您的一个错误。但如果 stm32f4xx_hal_cortex.c
使用新的未定义符号,它可能会产生新的错误。您将不得不重复此过程。
- 在HAL Driver源代码中搜索未定义的符号以查找
定义的地方。
- 然后将包含定义的源文件添加到您的项目中。
- 对下一个未定义的符号重复。
我正在使用 uart 并从 keil/PACKS/Drivers/HALdrivers 文件夹手动添加 uart 文件,但编译后我遇到以下错误。
此错误信息:
Undefined symbol HAL_NVIC_SetPriority (referred from stm32f4xx_hal.o)
告诉您文件 stm32F4xx_hal.c
中的某些代码使用了符号 HAL_NVIC_SetPriorty
但符号 HAL_NVIC_SetPriority
未定义。它是未定义的,因为您还没有将定义它的源文件添加到您的项目中。如果你搜索所有的STM32F4 HAL驱动程序源代码,你会发现HAL_NVIC_SetPriority
是在stm32f4xx_hal_cortex.c
中定义的一个函数。您需要将文件 stm32f4xx_hal_cortex.c
添加到您的项目中以提供 HAL_NVIC_SetPriority
.
添加 stm32f4xx_hal_cortex.c
应该至少可以解决您的一个错误。但如果 stm32f4xx_hal_cortex.c
使用新的未定义符号,它可能会产生新的错误。您将不得不重复此过程。
- 在HAL Driver源代码中搜索未定义的符号以查找 定义的地方。
- 然后将包含定义的源文件添加到您的项目中。
- 对下一个未定义的符号重复。