Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Hardfault
请教用cmBackTrace追踪到的hardfault问题
发布于 2018-07-23 17:42:00 浏览:7609
订阅该版
请教一下,我用cm_backtrace追踪工程问题,输出日志如下: ``` Firmware name: CmBacktrace, hardware version: V1.0.0, software version: V0.1.0 Fault on interrupt or bare metal(no OS) environment =================== Registers information ==================== R0 : 00000000 R1 : 00000000 R2 : 20006f04 R3 : 00000000 R12: 00000014 LR : 0801653b PC : 00000000 PSR: 6000000f ============================================================== Usage fault is caused by attempts to switch to an invalid state (e.g., ARM)Show more call stack info by run: addr2line -e CmBacktrace.axf -a -f 00000000 08016537 080164e9 0800b697 08015a2d 08015e0b ``` 在cmd中输入addr2line那条命令后得到的消息如下: ``` E:\Gitrepo\tbox\tbox_project\bsp\stm32f10x\Objects>addr2line] 0x00000000?? ??:00x08016537 rt_timer_check E:\Gitrepo\tbox\tbox_project\bsp\stm32f10x/..\..\src\timer.c:518 0x080164e9 rt_tick_increase E:\Gitrepo\tbox\tbox_project\bsp\stm32f10x/..\..\src\clock.c:104 0x0800b697 SysTick_Handler E:\Gitrepo\tbox\tbox_project\bsp\stm32f10x/src\USER\/stm32f10x_it.c:198 0x08015a2d$d ??:?0x08015e0b rt_system_scheduler_start E:\Gitrepo\tbox\tbox_project\bsp\stm32f10x/..\..\src\scheduler.c:176 ``` 上面这些全部都是rt-thread源码的函数,这个实际问题是什么原因呢?
查看更多
20
个回答
默认排序
按发布时间排序
Skullboyer
2019-06-03
这家伙很懒,什么也没写!
是使用CmBacktrace定位出故障位置么,我尝试了很多次就是无法定位故障,CmBacktrace提示的不是故障发生的位置和原因
lillian
2018-07-23
这家伙很懒,什么也没写!
rt_timer_check 518行
mmyer
2018-07-23
这家伙很懒,什么也没写!
[i=s] 本帖最后由 mmyer 于 2018-7-23 18:31 编辑 [/i] t->timeout_func()调用的是你自己写的定时器回调函数,肯定是你自己写的出问题了。
lillian
2018-07-23
这家伙很懒,什么也没写!
>t->timeout_func()调用的是你自己写的定时器回调函数,肯定是你自己写的出问题了。 ... --- 我的系统没有用软件定时器,都是默认配置。所以问题是我没有写定时器的callback函数吗?
moss
2018-07-24
这家伙很懒,什么也没写!
用JLINK单步调试缩小范围
lillian
2018-07-24
这家伙很懒,什么也没写!
``` 0x0801630e rt_thread_timeout E:\Gitrepo\tbox\tbox_project\bsp\stm32f10x/..\..\src\thread.c:731 0x0801630b rt_thread_timeout E:\Gitrepo\tbox\tbox_project\bsp\stm32f10x/..\..\src\thread.c:728 0x08016453 rt_timer_check E:\Gitrepo\tbox\tbox_project\bsp\stm32f10x/..\..\src\timer.c:518 0x08016405 rt_tick_increase E:\Gitrepo\tbox\tbox_project\bsp\stm32f10x/..\..\src\clock.c:104 0x0800b717 SysTick_Handler E:\Gitrepo\tbox\tbox_project\bsp\stm32f10x/src\USER\/stm32f10x_it.c:198 0x08015a7d $d ??:? 0x08015dbb rt_system_scheduler_start E:\Gitrepo\tbox\tbox_project\bsp\stm32f10x/..\..\src\scheduler.c:176 ```
lillian
2018-07-24
这家伙很懒,什么也没写!
今天cmbacktrace又追踪到一个bus fault:看起来又是系统函数,问题定位在下面这里: ```c void rt_thread_timeout(void *parameter) { struct rt_thread *thread; thread = (struct rt_thread *)parameter; /* thread check */ RT_ASSERT(thread != RT_NULL); RT_ASSERT((thread->stat & RT_THREAD_STAT_MASK) == RT_THREAD_SUSPEND); /* set error number */ thread->error = -RT_ETIMEOUT; /* remove from suspend list */ rt_list_remove(&(thread->tlist)); /* insert to schedule ready list */ rt_schedule_insert_thread(thread); /* do schedule */ rt_schedule(); } ```
lillian
2018-07-24
这家伙很懒,什么也没写!
>今天cmbacktrace又追踪到一个bus fault:看起来又是系统函数,问题定位在下面这里: 请问有没有人遇到过类似的问题呀?
armink
2018-07-25
这家伙很懒,什么也没写!
抛开应用层的功能,能确定系统有没有正常的跑起来了?
armink
2018-07-25
这家伙很懒,什么也没写!
你的 CmBacktrace 日志提示的也挺明显的: ``` Fault on interrupt or bare metal(no OS) environment ``` 说明代码是在中断中发生的问题。 看你好像还用了软件定时器。第二种尝试方法,建议把下面的选项选中再试试[attach]4416[/attach]
撰写答案
登录
注册新账号
关注者
0
被浏览
7.6k
关于作者
lillian
这家伙很懒,什么也没写!
提问
17
回答
49
被采纳
0
关注TA
发私信
相关问题
1
RTT1.0,STM32调试时会跑到HardFault【已解决】,出现新问题
2
新手请教关于hardfault怎么查
3
github最新版本库中stm32f0X分支,运行切换任务时候出现hardfault[已解决]
4
实现iap功能,bootloader使用了rtt操作系统,在跳转到app代码的时候提示出现hardfault的问题
5
ymodem在on_begin内发送can无法断开连接,而且RTT会报hardfault
6
挂载UFFS文件系统执行到退出_BuildTreeStepOne函数时hardfault异常
7
STM32F1+RTT串口接收中断进入hardfault
8
STM32F746NG随机进入hardfault(已解决)
9
[已解决]自已建了个STM32F103的MDK工程,初始化时总是进入HardFault,求教!
10
将 Cortex M3 的 hardfault 处理与 M4、M7、M0 保持一致?
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
简单两步配置RTT源码阅读环境 vsc+clangd
2
恩智浦[FRDM-MCXN947]初探 之 ADC与DAC
3
LVGL使用字库IC芯片显示中文
4
基于STM32H750和Rt-Thread的CANFD通信实现的记录(一)
5
freemodbus主机在freertos的适配,参考rtthread例程
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
编译报错
Debug
SFUD
msh
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1443
个答案
289
次被采纳
张世争
805
个答案
174
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
4
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
1
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部