armink / CmBacktrace

Advanced fault backtrace library for ARM Cortex-M series MCU | ARM Cortex-M 系列 MCU 错误追踪库
MIT License
1.65k stars 649 forks source link

不使用cmb_fault.S汇编文件,改为在HardFault_Handler中调用cm_backtrace_fault的方法 #39

Open yy505149 opened 4 years ago

yy505149 commented 4 years ago

由于本人使用CubeMX配置生成工程,每次在修改配置重新生成后,注释掉的HardFault_Handler就会被重新生成并启用,又要去重新注释,很麻烦,所以在cm_backtrace.c中增加以下函数,并在cm_backtrace.h中增加对应的函数定义,函数参考了.s汇编文件的写法。这样就可以很方便的直接调用,而且不用考虑cm_backtrace_fault入口参数了。

__asm void cm_backtrace_ErrorDiagnosis(void) { IMPORT cm_backtrace_fault MOV r0, lr; MOV r1, sp; BL cm_backtrace_fault }

armink commented 4 years ago

挺不错的想法,感谢分享,也可以写个文档,提交到 /doc 目录哈

lanxb commented 3 years ago

那你应该修改 cubemx的配置 不启用生成HardFault_Handler image

yy505149 commented 3 years ago

那你应该修改 cubemx的配置 不启用生成HardFault_Handler image

谢谢分享,CubeMX确实还有很多不知道怎么使用。