新证据: BOOT_CNT@0x2000f854 = .noinit 被推到 RAM 顶, 栈顶(0x20010000) 之下仅 ~1.9KB → .bss≈46KB (BLE/WCHNET/SPI_FLASH_BUF 等大数组挤占)。 栈溢出 → 覆盖 .noinit(g_boot_count 恒1/g_fault_diag 消失) + 覆盖返回地址 → PC 跑飞跳回 0 → 循环。快照延后无效因为问题不是快照 SPI 而是栈空间。 - BOOT_CNT 打印加 _end(堆起点, 反推.bss大小) + 当前 SP(栈深) - load_cfg/output_cfg #if 0 (EXPD 标记): 稳定→触发点确认; 仍崩→更晚 - 待用户提供编译后 .map 确认 .bss 组成