FPU
FPU(Float Point Unit):浮点运算单元
开启FPU方法:
把两个宏(__FPU_PRESENT、__FPU_USED)配置为1即可开启
开启FPU的函数,stm32项目启动文件里面自带,不需要自己写
void SystemInit(void)
{
#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2));
}
宏定义标识符解释:
__FPU_PRESENT : 用来确定处理器是否带 FPU功能
__FPU_USED : 用来确定是否开启FPU功能。
Ps : “stm32fxxx.h"不同芯片不同名称,例如F407则为"stm32f4xx.h”
__FPU_PRESENT放在了"stm32fxxx.h"头文件里面进行宏定义
该宏定义为1,则该芯片有FPU功能
在keil的 Floating Point Hardware 设置为使用,相当于添加一句话 : #define __FPU_USED 1
这样即可开启FPU
CMSIS-DSP库
STM32cubeMX生成的项目
cubeMX生成的项目自带了DSP库,在 “\Drivers\CMSIS” 里面即可看到一个名叫"DSP"的目录,但是都是源码,不方便移植,所以移植的程序是 "*.lib"文件
1、在keil里面加入DSP头文件目录
2、加入 DSP的lib文件,文件放在\Drivers\CMSIS\Lib\ARM
3、加入宏定义
宏定义:
ARM_MATH_CM4