Files
STM32F4-Base/Drivers/BSP/NETCFG/README.md
T

1.9 KiB
Raw Blame History

Drivers/BSP/NETCFG/ — 网络配置

网络参数的加载 / 保存(IP、掩码、网关等)。 本模块是网络配置的持久化层,与 App/cfg/cfg_file.c(配置引擎)配合工作。

文件一览

文件 作用
net_cfg.c/h 网络配置加载(net_cfg_load)/ 保存(net_cfg_save_run)+ RAM 副本管理

已删除(2026-10-10):net_cfg_legacy.c/h——旧二进制档 /cfg/netcfg.bin 的"首启自动迁移"。 现口径:旧档若存在则被忽略(不读、不删、不迁移),配置直接回落工厂默认(/config.ini [network] 段)。删除理由:该一次性路径把整条配置写链(net_cfg_save → cfg_file_save → cfg_store_write_atomic → f_rename → FatFS → dhara FTL)挂进启动期调用图,使 defaultTask 的 armlink 静态最坏栈链 +600 B,而本仓库不存在携带旧档的设备。

工作流

defaultTask:net_cfg_load → 置 STORAGE_READY
    ↓ (网络配置在屏障前已加载)
netTask:只读 RAM 副本 → net_stack_bring_up(不在 netTask 里读盘)
    ↓
UI 改配置 → SYS_EVT_CFG_SAVE 事件 → defaultTask 执行 net_cfg_save_run + cfg_file_poll
    ↓
netTask 消费 SYS_EVT_NET_RECONFIG → 立即重建网络(新 IP 免重启生效)

⚠️ 约束

  • 网络配置在 STORAGE_READY 屏障之前由 defaultTask 加载完毕,netTask 只读 RAM 副本
  • UI 保存请求经 SYS_EVT_CFG_SAVE 事件交由 defaultTask(配置引擎属主)执行, netTask/uiTask 不得直接触碰配置引擎(cfg_file 是静态态、单任务收敛)
  • 网络代次号(generation)用于各 TCP 服务判断是否需重建监听

相关文档

  • docs/子系统设计/网络配置说明.md — 网口设置页与即时生效机制
  • docs/子系统设计/配置文件设计说明.md — 配置引擎
  • docs/架构设计/项目启动顺序管理.md — 就绪屏障