你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
大树树 发表于 2018-8-25 09:45 昨天调试发现计算的时候关中断就不出错了。 但按道理讲创建任务时候加了OS_OPT_TASK_SAVE_FP选项的,可结 ...
安 发表于 2018-8-27 10:13 楼主的看一下是否增加了.s的代码,我以前用到float时,会发生死机的情况。 ; Reset handler Reset_Handler ...
党国特派员 发表于 2018-8-27 10:39 在任务初始化(OSTaskStkInit)的时候,跟一下。看浮点寄存器有没有入栈。
查看全部评分
stm1024 发表于 2018-8-27 21:03 有没有可能是你的计算步骤太长了,例如 q_3*powf(traj_PATH_x,3) + q_4*powf(traj_PATH_x,4)+ q_5 *powf( ...
wangweili1978 发表于 2018-8-28 11:43 根据你所说的错误描述,很可能是任务切换时浮点寄存器数据破坏了。 看下汇编代码,有没有使用S16-s31以上 ...
计算耗时多少啊,关中断计算完再开→_→
这个我看了下是有的
好的,我试试看,谢谢
q_3*powf(traj_PATH_x,3) + q_4*powf(traj_PATH_x,4)+ q_5 *powf(traj_PATH_x,5);
只算powf的时候就被中断打断了然后切换到了其他地方?
相当于你的操作不是原子性的……?但是理论上来说,及时打断了也能恢复,但是被打断的时候,寄存器是否有被中断函数覆写?
评分
查看全部评分
UCOS按正常来讲应该会将浮点寄存器的值入栈的,但感觉上没有正常入栈导致的问题。
看下汇编代码,有没有使用S16-s31以上的寄存器。如果有的话,有可能就是s16-s31这几个寄存器没有入栈。
评分
查看全部评分
查看是否入栈是要看汇编执行的情况吗?
不太会这些操作,有没有相关的资料教程之类的,求大侠分享