CLion開發(fā)stm32?使用DSP庫的操作方法
使用CLion開發(fā)stm32時,添加stm32的DSP庫支持,以便進行后續(xù)FFT等運算
1. 添加DSP庫文件到工程目錄
- 生成STM32CubeMX工程
- 根目錄下新建文件夾,命名為DSP_LIB
- 將目錄STM32Cube\Repository\STM32Cube_FW_F4_V1.26.1\Drivers\CMSIS\DSP下的Include文件夾和Sources文件夾復(fù)制到DSP_LIB文件夾中,注意Repository目錄中可能有多個固件庫版本,要選擇與當(dāng)前STM32CubeMX工程所使用相同的版本。
- 在Include文件夾中,僅保留arm_common_tables.h,arm_const_structs.h,arm_math.h三個頭文件,刪除其余頭文件。
- 全部修改完成后,DSP_LIB目錄文件結(jié)構(gòu)如圖所示。

2. 修改CMakeLists
1.CMakeLists.txt文件中,取消22行-24行的注釋,使編譯器加入對硬件浮點數(shù)計算的宏定義。
#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文件中做出同樣的修改,這樣就不會被STM32CubeMX更新工程時刷掉了。
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>
這個庫可以幫助找到需要使用的變量和宏定義,如果使用其他系列芯片只需改為對應(yīng)的庫。如使用f1芯片,則對應(yīng)改為stm32f1xx.h即可。
到此這篇關(guān)于CLion開發(fā)stm32 使用DSP庫的方法的文章就介紹到這了,更多相關(guān)CLion使用DSP庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言?模擬實現(xiàn)memcpy與memmove函數(shù)詳解
這篇文章主要介紹了C語言詳解如何模擬內(nèi)存函數(shù),用到了mencpy與memmove兩個函數(shù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2022-04-04
C++實現(xiàn)LeetCode(97.交織相錯的字符串)
這篇文章主要介紹了C++實現(xiàn)LeetCode(97.交織相錯的字符串),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
詳解C語言如何計算結(jié)構(gòu)體大小(結(jié)構(gòu)體的內(nèi)存對齊)
結(jié)構(gòu)體的內(nèi)存對齊是有關(guān)結(jié)構(gòu)體內(nèi)容的很重要一個知識點,主要考察方式是計算結(jié)構(gòu)體的字節(jié)大小,所以本文就給大家詳細(xì)介紹一下C語言如何計算結(jié)構(gòu)體大小,文中的代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07

