背景知识:TM4C123GH6PZ该款MCU支持FPU单元。在我一直ucos时,发现程序仿真时总会进入FaultISR,经过查找确认,原因如下。
在某些函数使用了float的变量,而且在keil软件设置中选择了使用FPU,见图1,而程序当中任务跳转时没有按照对应FPU设置堆栈操作,从而导致了进入FaultISR。

图1
解决方法:1.可以修改keil设置,选择不使用FPU单元。见图2。

图2
2.keil选择“use FPU”,对应的ucos内程序堆栈操作进行修改。
本文介绍了在使用TM4C123GH6PZ MCU并配置了FPU单元时遇到的FaultISR问题及解决方案。通过调整KEIL软件设置或修改uCOS内程序堆栈操作,避免因FPU设置不当导致的任务跳转错误。
背景知识:TM4C123GH6PZ该款MCU支持FPU单元。在我一直ucos时,发现程序仿真时总会进入FaultISR,经过查找确认,原因如下。
在某些函数使用了float的变量,而且在keil软件设置中选择了使用FPU,见图1,而程序当中任务跳转时没有按照对应FPU设置堆栈操作,从而导致了进入FaultISR。

图1
解决方法:1.可以修改keil设置,选择不使用FPU单元。见图2。

图2
2.keil选择“use FPU”,对应的ucos内程序堆栈操作进行修改。

被折叠的 条评论
为什么被折叠?