fix(stack): N-33 抬栈收口 defaultTask/timeSyncTask 栈余量(2 FAIL -> 0 FAIL)
既有债收口(非新引入):B7 定值持久化把 defaultTask 静态最坏链推到 3016 B、timeSyncTask 推到 1264 B,两者跌破 stack_report 判据 (余量 >= max(1024 B ISR, 配置 x 30%))。本轮只抬栈,不动调用链。 前基线(stack_report,9 任务): - defaultTask cfg 4096 B / 静态 3016 B / 余 1080 B (26%) FAIL - timeSyncTask cfg 2048 B / 静态 1264 B / 余 784 B (38%) FAIL - 其余 7 任务 PASS(net 2112/1728、ftp 1456/2640、ui 1336/15048、 test 736/7456、adc 1320/1240、iec104 1456/1104、protect 872/1176) 改动: - defaultTask 1024 -> 1280 words(4096 -> 5120 B):余 2104 B / 41% - timeSyncTask 512 -> 640 words(2048 -> 2560 B):余 1296 B / 50% - 后基线:9 任务 0 FAIL(stack_report 退出码 0) 堆开销(任务栈来自 FreeRTOS 堆,.map 静态数字不变): - defaultTask +1024 B、timeSyncTask +512 B,合计 +1536 B - 台架背书基线 heap free=17936 / min_ever=10000 B(B6),抬后 min_ever 预计 ~8464 B,仍远高于 3072 B 告警线 防丢失(CubeMX 存活 L1 纪律): - STM32F407-Demo.ioc 的 FREERTOS.Tasks01 同步改 1024 -> 1280 (.ioc 是 CubeMX 生成任务栈值的事实源,未跑重生成) - Src/freertos.c 生成区 .stack_size 与 .ioc 保持一致 - USER CODE BEGIN Variables 核算注释块补 N-33 依据(栈值理由唯一落点) - .cubemx_survival_baseline.json 经 --write 重建(仅 ioc-task-stacks 一行) task-table 生成区随栈变更再生成(README.md + AGENTS.md 的 TASK_TABLE 锚点区各 2 行,锚点区外无任何改动)。 验证:@build 0 错误 0 警告(Program Size 与改前逐字节一致); ci_local 全绿(L0 + L0.5,826/826 断言);stack_report 前后各跑一次。 台架 @test 与串口 [STACK] 水位复测在提交后单独跑。
This commit is contained in:
@@ -69,12 +69,12 @@ main.c
|
||||
<!-- TASK_TABLE:BEGIN generated by scripts/gen_task_table.py -->
|
||||
| 任务 | 栈大小 | 优先级 | 职责 |
|
||||
|------|--------|--------|------|
|
||||
| defaultTask | 1024 words | Normal | FTL + FatFS 挂载、配置引擎属主、syslog 唯一写者 |
|
||||
| defaultTask | 1280 words | Normal | FTL + FatFS 挂载、配置引擎属主、syslog 唯一写者 |
|
||||
| netTask | 960 words | Normal | 网络初始化 + CH395F 轮询 |
|
||||
| ftpTask | 1024 words | Normal | FTP 服务(等待网络+存储就绪) |
|
||||
| testTask | 2048 words | BelowNormal | 硬件测试入口 |
|
||||
| uiTask | 4096 words | BelowNormal | LVGL UI 界面 |
|
||||
| timeSyncTask | 512 words | Normal | 墙钟时间同步 |
|
||||
| timeSyncTask | 640 words | Normal | 墙钟时间同步 |
|
||||
| adcTask | 640 words | AboveNormal | TPAFE5160 采样(TIM3 1kHz 事件驱动 + 原子快照 + STM32 ADC DMA) |
|
||||
| iec104Task | 640 words | Normal | |
|
||||
| protectTask | 512 words | Normal | |
|
||||
|
||||
Reference in New Issue
Block a user