CmBacktrace
CmBacktrace copied to clipboard
Advanced fault backtrace library for ARM Cortex-M series MCU | ARM Cortex-M 系列 MCU 错误追踪库
最近在使用S32K146芯片,移植过程遇到些问题。开发环境:KEILV5.36 + AC6。 **1. 需要自行定义__CLANG_ARM这个宏?** S32K146仅支持AC6编译器。但从AC6的用户手册上查不到有预定义__CLANG_ARM这个宏,而是定义了__GNUC__这个宏。AC6本身是兼容GCC语法的。 我不太清楚这个宏是从哪来的?是否需要自行定义? **2. 自行添加__CLANG_ARM后,编译报错,这个需要怎么改动?** 我的修改: /* C stack block name, default is STACK */ #define CMB_CSTACK_BLOCK_NAME ARM_LIB_STACK /* code section name, default is ER_IROM1 */...
感觉您的这个项目对于小白相当有价值 能否添加一个demo,支持ucos2,F429系列的支持呢? 非常感谢!
使用NXP的S32K144芯片,裸机,gcc version 4.9.3 20150529 (release) [ARM/embedded-4_9-branch revision 227977] (GNU Tools for ARM Embedded Processors)编译器编译发生以下报错: cm_backtrace.c:236: undefined reference to `_sstack' cm_backtrace.c:236: undefined reference to `_stext' cm_backtrace.c:236: undefined reference to `_estack' cm_backtrace.c:236:...
Hi~,Armink: 拜读了您的cmbacktrace代码,在阅读到cm_backtrace_call_stack函数的时候,有两个点不是很理解,请您赐教。代码段如下: /* copy called function address */ for (; sp < stack_start_addr + stack_size; sp += sizeof(size_t)) { /* the *sp value may be LR, so need decrease a...
stack_pointer += sizeof(size_t) * 8?
ARM_CM4F,xTaskCreatStatic创建任务。当改动tskTCB后,不改动FreeRTOS.h文件中 StaticTask_t结构体,获取任务剩余堆栈一直为0,相应改动 StaticTask_t结构体后获取任务剩余堆栈正常。
按照指引导入各项文件后,编译报Image$$ER_IROM1$$Base这个错误,网上查询很久也没见到解决方法,不知道应该怎么解决呢? 我未使用cmb_fault.S文件,仍然是在原有的HardFault_Handler中调用cm_backtrace_fault
由于本人使用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 }
你好,请问下我定位问题时,打印如下 0> Firmware name: iHome, hardware version: V1.0.0, software version: V0.1.0 0> Fault on interrupt or bare metal(no OS) environment 0> ===== Thread stack information ===== 0> addr: 20002FB0 data:...
和bt库似乎没关系,后来增加调试信息发现`print_call_stack()`执行一半mcu就停止运行了,最重要的调用关系没来得及打印,不知道为什么会没执行到最后 ```c [5103078] E/cmb: [5103078] E/cmb: Firmware name: rtthread, hardware version: 1.0, software version: 1.0 [5103078] E/cmb: Fault on interrupt or bare metal(no OS) environment [5103078] E/cmb: ===== Thread stack...