esp32sim

3天前发布 11 00

esp32sim是Rust实现的高保真ESP32模拟器,S3版本最完善,支持原生固件、虚拟WiFi通外网、WASM网页运行;可仿真外设、导出音视频画面,适合固件开发、调试、演示,省去实体硬件。

所在地:
mikroverk
收录时间:
2026-10-24
esp32simesp32sim

esp32sim 是一款 Rust 开发的 ESP32 系列芯片模拟器,可在本地电脑或者浏览器标签页中直接加载未经修改的原版ESP32固件,不需要实体开发板。

它完整复刻芯片启动链路:原生掩码ROM、二阶引导加载程序、FreeRTOS,再到用户应用程序,不对固件做补丁修改;同时配套板级外设模型,支持显示屏、触摸、LED、按键、音频、摄像头、WiFi。

芯片支持情况

  • ESP32-S3(双核Xtensa LX7):成熟,支持多款开发板(Atech 14端口套件、Waveshare多款触摸屏、S3-CAM),带缓存与JIT加速
  • ESP32-C3(RV32IMC):草稿阶段,仅控制台
  • ESP32-C6(RV32IMAC):草稿阶段,支持Waveshare ESP32-C6-LCD-1.47、802.15.4无线仿真
  • 经典ESP32(双核Xtensa LX6):早期支持,适配LilyGO TTGO T-Display

核心特性

  • ✅ 完整原生启动链,固件无修改直接跑
  • ✅ 虚拟WiFi:复用乐鑫原生WiFi库,可连虚拟AP、获取DHCP/DNS/NTP,访问外网HTTPS
  • ✅ 外设仿真:屏幕绘图、触摸采集、LED、音频输出
  • ✅ JIT加速:S3版本运行hello_world最高可比实时快约30倍
  • ✅ WASM编译版本,直接在浏览器内运行
  • ✅ 调试对齐:S3支持JTAG锁步比对,C3/C6支持控制台差异校验

内置演示案例

  • ESP32-S3 运行 Linux 6.11,带登录Shell
  • Atech套件 Pocket Synth、C64 SID音乐播放器
  • LVGL 480×480触摸面板
  • pocket-tank:小型Transformer模型控制演示
  • ESP32-C6 802.15.4能量扫描、Contiki-NG IPv6节点组网
  • 经典ESP32 T-Display 运行MicroPython
    用户也可以自行上传编译好的固件进行仿真。

快速上手

提供 macOS / Linux 预编译包,不强制本地安装Rust环境。源码编译方式:

cargo build --release
tools/fetch-demo-assets.sh --no-linux

启动示例(Atech合成器固件):

FW=web/wasm/fw/public
./target/release/esp32sim --boot rom --rom web/wasm/fw/esp32s3_rev0_rom.elf \
    --bootloader $FW/atech-bootloader.bin --ptable $FW/atech-ptable.bin --app $FW/atech-firmware.bin \
    --script $FW/atech-script1.txt --wav out.wav --tft-png tft.png --max-seconds 5

支持指定芯片参数切换C3 / C6 / 经典ESP32,文档覆盖ESP-IDF工程导入、WiFi配置、脚本自动化、浏览器构建、调试方案。

相关导航