为自建代码目录补齐 README,建立目录级导航体系

- 新增 26 份目录 README:App/(+log,task,util,protocol)、Drivers/BSP/(+8子系统)、
  Src/、Inc/、scripts/、tools/(+6子工具)、test/、MDK-ARM/、simulator/(+sim,tests)
- 每份含:定位、文件清单表、关键约束/陷阱、指向 docs 权威文档
- 第三方库与生成代码目录排除(CMSIS/HAL/Middlewares/Lib/SDL2)
- docs/文档规范.md 新增 §1.1b 代码目录 README 约定;根 README 目录结构加入说明
This commit is contained in:
2026-09-26 12:25:36 +08:00
parent 8d86fb1149
commit 39bd06adea
31 changed files with 1149 additions and 0 deletions
+36
View File
@@ -0,0 +1,36 @@
# simulator/sim/ — 模拟器平台层
> PC 端 LVGL 模拟器的**平台适配层**:把 MCU 侧的硬件/RTOS 接口替换成 PC 实现,
> 使 **UI 源码(`Drivers/BSP/UI/`)与固件共用同一套代码**。
## 文件一览
| 文件 | 替换的 MCU 侧实现 | 作用 |
|---|---|---|
| `sim_port.c/h` | `ui_port.c` | **显示/输入移植层**:SDL 窗口 → LVGL 显示驱动 + 键鼠/触摸输入 |
| `net_socket_sim.c` | `net_socket.c` | 网络 Socket 的 PC 实现(宿主 BSD socket) |
| `cfg_file_store_sim.c` | `cfg_file_store_mcu.c` | 配置存储的 PC 后端(宿主堆) |
| `sim_syslog.c` | `sys_log_mcu.c` | 日志的 PC 实现(写文件而非 NAND) |
| `ui_net_sink_backend_sim.c` | `ui_net_sink_backend_mcu.c` | 推流后端的 PC 实现 |
| `sim_latency_stub.c` | — | 时延打桩(模拟链路延迟,供测试) |
## 设计模式
MCU 与模拟器**共用核心逻辑,仅后端不同**:
```
共享核心(无分配符号)
├── cfg_file.c(配置引擎)
└── ui_*(LVGL UI)
↓ 后端抽象接口
┌─────────┴─────────┐
MCU 后端(本工程 *_mcu.c) PC 后端(本目录 *_sim.c)
```
> 配置引擎后端:MCU = FreeRTOS 堆、模拟器 = 宿主堆,**共享核心零分配符号**。
## 相关文档
- 模拟器总说明:`../README.md`
- UI 架构与移植要点:`docs/UI设计/UI_设计架构.md`
- 模拟器部署:`docs/UI设计/LVGL模拟器部署与使用说明.md`
+36
View File
@@ -0,0 +1,36 @@
# simulator/tests/ — UI 模拟器无头回归测试
> PC 端**无头**(headless)UI 像素回归测试:在模拟器中渲染各页面,与**黄金参考图**比对,
> 检测 UI 改动是否引入像素级回归。属于 `ui-verify` skill 五步门禁的一部分。
## 文件一览
| 文件 | 作用 |
|---|---|
| `check_menu_rows.py` | **菜单像素回归**:渲染菜单行 → 与黄金参考比对 |
| `check_content_pages.py` | **内容页回归**:各内容页渲染比对 |
| `check_remo_sink.py` | **推流(RemoDispBus)回归**:接收端渲染比对 |
| `regen_ref_png.py` | **重建黄金参考**:UI 有意变更后,重新生成基准图 |
| `ref/` | 黄金参考图(基准 PNG) |
## 使用方式
```bash
# 跑回归(按 ui-verify skill 流程)
& '.venv\Scripts\python.exe' simulator/tests/check_menu_rows.py
& '.venv\Scripts\python.exe' simulator/tests/check_content_pages.py
# UI 有意变更、确认无误后重建基准
& '.venv\Scripts\python.exe' simulator/tests/regen_ref_png.py
```
## ⚠️ 注意
- **重建黄金参考前必须确认变更是有意的**——否则会把 bug 固化成"基准"
- UI 改动一律走 **`ui-verify` skill 五步门禁**(regression 是其中一步)
- 依赖模拟器已构建(`simulator/build_sim.bat`)
## 相关文档
- `docs/UI设计/UI_自动化测试流程.md` — ui-verify 五步门禁
- `docs/UI设计/LVGL模拟器部署与使用说明.md`