# 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`