39bd06adea
- 新增 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 目录结构加入说明
37 lines
1.5 KiB
Markdown
37 lines
1.5 KiB
Markdown
# 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`
|