【HAL 库复盘】自己手动创建工程模版Undefined symbol HAL_NVIC_SetPriority 问题解决

发布时间 2023-10-21 23:23:58作者: FBshark

1 问题说明

学习自己手动搭建一个STM32HAL库工程模板文件的时候,我发现了有6个错误,6个错误的类型是一样的,其中有3个通过添加hal_rcc.h和hal_gpio.c文件得以解决。所以另外3个我也想到了时缺少了对应的.c文件导致的错误。
但是在STM32F1xx_HAL_Driver文件夹中,我没有找到类似如有“rcc”和“GPIO”这样的标志性符号。这3个错误如下:

分别是HAL_NVIC_SetPriority,HAL_NVIC_SetProtityGrouping和HAL_SYSTICK_Config。

在STM32F1xx_HAL_Driver文件夹中未找到类似于“NVIC”或者“SYSTICK”的.c文件。

之前自己有标准库的编程经验,知道NVIC 文件在 misc.c 文件夹, systick 在stm32fxxx_systick 中。

但是 HAL 库的文件夹已经看不到 misc.c 和 stm32fxxx_systick.c 的身影了。

 

 

2 问题解决

上述函数在文件:stm32f4xx_hal_cortex.c

也就是说 标准库的misc.c+stm32fxxx_systick  == HAL库的stm32f4xx_hal_cortex.c