netTask 栈 1024→960:按静态最坏链核算并同步 .ioc/README/审计基线
静态最坏链 2664B(日志主导:链上 5 帧各含 192B __con_line + 尾部 696B) 3840B 配置下余量 1176B(30.6%),过 stack_report 规则 net_drain_chip_rx scratch 静态化实测仅省 16B 栈、反增 256B BSS,已回退 .ioc FREERTOS.Tasks01 同步 960(L1 记账,重生成不丢)
This commit is contained in:
@@ -16,7 +16,7 @@
|
||||
"hal-iwdg-enabled": "c8c9b916b05464b9",
|
||||
"ioc-keepusercode": "b5bea41b6c623f7c",
|
||||
"ioc-iwdg-present": "d3a6e667048c95db",
|
||||
"ioc-task-stacks": "72969c5a8569f4d2"
|
||||
"ioc-task-stacks": "3262f737d92dcbee"
|
||||
},
|
||||
"_note": "CubeMX 存活审计基线;改动用 --write 重建"
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@ STM32F407ZGTx @168MHz(HSE 8MHz → PLL M=4/N=168/P=2);**仅 Keil MDK-ARM v
|
||||
| Task | 栈 (words) | 优先级 |
|
||||
|---|---|---|
|
||||
| defaultTask | 1024 | Normal |
|
||||
| netTask | 1024 | Normal |
|
||||
| netTask | 960 | Normal |
|
||||
| ftpTask | 1024 | Normal |
|
||||
| testTask | 2048 | BelowNormal |
|
||||
| uiTask | 4096 | BelowNormal |
|
||||
|
||||
@@ -70,7 +70,7 @@ main.c
|
||||
| 任务 | 栈大小 | 优先级 | 职责 |
|
||||
|------|--------|--------|------|
|
||||
| defaultTask | 1024 words | Normal | FTL + FatFS 挂载、配置引擎属主、syslog 唯一写者 |
|
||||
| netTask | 1024 words | Normal | 网络初始化 + CH395F 轮询 |
|
||||
| netTask | 960 words | Normal | 网络初始化 + CH395F 轮询 |
|
||||
| ftpTask | 1024 words | Normal | FTP 服务(等待网络+存储就绪) |
|
||||
| testTask | 2048 words | BelowNormal | 硬件测试入口 |
|
||||
| uiTask | 4096 words | BelowNormal | LVGL UI 界面 |
|
||||
|
||||
+1
-1
@@ -73,7 +73,7 @@ FREERTOS.Events01=sys_evt,Dynamic,NULL
|
||||
FREERTOS.FootprintOK=true
|
||||
FREERTOS.IPParameters=Tasks01,configENABLE_FPU,FootprintOK,configTOTAL_HEAP_SIZE,Queues01,Events01
|
||||
FREERTOS.Queues01=netMsgQueue,8,net_msg_t,0,Dynamic,NULL,NULL
|
||||
FREERTOS.Tasks01=defaultTask,24,1024,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL;netTask,24,1024,StartNetTask,Default,NULL,Dynamic,NULL,NULL;ftpTask,24,1024,StartFtpTask,As weak,NULL,Dynamic,NULL,NULL;testTask,16,2048,start_test_task,As weak,NULL,Dynamic,NULL,NULL;uiTask,16,4096,StartUiTask,Default,NULL,Dynamic,NULL,NULL
|
||||
FREERTOS.Tasks01=defaultTask,24,1024,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL;netTask,24,960,StartNetTask,Default,NULL,Dynamic,NULL,NULL;ftpTask,24,1024,StartFtpTask,As weak,NULL,Dynamic,NULL,NULL;testTask,16,2048,start_test_task,As weak,NULL,Dynamic,NULL,NULL;uiTask,16,4096,StartUiTask,Default,NULL,Dynamic,NULL,NULL
|
||||
FREERTOS.configENABLE_FPU=1
|
||||
FREERTOS.configTOTAL_HEAP_SIZE=49152
|
||||
File.Version=6
|
||||
|
||||
+7
-1
@@ -80,7 +80,13 @@ const osThreadAttr_t defaultTask_attributes = {
|
||||
osThreadId_t netTaskHandle;
|
||||
const osThreadAttr_t netTask_attributes = {
|
||||
.name = "netTask",
|
||||
.stack_size = 1024 * 4,
|
||||
/* 1024→960: 静态最坏链 2664B(发送停滞→断连→重监听→SPI故障→日志尾,真实直调链,
|
||||
* 日志主导:链上 5 帧各含 192B __con_line + 尾部 ~696B);3840B 配置余量 1176B
|
||||
* (30.6%),过 stack_report 规则(≥max(1024B ISR, 30%))。运行时水位仅 ~1.1KB
|
||||
* (错误尾未触发,不可作依据)。曾试 net_drain_chip_rx scratch 静态化,实测仅省
|
||||
* 16B 栈(ARMCC 已叠放不重叠局部量)反增 256B BSS,已回退——见 net_socket.c 注释。
|
||||
* ⚠ 注释位于 .ioc 生成区之外,CubeMX 重生成会丢(值本身在 FREERTOS.Tasks01 里,不丢)。 */
|
||||
.stack_size = 960 * 4,
|
||||
.priority = (osPriority_t) osPriorityNormal,
|
||||
};
|
||||
/* Definitions for ftpTask */
|
||||
|
||||
Reference in New Issue
Block a user