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

42 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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` — 就绪屏障