开FPU后功耗降不下来

FPU:(Float Point Unit,浮点运算单元)FPU是专用于浮点运算的处理器



开启FPU,程序中执行浮点运算后,功耗就降不下来了,需要添加下面代码


#define FPU_EXCEPTION_MASK 0x0000009F

void power_manage(void)

{

    /* Clear exceptions and PendingIRQ from the FPU unit */

    __set_FPSCR(__get_FPSCR()  & ~(FPU_EXCEPTION_MASK));

    (void) __get_FPSCR();

    NVIC_ClearPendingIRQ(FPU_IRQn);

    uint32_t err_code = sd_app_evt_wait();

    APP_ERROR_CHECK(err_code);

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CubeMX是STMicroelectronics公司发的一款集成发环境(IDE)软件,用于发STM32微控制器。FPU是浮点单元(Floating Point Unit)的缩写,是CPU的一个组件,用于执行浮点运算。在使用CubeMX软件进行STM32的发时,可以通过配置使得FPU能够被使用。 使用FPU可以加快程序执行浮点运算的速度,特别是在涉及到大量的浮点运算时。对于一些需要高精度计算或者需要频繁处理浮点数的应用程序,启用FPU可以显著提高程序的运算性能。通常,启用FPU需要在程序中进行一些特殊的配置,以便将浮点数数据类型与处理器的FPU相关部分相关联。 在CubeMX中,可以通过简单的界面操作对FPU进行相应的配置。首先,需要选择正确的STM32系列和型号,并将相应的时钟设置和其他外设配置完成。然后,在“配置”选项卡中,可以找到“启用浮点单元”选项,勾选启用FPU,并选择想要使用的FPU类型(如单精度硬件浮点单元或双精度硬件浮点单元)。 通过这样的配置,生成的CubeMX代码将自动包含关于FPU的初始化和配置代码。这样,发人员就可以在程序中使用浮点数数据类型,以及进行浮点数的运算。在运行时,FPU将会处理这些浮点运算,提供更高的计算性能。 总之,CubeMX为STM32的发提供了便捷的图形化界面,同时也提供了对FPU的配置,使得发人员能够方便地启用FPU,提高程序的浮点运算性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值