CLion開(kāi)發(fā)stm32?使用DSP庫(kù)的操作方法
使用CLion開(kāi)發(fā)stm32時(shí),添加stm32的DSP庫(kù)支持,以便進(jìn)行后續(xù)FFT等運(yùn)算
1. 添加DSP庫(kù)文件到工程目錄
- 生成STM32CubeMX工程
- 根目錄下新建文件夾,命名為DSP_LIB
- 將目錄STM32Cube\Repository\STM32Cube_FW_F4_V1.26.1\Drivers\CMSIS\DSP下的Include文件夾和Sources文件夾復(fù)制到DSP_LIB文件夾中,注意Repository目錄中可能有多個(gè)固件庫(kù)版本,要選擇與當(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庫(kù)
在DSP_LIB/Include文件夾中,打開(kāi)arm_math.h文件,加入代碼:
#include <stm32f4xx.h>
這個(gè)庫(kù)可以幫助找到需要使用的變量和宏定義,如果使用其他系列芯片只需改為對(duì)應(yīng)的庫(kù)。如使用f1芯片,則對(duì)應(yīng)改為stm32f1xx.h即可。
到此這篇關(guān)于CLion開(kāi)發(fā)stm32 使用DSP庫(kù)的方法的文章就介紹到這了,更多相關(guān)CLion使用DSP庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語(yǔ)言詳細(xì)分析講解內(nèi)存管理malloc realloc free calloc函數(shù)的使用
C語(yǔ)言內(nèi)存管理相關(guān)的函數(shù)主要有realloc、calloc、malloc、free等,下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言內(nèi)存管理realloc、calloc、malloc、free函數(shù)的相關(guān)資料,需要的朋友可以參考下2022-05-05C語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)的壓縮與解壓
數(shù)據(jù)壓縮是通過(guò)一系列的算法和技術(shù)將原始數(shù)據(jù)轉(zhuǎn)換為更緊湊的表示形式,以減少數(shù)據(jù)占用的存儲(chǔ)空間,數(shù)據(jù)解壓縮則是將壓縮后的數(shù)據(jù)恢復(fù)到原始的表示形式,本文給大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)壓縮與解壓,需要的朋友可以參考下2023-08-08C語(yǔ)言實(shí)現(xiàn)BMP格式圖片轉(zhuǎn)化為灰度
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)BMP格式圖片轉(zhuǎn)化為灰度,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10在Vitis?IDE中如何使用第三方庫(kù)?libtiff?保存?tiff?文件
這篇文章主要介紹了在Vitis?IDE中如何使用第三方庫(kù)?libtiff?保存?tiff?文件,本文通過(guò)圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07C語(yǔ)言中atoi函數(shù)模擬實(shí)現(xiàn)詳析
atoi函數(shù)功能是將數(shù)字字符串轉(zhuǎn)換為整數(shù),比如數(shù)字字符串"12345"被atoi轉(zhuǎn)換為12345,數(shù)字字符串"-12345"被轉(zhuǎn)換為-12345,下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言中atoi函數(shù)模擬實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2022-10-10Qt網(wǎng)絡(luò)編程之TCP通信及常見(jiàn)問(wèn)題
這篇文章主要為大家詳細(xì)介紹了Qt網(wǎng)絡(luò)編程之TCP通信及常見(jiàn)問(wèn)題,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08