QEMU
乐鑫维护了一个 QEMU 的分支,位于 espressif/QEMU,其中包含了必要的补丁,使其能够在乐鑫芯片上运行。 请参考 ESP 专用的 QEMU 使用指南 以了解如何构建 QEMU 并使用它来仿真项目。
构建完成 QEMU 后,应该有 qemu-system-xtensa
文件。
使用 QEMU 运行项目
⚠️ 注意: 目前只支持 ESP32,因此请确保正在编译
xtensa-esp32-espidf
目标。
要在 QEMU 中运行我们的项目,我们需要一个固件(firmware)/镜像(image),其中包含引导加载程序(bootloader)和分区表。
我们可以使用 cargo-espflash
来生成它:
cargo espflash save-image --chip esp32 --merge <OUTFILE> --release
如果想使用 espflash
,可以先构建项目,然后生成镜像来实现相同的结果:
cargo build --release
espflash save-image --chip esp32 --merge target/xtensa-esp32-espidf/release/<NAME> <OUTFILE>
现在,在 QEMU 中运行镜像:
/path/to/qemu-system-xtensa -nographic -machine esp32 -drive file=<OUTFILE>,if=mtd,format=raw -m 4M