# Drivers/BSP/NETCFG/ — 网络配置 > 网络参数的**加载 / 保存 / 旧档迁移**(IP、掩码、网关等)。 > 本模块是**网络配置的持久化层**,与 `App/cfg_file.c`(配置引擎)配合工作。 ## 文件一览 | 文件 | 作用 | |---|---| | `net_cfg.c/h` | 网络配置加载(`net_cfg_load`)/ 保存(`net_cfg_save_run`)+ RAM 副本管理 | | `net_cfg_legacy.c/h` | **旧版配置档迁移**(首启时把旧格式转换为当前格式) | ## 工作流 ``` 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` — 就绪屏障