调试介绍:
硬件平台:PowerPC5247
软件平台:vxworks
使用语言:C语言
错误总结:
1、在生成任务时,如果在任务中使用浮点计算,一定需要将任务的标志VX_FP_TASK设置,否则将会出错,主要在其他任务中出现0/0错误
产生原因:
没有设置浮点计算标识,进入任务运行没有在进入任务时保存浮点寄存器值,这样在任务中进行浮点运算将破坏了浮点寄存器的内容,而在任务推出后,浮点寄存器不能恢复,造成其他任务在进行浮点计算时出现浮点运算错误。
修改办法:
在创建任务时,设置VX_FP_TASK标识
2、在从硬件或者其他软件任务获取浮点数值时,一定需要确认入口的数值合法,否则如果一些非法数值将造成浮点计算溢出,从而产生浮点溢出错误;
产生原因:
输入的浮点数非法范围,进行浮点计算将溢出;
规避办法:
在进行浮点数入口出进行数值合法性判断,对于非法值进行预处理;
文章知识点与官方知识档案匹配,可进一步学习相关知识C技能树首页概览113348 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!