HardFault问题求助
HardFault求助硬件方案:LPC1788
软件平台:KEIL472 RTX
问题: 运行几个小时会莫名跳HardFault,时间不固定。
错误日志如下:
APNT209上说的参考BFAR的值,不晓得这个值意义什么,还有这精确的总线异常请问是啥意思?
2call stack视图如下
原先设计是一个任务rt_mutex_wait ,结果进SVC_Handler后跳到rt_mutex_release里面去了。
请大佬帮忙看看,谢谢啦!
补充:
1、没有使用优先级组
2、优先级SVC 31PENDSV SYSTICK 32
3、RTX_CONFIG里面的ISR FIFO QUeue size 16 不知道跟这个有么有关系
4、rtx支持ITM调试怎么玩
出现这种问题,先排查,可以仅创建1个任务测试的。
调试直接上Event Recorder
http://www.armbbs.cn/forum.php?mod=viewthread&tid=87176&extra=page%3D1 eric2013 发表于 2018-12-14 17:45
出现这种问题,先排查,可以仅创建1个任务测试的。
调试直接上Event Recorder
谢谢提醒,我试试看你说的工具 rt_mutex_wait 不应该在任务中使用,应该用os前缀的 myxiaonia 发表于 2018-12-14 23:58
rt_mutex_wait 不应该在任务中使用,应该用os前缀的
谢谢,我确认下 myxiaonia 发表于 2018-12-14 23:58
rt_mutex_wait 不应该在任务中使用,应该用os前缀的
用的就是带前缀的 打印信息是通过SVC调用执行的实际函数
#define os_mut_init(mutex) _os_mut_init((U32)rt_mut_init,mutex)
#define os_mut_release(mutex) _os_mut_release((U32)rt_mut_release,mutex)
#define os_mut_wait(mutex,timeout) _os_mut_wait((U32)rt_mut_wait,mutex,timeout)
eric2013 发表于 2018-12-14 17:45
出现这种问题,先排查,可以仅创建1个任务测试的。
调试直接上Event Recorder
请问rtx4怎么在MDK5上看任务的运行情况,你发的例子没太看懂。。。 juzibaba 发表于 2018-12-17 13:58
请问rtx4怎么在MDK5上看任务的运行情况,你发的例子没太看懂。。。
不能看栈使用情况了,其它都正常。 juzibaba 发表于 2018-12-17 09:06
用的就是带前缀的 打印信息是通过SVC调用执行的实际函数
#define os_mut_init(mutex) _os_mut ...
rtx的运行时库在使用printf这个标准库是有问题的,建议不要用printf,而是自定义的打印函数 myxiaonia 发表于 2018-12-19 20:26
rtx的运行时库在使用printf这个标准库是有问题的,建议不要用printf,而是自定义的打印函数
OK,谢谢提醒!
页:
[1]