如何在Openstm32中链接arm_cortexM4l_math.lib

如何在Openstm32中链接arm_cortexM4l_math.lib,c,fft,cortex-m,cmsis,C,Fft,Cortex M,Cmsis,我已经包括了CMSIS_5库,但我不知道如何将arm_cortexM4l_math.lib链接到我的stm32 FFT项目 我的主板是stm32f407 DISCOVERY,我使用的是Openstm32。通过几个简单的步骤解决了这个问题 我注意到,当我创建一个项目时,我可以选择导出标准stm32外围设备的独立目录的选项 选择“导出到标准stm32库的单独目录”。(当我选择此解决方案时,在我的项目旁边显示了两个文件夹:stm32f407\u stdperiph\u lib和STM32F4xx\u

我已经包括了CMSIS_5库,但我不知道如何将arm_cortexM4l_math.lib链接到我的stm32 FFT项目


我的主板是stm32f407 DISCOVERY,我使用的是Openstm32。

通过几个简单的步骤解决了这个问题

我注意到,当我创建一个项目时,我可以选择导出标准stm32外围设备的独立目录的选项

  • 选择“导出到标准stm32库的单独目录”。(当我选择此解决方案时,在我的项目旁边显示了两个文件夹:
    stm32f407\u stdperiph\u lib
    STM32F4xx\u DSP\u stdperiph\u lib\u V1.8.0

  • stm32f407\u stdperiph\u lib
    在创建项目后立即链接

  • STM32F4xx\u DSP\u StdPeriph\u Lib\u V1.8.0
    -此库仅添加到我的项目目录旁边,但未链接

  • 链接到STM32F4xx\u DSP\u StdPeriph\u Lib\u V1.8.0:

  • 属性中
    → <代码>设置→ <代码>MCCC GCC编译器→ <代码>包括

  • 我补充说:

    "$ {Workspace_loc: /STM32F4xx_DSP_StdPeriph_Lib_V1.8.0/Libraries/CMSIS  /Device/ST/STM32F4xx/}
    "$ {Workspace_loc: /STM32F4xx_DSP_StdPeriph_Lib_V1.8.0/}"
    "$ {Workspace_loc: /STM32F4xx_DSP_StdPeriph_Lib_V1.8.0/Libraries/CMSIS/DSP_Lib/Source/}"
    
  • 在MCCC GCC编译器中添加预处理器:

    • 属性中
      → <代码>设置→ <代码>MCCC GCC编译器→ <代码>预处理器
  • 添加
    ARM\u MATH\u CM4

  • 将整个
    Source
    目录从
    DSP_Lib
    复制到项目的
    src
    目录

  • 建造


  • -据我所知,lm CMSIS没有链接到任何东西。我需要使用CMSIS_5并链接此lib文件,因为(当我使用基本CMSIS时)会出现如下错误:,,未定义对“arm_cfft_radix4_init_f32”的引用“它是CMSIS的一部分,不在任何图书馆中。您应该将apriopriate.c文件添加到项目中。例如,我试图链接整个库,因为添加单个.c文件会导致更多错误,例如:(在添加arm_cfft_radix4_init_f32.c之后),“arm_bitReversion_f32”的未定义引用。。我知道在CooCox IDE中链接单个文件就足够了,但我在linux下使用openstm32。您需要完整的文件集