重写看门狗设计说明为现状说明:删立项前旧描述、补FTL心跳路由与取证机制、修掩码与复位归因

This commit is contained in:
2026-10-10 10:57:31 +08:00
parent 0779d3a075
commit e89fe54a97
9 changed files with 382 additions and 954 deletions
+1 -1
View File
@@ -433,7 +433,7 @@ void StartUiTask(void *argument)
* 断言失败钩子(2026-09-29,配合 IWDG;见 Inc/FreeRTOSConfig.h 的 configASSERT)。
* 与栈溢出钩子同为"内核状态已不可信"路径:裸 UART 有界输出 + 主动复位,
* 不走 printf / 内核对象 / 控制台锁。
* 设计取舍(docs/子系统设计/看门狗设计说明.md §4.6):
* 设计取舍(docs/子系统设计/看门狗设计说明.md §4.4):
* - 上报 file/line 是断言唯一有价值的现场信息,故必须打印(早于 TCB 名之类);
* - 打印后**主动 NVIC_SystemReset()** 而非空转:断言点未必能让 IWDG 抓到
* (若恰在启动段,IWDG 尚未启动),主动复位保证任何断言都能自恢复;
+1 -1
View File
@@ -37,7 +37,7 @@
* 的 HAL_IWDG_Init **改名到下面的空实现**。宏只作用于其后、本文件内的调用点
* (含生成区那一句),生成代码一行都不用动 → 重生成后自动失效,不必再手工删。
* 真正的启动移交 task_wd_start() → wd_platform_start()(App/util/task_watchdog.c),
* 由它解锁并写 PR/RLR、再写 KR=0xCCCC 启动(见 docs/子系统设计/看门狗设计说明.md §4.5 决策 C)。
* 由它解锁并写 PR/RLR、再写 KR=0xCCCC 启动(见 docs/子系统设计/看门狗设计说明.md §4.1)。
* ⚠ 本宏只影响本编译单元;task_watchdog.c 那侧不经过它。
*/
static HAL_StatusTypeDef iwdg_deferred_start(const IWDG_HandleTypeDef *a_h)