STM32F4外設配置速查 FPU與DSP部分

2021-10-12 03:02:15 字數 2091 閱讀 3565

詳細內容參考cortex-m4核心程式設計手冊

stm32f4xx及更高配置stm32微控制器才有fpu支援

stm32f4帶有32位單精度硬體fpu,支援浮點指令集,整個fpu單元能被使能和關閉

使用協處理器控制暫存器(scb->cpacr)中的cp11和cp10啟用/關閉fpu

晶元復位後,cp10、cp11四個位預設為0,fpu關閉

將cp10、cp11同時置位即可開啟fpu

system_stm32f4xx.c擷取

void

systeminit

(void

)

本質方法:設定cpacr暫存器

將**__fpu_present** 和__fpu_used置1即可開啟fpu

直接設定scb->cpacr暫存器的cp10和cp11為1

在**中配置:

#define __fpu_used 1
在mdk,target選項卡中,將float point hardware選項設定為use single precision

stm32f4xx及更高配置stm32微控制器才有dsp支援

stm32f4帶有32位單精度硬體dsp,支援dsp指令集,支援單週期乘加指令(mac)、優化的單指令多資料指令(simd)、飽和算數等數字訊號處理指令集。m4執行所有dsp指令集都能在單週期完成

整個dsp單元能被使能和關閉

單週期乘加指令mac

支援有符號/無符號乘法、有符號/無符號乘加、有符號/無符號長資料(64位)乘加

單週期simd指令

可同時有多個資料參與運算

存放在stm32f4xx_dsp_stdperiph_lib/libraries/cmsis/dsp_lib/source下

basicmathfunctions

基本數學函式,提供浮點數各種基本運算,包括向量運算

commontables

提供位反轉或相關參數列

complexmathfunctions

複雜數學功能,包括向量處理、求模運算等

controllerfunctions

控制功能函式,包括正余弦、pid電機控制、向量clarke變換、向量clarke逆變換等

fastmathfunctions

快速數學功能函式,提供快速近似正余弦、平方根等演算法

filteringfunctions

濾波函式功能,主要為fir、lms(最小均方根)等濾波函式

matrixfunctions

矩陣處理函式,包括、矩陣初始化、矩陣轉置、矩陣反、矩陣加法、矩陣乘法、矩陣規模、矩陣減法等函式

statisticsfunctions

統計功能函式,包括求平均值、最值、計算均方根rms、計算方差/標準差等

supportfunctions

支援功能函式,如資料拷貝、q格式和浮點格式轉換、q任意格式相互轉換

transformfunctions

變換功能,包括複數fft(cfft)/複數fft逆運算(cifft)、實數fft(rfft)/實數fft逆運算(rifft)、dct(離散余弦變換)和配套初始化函式

dsp原始碼庫較大,st提供了.lib格式的檔案,在**中引入lib檔案即可

新增檔案

拷貝stm32f4xx_dsp_stdperiph_lib_v1.4.0/libraries/cmsis/include到dsp_lib

包含dsp_lib檔案與路徑

新增全域性巨集定義

#define __fpu_used 1 

//在mdk中開啟即可不填

#define __fpu_present 1

//在stm32f4xx.h中預設開啟,可不填

//將下面四個部分用逗號隔開新增到mdk的define選項中

arm_math_cm4

__cc_arm

arm_math_matrix_check

arm_math_rounding

需要哪些函式就將對應lib和配置新增到mdk

STM32F4外設配置速查 RTC部分

2個32位暫存器包含bcd格式的second minute hour 12 24小時制 day week month year 還可以提供二進位制的亞秒值 系統可自動將月份天數補償位28 29 30 31天,還可以進行夏令時補償 時鐘源 由rtc calr精密校準過的lse 32.768khz 時鐘...

STM32F4外設配置速查 DMA部分

dma即direct memory access 直接儲存器訪問 將資料從乙個位址複製到另乙個位址,當cpu初始化dma控制器後,傳輸動作由dma控制器實現和完成 優點 無需cpu控制 或 中斷壓棧 出棧過程,讓ram與io裝置間可快速傳輸資料,減少cpu負載 雙ahb匯流排,乙個用於儲存器訪問,乙...

STM32F4外設配置速查 低功耗喚醒部分

一般在系統或電源復位後,mcu在執行狀態下由hclk為cpu提供時鐘,核心執行 當cpu不需要執行時可利用多種低功耗模式來節省功耗,等待某事件觸發時才喚醒 stm32f4xx有三種低功耗模式 睡眠模式 僅核心停止,外設如nvic systick等仍執行 停止模式 所有時鐘停止,1.8v核心電源工作,...