日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

CLion開發(fā)stm32?使用DSP庫的操作方法_C 語言

作者:未知的奇跡 ? 更新時(shí)間: 2022-11-07 編程語言

使用CLion開發(fā)stm32時(shí),添加stm32的DSP庫支持,以便進(jìn)行后續(xù)FFT等運(yùn)算

1. 添加DSP庫文件到工程目錄

  • 生成STM32CubeMX工程
  • 根目錄下新建文件夾,命名為DSP_LIB
  • 將目錄STM32Cube\Repository\STM32Cube_FW_F4_V1.26.1\Drivers\CMSIS\DSP下的Include文件夾和Sources文件夾復(fù)制到DSP_LIB文件夾中,注意Repository目錄中可能有多個(gè)固件庫版本,要選擇與當(dāng)前STM32CubeMX工程所使用相同的版本。
  • 在Include文件夾中,僅保留arm_common_tables.h,arm_const_structs.h,arm_math.h三個(gè)頭文件,刪除其余頭文件。
  • 全部修改完成后,DSP_LIB目錄文件結(jié)構(gòu)如圖所示。

2. 修改CMakeLists

1.CMakeLists.txt文件中,取消22行-24行的注釋,使編譯器加入對(duì)硬件浮點(diǎn)數(shù)計(jì)算的宏定義。

#Uncomment for hardware floating point
add_compile_definitions(ARM_MATH_CM4;ARM_MATH_MATRIX_CHECK;ARM_MATH_ROUNDING)
add_compile_options(-mfloat-abi=hard -mfpu=fpv4-sp-d16)
add_link_options(-mfloat-abi=hard -mfpu=fpv4-sp-d16)

修改完成后,在CMakeLists_template.txt文件中做出同樣的修改,這樣就不會(huì)被STM32CubeMX更新工程時(shí)刷掉了。

2.CMakeLists.txt文件中,分別在49行include_directories指令和53行file指令中分別加入DSP_LIB文件夾的包含。

include_directories(Core/Inc Drivers/STM32F4xx_HAL_Driver/Inc Drivers/STM32F4xx_HAL_Driver/Inc/Legacy Drivers/CMSIS/Device/ST/STM32F4xx/Include Drivers/CMSIS/Include DSP_LIB/Include)
file(GLOB_RECURSE SOURCES "startup/*.*" "Drivers/*.*" "Core/*.*" "DSP_LIB/*.*")

然后同樣在CMakeLists_template.txt中同步修改。

3. 添加STM32HAL庫

在DSP_LIB/Include文件夾中,打開arm_math.h文件,加入代碼:

#include <stm32f4xx.h>

這個(gè)庫可以幫助找到需要使用的變量和宏定義,如果使用其他系列芯片只需改為對(duì)應(yīng)的庫。如使用f1芯片,則對(duì)應(yīng)改為stm32f1xx.h即可。

原文鏈接:https://www.cnblogs.com/unknownwonder/p/15032859.html

欄目分類
最近更新