栈整改不抬栈:删旧档迁移、FIL静态化、日志行缓冲按模块收紧、钩子脱离HAL,defaultTask链5312→2776B

This commit is contained in:
2026-10-10 10:17:00 +08:00
parent 5c978465c9
commit 0779d3a075
54 changed files with 3203 additions and 2770 deletions
+12 -7
View File
@@ -2,8 +2,7 @@
* 模块名称:Network Configuration Core (配置核心)
* 模块功能:RAM 配置副本 + 工厂默认 + 加载/保存编排 + 实际 MAC 影子 +
* IPv4 字符串转换;存储经 cfg_file 通用配置文件引擎(INI [network]
* 段:ip/mask/gw/mac);旧版 NCFG 二进制格式归 net_cfg_legacy
* (首启一次性迁移)
* 段:ip/mask/gw/mac)
* 适用平台:STM32F407ZGTx / PC 模拟器(两端共用)
* 作者:王建锋
* 创建日期:2026-09-10
@@ -12,6 +11,12 @@
* v1.1 2026-09-14 王建锋 存储迁移至 cfg_file 引擎(INI);旧 NCFG 代码移至 net_cfg_legacy
* v1.2 2026-09-15 王建锋 保存改跨任务交接(request/state/run + 通知回调);
* 引擎属主 = defaultTask(P1-3 竞态修复)
* v1.3 2026-10-10 王建锋 **删除旧档 NCFG 迁移**(net_cfg_legacy 整体移除):该兼容
* 路径把整条配置写链(net_cfg_save → cfg_file_save →
* cfg_store_write_atomic → f_rename → FTL)挂进启动期调用图,
* 使 defaultTask 静态最坏链 +600 B;本仓库无携带
* /cfg/netcfg.bin 的设备,故按"不保留旧档兼容"处置。
* 旧档若存在 → 被忽略(不读、不删、不迁移),配置回落工厂默认
*/
/* 头文件包含区 */
@@ -23,10 +28,11 @@
#include "net_cfg.h"
#include "net_cfg_legacy.h"
#include "cfg_file.h"
/* 深调用链模块(net_cfg_load/save 在 defaultTask 启动链与保存链上):
* 日志行缓冲收到 128 B(默认 192),本模块最长行渲染后 < 128 → 不截断 */
#define DBG_LINE_BUF_MAX 128U
#define DBG_TAG "[NET_CFG]"
#include "dbg_log.h"
@@ -140,9 +146,8 @@ static bool s_mac_is_zero(const uint8_t *p_mac) {
int net_cfg_load(void) {
s_net_register();
/* 首启先迁旧档 NCFG(有效 → 旧值物化进新文件);新文件已存在则跳过 */
(void)net_cfg_legacy_migrate();
/* 旧档 NCFG 迁移已于 2026-10-10 删除(net_cfg_legacy 移除;理由见文件头 v1.3)。
* 若卷上仍残留 /cfg/netcfg.bin:不读、不删、不迁移 → 配置回落工厂默认 */
if (cfg_file_load() != 0) {
/* 严重错误:引擎已将 RAM 副本复位工厂默认,行为仍安全 */
DBG_ERROR("load: cfg_file_load FAIL");