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...