原创 ucosii 使用技巧

2015-5-14 17:50 1053 15 15 分类: MCU/ 嵌入式

一、问题:在执行完一个任务一次后,就会进入硬中断,硬件平台stm32f103vct6,IDEkeil, ucoii版本V2.86。

经过追踪发现在进入硬件中断前,是在任务调度函数中。

根据《Cotex-M3权威指南》查看Fault寄存器

qq图片20150429135457.jpg
qq图片20150429135531.jpg
查看仿真结果
捕获.jpg
发现是导致硬Falut的原因是存储器falut或总线fault或用法fault。再依次查询各个falt寄存器(注意这几个寄存器的大小),发现在存储器fault中出现错误。如下图
捕获.jpg
居然是“取指访问违例”,平常多见的是访问指针数组使用不当造成的错误,这次不一样。经过一番查找,比较大跌眼镜,任务忘了加死循环!!
 
二、OSFlagPost(FlagsAlarmLed, FLAGS_LED_ALL, OS_FLAG_CLR, 0);最后一个参数传递0也会导致硬Fault,这样就相当于传递给函数一个0地址参数。

文章评论0条评论)

登录后参与讨论
我要评论
0
15
关闭 站长推荐上一条 /2 下一条