fix(vd960DBN): fault_diag 无条件打印 marker — 卡死(非HardFault)也能定位
原只在 magic=0xFA57FA57 (HardFault) 时打印, 卡死/IWDG 复位时 marker 有值但 magic=0 → 轨迹丢失。改为: - magic 有效 → 完整现场 (mcause/mepc/mtval/marker) - marker!=0 且无 HardFault → 打印 no-hardfault + marker (卡死定位)
This commit is contained in:
@@ -59,6 +59,11 @@ void fault_diag_init(void)
|
||||
(unsigned long)g_fault_diag.mepc,
|
||||
(unsigned long)g_fault_diag.mtval,
|
||||
(unsigned long)g_fault_diag.marker);
|
||||
} else if (g_fault_diag.marker != 0) {
|
||||
/* 非 HardFault 复位 (IWDG 超时/卡死/掉电): marker 仍记录执行轨迹 */
|
||||
PRINT("FAULT_DIAG: no-hardfault boot_cnt=%lu marker=0x%08lx (卡死/看门狗复位)\n",
|
||||
(unsigned long)g_fault_diag.boot_cnt,
|
||||
(unsigned long)g_fault_diag.marker);
|
||||
}
|
||||
/* 重置现场, boot_cnt 保留递增 */
|
||||
g_fault_diag.magic = 0;
|
||||
|
||||
Reference in New Issue
Block a user