STM32F429之使用FPU和DSP

2021-06-20 19:07:35 字數 1432 閱讀 5218

stm32f429之使用fpu和dsp

cmsis的dsp庫提供了一類高階數學處理功能,包括:

該庫使用不同的函式來處理8位、16位和32位整型以及32位浮點型資料。

stm32f429具有浮點處理器(fpu),在開啟fpu的情況下,浮點數運算效能大大提高,配以dsp庫的支援,效能尤其出色。

本文介紹如何在iar建立的工程中開啟fpu並使用dsp庫。

欲使用dsp庫,需要包含

"arm_math.h"檔案,該檔案在"cmsis\include"目錄下。

#include "arm_math.h"

接下來iar在編譯連線程式時,將會尋找對應的連線庫,連線庫在"cmsis\lib\arm"路徑下,cmsis對不同連線庫的說明如下:

由於stm32f429屬於小端模式,因此連線到"

arm_cortexm4lf_math.lib"檔案上。

另外,在"c/c++ compiler"項的"preprocessor"選項卡下新增如下預定義符號

如果沒有"

arm_math_cm4"符號,在編譯時將會提示找不到"

armcm4.h"檔案。這是由於檔案中有如下內容:

#ifdefined

(arm_math_cm4)

#include

"core_cm4.h"

#elif

defined

(arm_math_cm3)

#include

"core_cm3.h"

#elif

defined

(arm_math_cm0)

#include

"core_cm0.h"

#define

arm_math_cm0_family

#elif

defined

(arm_math_cm0plus)

#include

"core_cm0plus.h"

#define

arm_math_cm0_family

#else

#include

"armcm4.h"

#warning

"define either arm_math_cm4 or arm_math_cm3...by default building on arm_math_cm4....."

#endif

如果沒有"

arm_math_matrix_check

"、"arm_math_rounding

"、"__fpu_present

"和"__fpu_used

"符號將會在連線時提示如下錯誤:

no definition for "__iar_program_start" 

no definition for "__iar_data_init3"

STM32F429 如何使用SDRAM

關於stm32f429 控制sdram fmc 擴充套件外部sdram 1 原理介紹 為什麼是fmc 不是 fsmc 區別在那裡!stm32f429使用fmc外設來管理擴充套件的儲存器,fmc是flexible memory controller的縮寫,譯為可變儲存控制器。它可以用於驅動包括sram...

STM32F429 如何使用NAND Flash

1 原理介紹 flash即是儲存晶元的一種,其結合了rom和ram的特點,既具備電可擦除程式設計的效能,又可以快速讀取資料,資料不會因斷電丟失。目前市面上flash主要有nor flash和nand flash。nor flash具有隨機訪問和隨位元組執行寫操作的能力,即可以訪問到儲存器內部的任意乙...

STM32F429 如何使用LCD

1 硬體介面 要明白rgb888控制lcd 和8080控制方式的區別 tft液晶顯示器使用的是rgb介面,rgb介面包含24根rgb訊號線 畫素同步訊號線 水平同步訊號線 垂直同步訊號線和資料使能訊號線。效能一般的晶元,通常不會自帶液晶控制器,需要使用自帶液晶控制器器的液晶屏,這類觸控螢幕通常使用i...