搜索
bottom↓
楼主: sunnydragon

【开源】ARM Cortex-M 错误追踪库,让 HardFault 不再可怕

  [复制链接]

出0入0汤圆

发表于 2017-11-6 11:46:17 | 显示全部楼层
我加到了
xTaskGenericCreate
这个函数里

出0入0汤圆

发表于 2017-11-27 10:38:57 | 显示全部楼层
我是新手,移植不成功,求楼主把移植说的更明白些。

出0入0汤圆

发表于 2017-11-27 13:46:34 | 显示全部楼层
这工具不错很给力,感谢分享

出140入115汤圆

发表于 2017-12-23 22:36:52 | 显示全部楼层
什么时候支持RTX呀?

出0入198汤圆

 楼主| 发表于 2017-12-25 08:05:59 | 显示全部楼层
yanyanyan168 发表于 2017-12-23 22:36
什么时候支持RTX呀?

暂时不会支持哦~

出0入4汤圆

发表于 2017-12-25 08:49:59 | 显示全部楼层
支持楼主开源分享精神

出0入0汤圆

发表于 2017-12-26 09:02:58 | 显示全部楼层
支持楼主开源分享精神

出0入0汤圆

发表于 2017-12-26 13:17:00 | 显示全部楼层
mark, 谢谢分享

出0入0汤圆

发表于 2017-12-28 09:45:15 | 显示全部楼层
鼓励,好东西,辛苦了。

出0入0汤圆

发表于 2017-12-28 13:46:32 | 显示全部楼层
楼主的工具直戳我们心头的痛呀,好东西,感谢楼主分享。

出0入0汤圆

发表于 2018-1-9 13:43:56 | 显示全部楼层
本帖最后由 onev 于 2018-1-9 13:55 编辑

实验了一下 楼主的挺好用的    楼主有没有更详细的其他demo

出0入0汤圆

发表于 2018-1-9 16:29:32 | 显示全部楼层
感谢牛人分享,给你点赞!!!

出0入8汤圆

发表于 2018-1-10 13:47:59 | 显示全部楼层
很棒啊,支持支持

出0入0汤圆

发表于 2018-1-10 19:15:30 | 显示全部楼层
很好的东西,支持。

出0入0汤圆

发表于 2018-1-11 17:34:38 | 显示全部楼层
楼主,您好,我这边运行addr2line -e CmBacktrace.axf -a -f 08001cda 08001d2d 08002614 08002614 08001d2d 08002614 08000261 ,提示 supported targets:pe-i386 elf32-i386 等这些,看不到 错误的提示信息,请问这个问题要怎么解决一下呢,谢谢。

出0入198汤圆

 楼主| 发表于 2018-1-11 19:11:54 | 显示全部楼层
lpdpzc 发表于 2018-1-11 17:34
楼主,您好,我这边运行addr2line -e CmBacktrace.axf -a -f 08001cda 08001d2d 08002614 08002614 08001d2 ...

不太明白你的操作,务必要按照教程文档中方法来操作。

https://github.com/armink/CmBacktrace

https://github.com/armink/CmBack ... e_for_call_stack.md

出0入0汤圆

发表于 2018-1-12 13:01:36 | 显示全部楼层
感谢分享!

出0入0汤圆

发表于 2018-1-12 13:44:06 | 显示全部楼层
sunnydragon 发表于 2018-1-11 19:11
不太明白你的操作,务必要按照教程文档中方法来操作。

https://github.com/armink/CmBacktrace

感谢你的回复,已经解决,是电脑系统的问题,没有-a 项,换台电脑后解决。

出0入0汤圆

发表于 2018-1-12 20:38:55 | 显示全部楼层
好呀正需要

出0入0汤圆

发表于 2018-1-14 19:59:15 | 显示全部楼层
very nice! 赞一个

出0入0汤圆

发表于 2018-1-16 17:09:30 | 显示全部楼层
请教楼主

测试错误输出:
Bus fault is caused by imprecise data access violation
Show more call stack info by run: addr2line -e CmBacktrace.axf -a -f s

1.为什么没有跟错误函数地址?
2.CmBacktrace.axf是不存在的,这个是固定的?

出0入198汤圆

 楼主| 发表于 2018-1-16 21:36:32 | 显示全部楼层
xingkong911 发表于 2018-1-16 17:09
请教楼主

测试错误输出:

使用的 GitHub 上的最新版吗?

出0入0汤圆

发表于 2018-1-17 08:31:02 | 显示全部楼层
sunnydragon 发表于 2018-1-16 21:36
使用的 GitHub 上的最新版吗?

是,从GitHub下载的
直接测试你的例程是正常显示

出0入198汤圆

 楼主| 发表于 2018-1-17 11:47:57 | 显示全部楼层
xingkong911 发表于 2018-1-17 08:31
是,从GitHub下载的
直接测试你的例程是正常显示

文档里面有说明这个固件名字的初始化

https://github.com/armink/CmBacktrace#24-api-%E8%AF%B4%E6%98%8E

建议先把 STM32 的 demo 彻底熟悉后,先基于 demo  工程进行移植测试。最后再完全移植到自己的项目中。

出0入0汤圆

发表于 2018-1-18 14:04:23 | 显示全部楼层
感谢分享!

出0入0汤圆

发表于 2018-1-18 17:52:59 | 显示全部楼层
感谢楼主!!!

出0入0汤圆

发表于 2018-1-22 14:18:13 | 显示全部楼层
收藏,这下方便了

出0入0汤圆

发表于 2018-7-5 10:38:26 | 显示全部楼层
很好用,感谢分享!

出140入115汤圆

发表于 2018-10-5 17:51:42 | 显示全部楼层
大侠
没有M4的裸机例程啊

出0入0汤圆

发表于 2018-10-6 08:00:26 | 显示全部楼层
不错,下载试试看,多谢楼主。

出0入0汤圆

发表于 2019-1-30 21:57:04 | 显示全部楼层

挺好的东西

出0入0汤圆

发表于 2019-2-2 17:00:50 来自手机 | 显示全部楼层
感谢楼主,辛苦了

出0入0汤圆

发表于 2019-2-16 17:17:26 | 显示全部楼层
遇到HardFault经常找半天,下载来好好研究下。

出0入0汤圆

发表于 2019-2-28 11:32:42 | 显示全部楼层
太强大了,感谢楼主分享!

出0入0汤圆

发表于 2019-10-12 18:59:32 | 显示全部楼层
楼主的水平非常高,而且无私分享,佩服佩服。

出0入0汤圆

发表于 2020-5-19 21:52:36 | 显示全部楼层
请问这个移植到FreeRTOS,使用AC6报错。说_sstack等没定义,有人知道怎么做吗?谢谢!
#elif defined(__GNUC__)
    /* C stack block start address, defined on linker script file, default is _sstack */
    #ifndef CMB_CSTACK_BLOCK_START
    #define CMB_CSTACK_BLOCK_START         _sstack
    #endif
    /* C stack block end address, defined on linker script file, default is _estack */
    #ifndef CMB_CSTACK_BLOCK_END
    #define CMB_CSTACK_BLOCK_END           _estack
    #endif
    /* code section start address, defined on linker script file, default is _stext */
    #ifndef CMB_CODE_SECTION_START
    #define CMB_CODE_SECTION_START         _stext
    #endif
    /* code section end address, defined on linker script file, default is _etext */
    #ifndef CMB_CODE_SECTION_END
    #define CMB_CODE_SECTION_END           _etext
    #endif
#else

出5入4汤圆

发表于 2020-6-4 23:15:24 | 显示全部楼层
试过了,一开始不能打印完全,比如“addr2line -e CmBacktrace.out -a -f 08001dfc 08000178 08002b10”只能打印出"addr2line -e CmBacktrace.out -a -f s"
研究发现 我的打印使用是RTT 在 print_call_stack()函数中,有个打印会打印不出来,于是先用sprintf函数先构建字符串 然后整体打印出来即可
后续发现使用addr2line -e CmBacktrace.out -a -f 08001dfc 08000178 08002b10 在CMD中没效果,最后把 addr2line 的路径加到环境变量里面解决了

出0入0汤圆

发表于 2020-6-7 13:40:19 来自手机 | 显示全部楼层
谢谢分享,收藏备用

出0入0汤圆

发表于 2020-6-12 11:14:01 | 显示全部楼层
本帖最后由 oooios 于 2020-6-12 21:30 编辑

请问一下,使用j-link RTT的easylog输出打印不全。还望多多指教。
D/===== Thread stack information =====

D/Show more call stack info by run: addr2line -e CmBacktrace.axf -a -f 0002ebe4 0002fd20 00026954 


出0入0汤圆

发表于 2020-6-29 22:48:28 | 显示全部楼层
感谢牛人的分享,学习一下

出0入0汤圆

发表于 2020-6-30 08:24:52 来自手机 | 显示全部楼层
不错,这个可以加精

出0入0汤圆

发表于 2020-6-30 11:59:36 | 显示全部楼层
感谢分享

出0入0汤圆

发表于 2020-7-1 11:07:46 | 显示全部楼层
好东西,做个记号

出0入0汤圆

发表于 2020-7-3 09:22:04 | 显示全部楼层
对楼主表示敬意,我这里有一个FreeRTOS的项目,随机故障,正好用这个找找原因

出0入0汤圆

发表于 2020-7-3 09:53:42 来自手机 | 显示全部楼层
收藏了。            

出0入0汤圆

发表于 2020-7-28 09:51:16 | 显示全部楼层
非常棒的功能一直都想要 HARD FAULT

出0入0汤圆

发表于 2020-10-9 14:01:52 | 显示全部楼层
好东西,收藏了,感谢分享

出0入0汤圆

发表于 2020-10-12 13:23:04 | 显示全部楼层
错误追踪

出10入0汤圆

发表于 2020-12-1 13:05:14 | 显示全部楼层

RTX好像没有TCB的细分。任务名字和任务的堆指针和堆大小都要自己去写函数返回。

出0入0汤圆

发表于 2020-12-17 20:15:01 来自手机 | 显示全部楼层
错误代码追踪

出0入0汤圆

发表于 2021-1-27 10:49:46 | 显示全部楼层
请教下移植完成后,下载进去代码不执行 感觉一直在复位状态,仿真看了下 启动代码都没执行。

出715入1076汤圆

发表于 2021-1-27 11:31:04 | 显示全部楼层
我曾經自己寫過一個 mips 版本的,後來發現 gcc 自帶 backtrace 功能。。。( _Unwind_Backtrace )

譬如我這個隊列程序,打開檢查之後,每次操作都檢查一下隊列的完整性,如果檢查出異常,就会報告錯誤,並打印出當前函數調用關系,看是誰調用導致的。請參考最下面 list_check 函數:
https://github.com/dukelec/cdnet/blob/master/utils/cd_list.c

出0入0汤圆

发表于 2021-1-28 13:16:10 | 显示全部楼层
Ary 发表于 2021-1-27 10:49
请教下移植完成后,下载进去代码不执行 感觉一直在复位状态,仿真看了下 启动代码都没执行。 ...

printf 函数没有使能 Use MicroLIB 原因造成。不过打印错误是 总是提示  获取函数调用栈失败 什么原因?   #define CMB_USING_DUMP_STACK_INFO  定义了

出0入0汤圆

发表于 2021-3-30 16:50:56 | 显示全部楼层
多谢楼主分享 好东西

出0入0汤圆

发表于 2022-3-20 08:57:51 来自手机 | 显示全部楼层
感谢大牛分享

出0入0汤圆

发表于 2022-3-21 08:38:18 | 显示全部楼层
mark.ARM Cortex-M 错误追踪库,让 HardFault 不再可怕. 谢谢!

出0入0汤圆

发表于 2022-3-21 10:31:56 | 显示全部楼层
很有价值的开源项目!LZ加油
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-30 10:20

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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