Repolode
mikroverk

mikroverk/esp32sim

用 Rust 编写的开源 ESP32 模拟器,无需硬件即可在电脑或浏览器中运行真实固件。

Star
513
Fork
29
未关闭 Issue
19
最近提交
19小时前

这是什么?

esp32sim 模拟 ESP32 系列芯片,让未经修改的固件无需实际开发板即可运行。它会依次启动芯片的掩膜 ROM、二级引导程序和应用程序,并模拟显示屏、触摸、LED、按键、音频、摄像头和 WiFi 等板级外设。

项目对 ESP32-S3(标为成熟)、ESP32-C3 和 ESP32-C6(草稿状态)以及经典 ESP32(早期阶段)提供支持。固件可以连接虚拟接入点并获取 DHCP、DNS 和 NTP 服务,也能访问真实网络。WebAssembly 版本可在浏览器标签页中运行同一模拟器,并提供在线演示。

本项目为非官方项目,与乐鑫科技(Espressif Systems)没有关联。

核心功能

  • 01完整启动流程:掩膜 ROM、引导程序、FreeRTOS 及应用程序。
  • 02使用未修改的乐鑫 WiFi 库,可连接虚拟接入点并访问真实网络(包括 HTTPS)。
  • 03模拟带显示屏、触摸、LED、按键、音频和摄像头的开发板。
  • 04ESP32-S3 配有块缓存和 JIT,执行速度更快。
  • 05提供 WebAssembly 版本,可直接在浏览器中运行。

适用场景

  • 在没有开发板的情况下,于 CI 或笔记本上测试 ESP32 固件。
  • 购买硬件前,在浏览器中体验 ESP32 演示和板级支持。
  • 针对模拟外设开发和调试开发板的界面或音频代码。

快速上手

  1. 1

    构建模拟器

    cargo build --release
  2. 2

    下载掩码ROM文件(仓库中不包含)

    tools/fetch-demo-assets.sh --no-linux
  3. 3

    运行 Atech 合成器演示固件 5 秒

    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

使用前须知

  • 只有 ESP32-S3 标记为成熟;C3、C6 和经典 ESP32 仍处于草稿或早期阶段。
  • 部分演示和开发板需要额外下载,例如仓库中不包含的掩码 ROM。

标签

常见问题

esp32sim 是什么?
用 Rust 编写的开源 ESP32 模拟器,无需硬件即可在电脑或浏览器中运行真实固件。 esp32sim 模拟 ESP32 系列芯片,让未经修改的固件无需实际开发板即可运行。它会依次启动芯片的掩膜 ROM、二级引导程序和应用程序,并模拟显示屏、触摸、LED、按键、音频、摄像头和 WiFi 等板级外设。
esp32sim 可以免费使用吗?用的什么许可证?
esp32sim 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
esp32sim 还在维护吗?
活跃维护中。esp32sim 最近一次提交是在 2026年10月20日。
esp32sim 适合用来做什么?
在没有开发板的情况下,于 CI 或笔记本上测试 ESP32 固件。 购买硬件前,在浏览器中体验 ESP32 演示和板级支持。 针对模拟外设开发和调试开发板的界面或音频代码。
esp32sim 怎么安装和运行?
构建模拟器: cargo build --release 下载掩码ROM文件(仓库中不包含): tools/fetch-demo-assets.sh --no-linux 运行 Atech 合成器演示固件 5 秒: 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
在哪里获取 esp32sim?
源代码和安装说明在 GitHub 上:https://github.com/mikroverk/esp32sim

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目