STM32H5 的 freertos 和 浮点数运算 冲突勘误

问题排查:

在使用音频算法的时候,我希望通过定浮点转换来对音频数据归一化。此时,我发现归一化以后的数据,在dma接收中断内部是正常的,一拿到任务中运行则会异常。

导致我开始怀疑是否处理不及时导致值变更过快。反反复复排查了很久。
由此我发现在运算时禁止上下文切换,和增加临界区能够解决此问题。
 

问题结果:

stm32 需要 主动配置enable fpu,不然会导致在浮点运算出入栈时,没有正常保存现场,导致浮点值异常。所以一定要在这里配置FPU。这也算是踩坑了。给自己做个记录,下次注意。

引用链接:

我两周就写了三行代码 - ARM Cortex A9 中断与浮点数运算、FPU 问题 - 嵌入式工程猫的博客
Using FreeRTOS on ARM Cortex-A9 Embedded Processors - FreeRTOS™

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值