【问题标题】:.\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 (引用自stm32f4xx_hal.o)
【发布时间】:2020-10-26 22:51:39
【问题描述】:

我正在使用 uart 并从 keil/PACKS/Drivers/HALdrivers 文件夹中手动添加 uart 文件,但编译后我遇到以下错误。

【问题讨论】:

    标签: c embedded stm32 keil


    【解决方案1】:

    这个错误信息:

    Undefined symbol HAL_NVIC_SetPriority (referred from stm32f4xx_hal.o)
    

    告诉您文件stm32F4xx_hal.c 中的某些代码使用符号HAL_NVIC_SetPriorty,但符号HAL_NVIC_SetPriority 未定义。它是未定义的,因为您尚未将定义它的源文件添加到您的项目中。如果你搜索所有的STM32F4 HAL Driver源代码,你会发现HAL_NVIC_SetPrioritystm32f4xx_hal_cortex.c中定义的函数。您需要将文件stm32f4xx_hal_cortex.c 添加到您的项目中,以提供HAL_NVIC_SetPriority 的定义。

    添加stm32f4xx_hal_cortex.c 应该至少可以解决您的一个错误。但是如果stm32f4xx_hal_cortex.c 使用新的未定义符号,它可能会产生新的错误。您将不得不迭代此过程。

    1. 在 HAL 驱动程序源代码中搜索未定义符号以找到 在哪里定义。
    2. 然后将包含定义的源文件添加到您的项目中。
    3. 重复下一个未定义的符号。

    【讨论】:

      猜你喜欢
      • 2023-01-29
      • 1970-01-01
      • 2022-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-02
      • 2021-09-16
      • 1970-01-01
      相关资源
      最近更新 更多