title: STM32F4xx调用arm_math.h库
date: 2020-07-17 14:57:12
tags:
categories: STM32学习记录
为什么要用到这个库
这段时间在调Robomaster的电机,用的是大疆的F427主控,角度控制为了达到快速精准的效果,需要将PID的一个段写成非线性的方式,要用到"math.h"库当中的pow函数,但是使用KEIL自带的math.h对于单片机来说效率并不高,可能过多占用MCU,经了解,发现ARM提供了一个专为单片机设计的基于CM4内核的一个数学库,可以基于内核级别的数学运算优化,比传统的数学库速度快十到百倍左右,于是学习了一下调用这个函数库的一些步骤。
关于这个函数库的详细信息,请移步官网:https://www.keil.com/pack/doc/CMSIS/DSP/html/arm__math_8h.html
开始配置
废话不多说,我们先来看看存放Cortex内核核心外设使用的"core_cm4.h"文件:
#if defined ( __CC_ARM )
#if defined __TARGET_FPU_VFP
#if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
#define __FPU_USED 1U
#else
#error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
#define __FPU_USED 0U
#endif
#