请选择 进入手机版 | 继续访问电脑版

安富莱电子论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 139|回复: 9
收起左侧

[RL-RTX] HardFault问题求助

[复制链接]

1

主题

11

帖子

13

积分

新手上路

积分
13
发表于 2018-12-14 14:40:47 | 显示全部楼层 |阅读模式
HardFault求助

硬件方案:LPC1788
软件平台:KEIL472 RTX
问题: 运行几个小时会莫名跳HardFault,时间不固定。

错误日志如下:
错误日志.png
APNT209上说的参考BFAR的值,不晓得这个值意义什么,还有这精确的总线异常请问是啥意思?

2  call stack视图如下

111Hardfault.png
原先设计是一个任务rt_mutex_wait ,结果进SVC_Handler后跳到rt_mutex_release里面去了。


请大佬帮忙看看,谢谢啦!

补充:
1、没有使用优先级组
2、优先级SVC 31  PENDSV SYSTICK 32
3、RTX_CONFIG里面的ISR FIFO QUeue size 16 不知道跟这个有么有关系
4、rtx支持ITM调试怎么玩
回复

使用道具 举报

5275

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
42666
QQ
发表于 2018-12-14 17:45:08 | 显示全部楼层
出现这种问题,先排查,可以仅创建1个任务测试的。

调试直接上Event Recorder
http://forum.armfly.com/forum.ph ... &extra=page%3D1
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

1

主题

11

帖子

13

积分

新手上路

积分
13
 楼主| 发表于 2018-12-14 17:53:49 | 显示全部楼层
eric2013 发表于 2018-12-14 17:45
出现这种问题,先排查,可以仅创建1个任务测试的。

调试直接上Event Recorder

谢谢提醒,我试试看你说的工具
回复

使用道具 举报

3

主题

382

帖子

388

积分

版主

Rank: 7Rank: 7Rank: 7

积分
388
发表于 2018-12-14 23:58:01 | 显示全部楼层
rt_mutex_wait 不应该在任务中使用,应该用os前缀的
回复

使用道具 举报

1

主题

11

帖子

13

积分

新手上路

积分
13
 楼主| 发表于 2018-12-17 09:01:18 | 显示全部楼层
myxiaonia 发表于 2018-12-14 23:58
rt_mutex_wait 不应该在任务中使用,应该用os前缀的

谢谢,我确认下
回复

使用道具 举报

1

主题

11

帖子

13

积分

新手上路

积分
13
 楼主| 发表于 2018-12-17 09:06:46 | 显示全部楼层
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)
回复

使用道具 举报

1

主题

11

帖子

13

积分

新手上路

积分
13
 楼主| 发表于 2018-12-17 13:58:54 | 显示全部楼层
eric2013 发表于 2018-12-14 17:45
出现这种问题,先排查,可以仅创建1个任务测试的。

调试直接上Event Recorder

请问rtx4怎么在MDK5上看任务的运行情况,你发的例子没太看懂。。。
回复

使用道具 举报

5275

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
42666
QQ
发表于 2018-12-17 15:43:01 | 显示全部楼层
juzibaba 发表于 2018-12-17 13:58
请问rtx4怎么在MDK5上看任务的运行情况,你发的例子没太看懂。。。

不能看栈使用情况了,其它都正常。
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

3

主题

382

帖子

388

积分

版主

Rank: 7Rank: 7Rank: 7

积分
388
发表于 2018-12-19 20:26:11 | 显示全部楼层
juzibaba 发表于 2018-12-17 09:06
用的就是带前缀的 打印信息是通过SVC调用执行的实际函数

#define os_mut_init(mutex)         _os_mut ...

rtx的运行时库在使用printf这个标准库是有问题的,建议不要用printf,而是自定义的打印函数
回复

使用道具 举报

1

主题

11

帖子

13

积分

新手上路

积分
13
 楼主| 发表于 2018-12-20 09:10:08 | 显示全部楼层
myxiaonia 发表于 2018-12-19 20:26
rtx的运行时库在使用printf这个标准库是有问题的,建议不要用printf,而是自定义的打印函数

OK,谢谢提醒!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|安富莱电子论坛 ( 鄂ICP备09023347号,公安机关备案号42010602000201 )

GMT+8, 2019-2-19 10:55 , Processed in 0.209956 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表