使用STM32F4浮点运算(FPU)功能开启+使用DSP库

本文详细介绍了如何在STM32F4 MDK5.2环境下配置并启用FPU功能,包括设置宏定义、配置浮点运算模式、添加必要的头文件及库文件等步骤。此外,还提供了调试技巧及常见问题解决方案。

涉及到的参数:这里以stm32F4  MDK5.2为例

(1)配置开启FPU功能标志

#define   __FPU_PRESENT       1U   //stm32f4xx.h 系统已经配置

#define   __FPU_USED          1U  //这个在core_cm4.h中,需要配置

由图知,要判断__CC_ARM 是否定义 ,判断__TARGET_FPU_VFP是否定义,最后判断__FPU_PRESENT是否已经配置为1,前面3个条件都为真的情况下,才配置__FPU_USED=1;其实可以简单化,直接在用户程序中配置__FPU_USED=1即可;

__CC_ARM:  #define   __CC_ARM     //1 有的系统会自己配置

__TARGET_FPU_VFP:定义设备有FPU功能,所以加入下句:

  #define   __TARGET_FPU_VFP    //1

当然__CC_ARM、__TARGET_FPU_VFP也可以在MDK->Option->C/C++->…中定义,如下图

(2)浮点配置函数在void SystemInit(void)即在system_stm32f4xx.c中

void SystemInit(void)

{

  /* FPU settings ------------------------------------------------------------*/

  #if (__FPU_PRESENT == 1) && (__FPU_USED == 1)

    SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2));  /* set CP10 and CP11 Full Access */

  #endif

就这一句   其实也可以不配置 __FPU_PRESENT  __FPU_PRESENT

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值