背景知识: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单元。在我一直ucos时,发现程序仿真时总会进入FaultISR,经过查找确认,原因如下。
在某些函数使用了float的变量,而且在keil软件设置中选择了使用FPU,见图1,而程序当中任务跳转时没有按照对应FPU设置堆栈操作,从而导致了进入FaultISR。
图1
解决方法:1.可以修改keil设置,选择不使用FPU单元。见图2。
图2
2.keil选择“use FPU”,对应的ucos内程序堆栈操作进行修改。