1. 程式人生 > >STM32F429開啟FPU,使用ST自帶DSP庫函式

STM32F429開啟FPU,使用ST自帶DSP庫函式

STM32F4xx系列的晶片使用的是Cortex-M4核心,帶有DSP和FPU單元。如何開啟FPU單元,使用DSP庫函式。這是個人實踐。
Keil版本:V5.17
晶片型號:STM32F429ZGT6
1.新增庫
根據所選晶片的工作模式和運算模式,新增arm_cortexMxxmath.lib到工程檔案中,庫放置在STM32F4xx_DSP_StdPeriph_Lib_V1.5.1\Libraries\CMSIS\Lib\ARM
- arm-cortexM4b_math.lib(M4核心的大端模式)
- arm_cortexM4bf_math.lib (M4核心的大端模式,浮點單元)
- arm_cortexM4l_math.lib (M4核心的小端模式)
- arm_cortexM4lf_math.lib (M4核心的小端模式,浮點單元)
我選擇的是 arm_cortexM4lf_math.lib
2.新增DSP庫的.C和.h檔案
檔案位STM32F4xx_DSP_StdPeriph_Lib_V1.5.1\Libraries\CMSIS\DSP_Lib
這裡寫圖片描述


這裡寫圖片描述
3.配置工程檔案
這裡寫圖片描述
4.新增Define項
在C/C++選項卡中新增__FPU_PRESENT=1,__TARGET_FPU_VFP,ARM_MATH_CM4,__CC_ARM,並使用英文符逗號隔開
- __FPU_PRESENT=1 //開啟FPU
- __TARGET_FPU_VFP //要求編譯出的檔案使用FPU功能
- ARM_MATH_CM4 //沒有”ARM_MATH_CM4”符號,在編譯時將會提示找不到”armcm4.h”檔案
- __CC_ARM //__CC_ARM是不同編譯器的編譯配置巨集定義,__CC_ARM就是代表MDK開發環境
這裡寫圖片描述

5.進入到System_stm32f4xx.c檔案中找到SystemInit函式中確認是是否存在如下程式碼
這裡寫圖片描述

6.在需要使用到DSP庫的檔案上包含arm-math.h即可
7.配置完成