CmBacktrace
CmBacktrace copied to clipboard
Advanced fault backtrace library for ARM Cortex-M series MCU | ARM Cortex-M 系列 MCU 错误追踪库
为了保护机器设备安全性, 进入HardFault_Handler后, 一般要先执行急停指令(一般2-3条指令), 保护机器安全。。。 如果加在进入cm_backtrace_fault的首行? 会不会影响追踪准确性? 如果不能加在首行,应加到哪里合适? 前提是要保证急停的及时性。
Hi, Is there any possibility to have english version of the documentation? thank you.
@armink 从代码中看到,堆栈回溯的依据是检查堆栈中的内容是不是bl和blx指令,而不是去计算每个frame大小。如果堆栈中刚好有内容和指令码一样,这样回溯是不是就变得不可靠了?
Hi, can you please explain the changes to do in the FreeRTOS to make it work with cmbacktrace? thank you.
请问错误测试函数里边的错误触发条件时什么,为什么volatile int * SCB_CCR = (volatile int *) 0xE000ED14; 且*SCB_CCR 对应位置1才能检查出错误

疑问1: /* delete saved R0~R3, R12, LR,PC,xPSR registers space */ stack_pointer += sizeof(size_t) * 8; #if (CMB_CPU_PLATFORM_TYPE == CMB_CPU_ARM_CORTEX_M4) || (CMB_CPU_PLATFORM_TYPE == CMB_CPU_ARM_CORTEX_M7) stack_pointer = statck_del_fpu_regs(fault_handler_lr, stack_pointer); #endif /* (CMB_CPU_PLATFORM_TYPE...
在编译器不保存FP(frame pointer)的情况下,如何在程序内进行栈帧回溯的?
void fault_test_by_div0(void) { //volatile int *SCB_CCR = (volatile int *)0xE000ED14;// SCB->CCR int x, y, z; //*SCB_CCR |= (1