uCOS-II移植到Cortex-M4选择FPU就会出现问题

2019-03-23 14:47发布

今天把uCOS-II移植到Cortex-M4上面,由于M4和M3内核相似,M3的程序直接拿到M4上面就可以用,我用的是KeilMDK V4.23,硬件是STM32的stm32f4discovery开发套件需要注意的只有一点,不要选择使用FPU,就没有问题了。虽然uCOS-II是不支持浮点运算的,但是为什么选择这项我并不是很清楚。难道和MDK的优化有关?求高人指点。 


 此帖出自小平头技术问答  

2条回答
ketose
1楼 · 2019-03-23 19:03.采纳回答
你的项目里肯定有用到浮点计算。在M3里是使用模拟的,也就是软件浮点。M4里如果你选择了USE FPU就是表明你要使用硬件浮点。
UCOS-II是不支持硬件浮点的
如果要想支持硬件浮点,在任务切换时就要把浮点寄存器保存下来,不然计算就会出错。
lanmanck
2楼-- · 2019-03-23 17:28

不选择fpu m4就是m3,选择了就要改一下入栈。

一周热门 更多>