[技术问答] 如何让F4A0在uCOSIII的开启浮点运算单元

[复制链接]
7400|13
手机看帖
扫描二维码
随时随地手机跟帖
yangbeioften|  楼主 | 2022-4-7 15:55 | 显示全部楼层 |阅读模式
现在从uCOS官网上下载了uCOSIII V3.08.01的源码,移植之后,不开启FPU进行浮点运算没问题,但是开启FPU进行浮点运算就会HardFault,参考硬汉的教程,修改CPU_STK *OSTaskStkInit()和OS_CPU_PendSVHandler都不行,而且这个版本的OS_CPU_PendSVHandler中已经判断是否开启硬件FPU和入栈了。下面是没有任何修改开启FPU时出现的情况,提示总线错误:Bus fault is caused by instruction access violation。打印的寄存器值
  R0 : 00000000  R1 : 10000000  R2 : 1ffe0070  R3 : 0000001c
  R12: 00000000  LR : 00006be5  PC : 3df93dd8  PSR: 01000000


最后发现,是在文件 os_core.c第483行的语句  CPU_INT_EN();
这个展开如下:
CPU_SR_Restore
        CPSID   I                               ; Cortex-M7 errata notice. See Note #2
        MSR     BASEPRI, R0
        DSB
        ISB
        CPSIE   I
        BX      LR

现在不知道如何处理,希望华大的原厂帮忙解决一下




使用特权

评论回复
yangbeioften|  楼主 | 2022-4-7 16:57 | 显示全部楼层
解决了,换个版本就可以了,测试没问题了

使用特权

评论回复
chenjun89| | 2022-4-7 20:58 | 显示全部楼层
换的什么版本?

使用特权

评论回复
chenqianqian| | 2022-4-8 07:41 | 显示全部楼层
换了库函数版本嘛?

使用特权

评论回复
yangbeioften|  楼主 | 2022-4-8 08:27 | 显示全部楼层

换的uCOSIII,换成了V3.08.00

使用特权

评论回复
yangbeioften|  楼主 | 2022-4-8 08:28 | 显示全部楼层
chenqianqian 发表于 2022-4-8 07:41
换了库函数版本嘛?

换的uCOSIII,换成了V3.08.00

使用特权

评论回复
foxsbig| | 2022-4-9 16:47 | 显示全部楼层
怎么会呢?

使用特权

评论回复
tpgf| | 2022-5-4 13:55 | 显示全部楼层
会不会很耗费资源呢

使用特权

评论回复
nawu| | 2022-5-4 14:07 | 显示全部楼层
直接算会不会慢

使用特权

评论回复
aoyi| | 2022-5-4 14:17 | 显示全部楼层
更新哪个版本了啊?

使用特权

评论回复
zljiu| | 2022-5-4 14:40 | 显示全部楼层
有巧妙的算法

使用特权

评论回复
gwsan| | 2022-5-4 14:48 | 显示全部楼层
可以降低版本吗

使用特权

评论回复
tfqi| | 2022-5-4 14:59 | 显示全部楼层
ucosII可以实现吗

使用特权

评论回复
caigang13| | 2022-5-5 08:01 | 显示全部楼层
表示还在用ucosii

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则