espressif / qemu

Fork of QEMU with Espressif patches. See Wiki for details.
https://github.com/espressif/esp-toolchain-docs/blob/main/qemu/README.md
Other
229 stars 57 forks source link

ESP32-S3 support (QEMU-52) #42

Closed svenstaro closed 5 months ago

svenstaro commented 2 years ago

I'd like to request support for esp32-s3 emulation. I think it's a killer chip and support for it in QEMU would be amazing.

cmorganBE commented 2 years ago

Ping on this ticket. We'd like to be able to emulate s3 as that's our particular target.

DatanoiseTV commented 1 year ago

I +1 this. I am rolling out hardware using the S3 and would love to see support for the S3, so I can perform some CI/CD tests.

igrr commented 1 year ago

In the meantime, you can try https://wokwi.com/.

https://github.com/wokwi/esp32-hello-wokwi-ci should also be possible to adjust for the esp32-s3.

paul356 commented 1 year ago

+1 vote for this issue. Please support S3.

greenaddress commented 1 year ago

+1. Please support S3

Alaining commented 11 months ago

+1

herculanodavi commented 9 months ago

Hi, I'm also very interested in this. Is there any rough timeline?

drewbharris commented 7 months ago

Adding my +1 please!

sukesh-ak commented 7 months ago

+1

igrr commented 7 months ago

Status update: we are aiming to add the initial ESP32-S3 support with a few basic peripherals in the upcoming release.

igrr commented 5 months ago

Thanks everyone for the patience! Initial ESP32-S3 support has been released in https://github.com/espressif/qemu/releases/tag/esp-develop-9.0.0-20240606. We will update ESP-IDF integration (idf.py qemu) to be compatible with it soon.

PatrickV82 commented 4 months ago

is there a updated documentation for the bootstrapping pins values?

and does the esp32s3 implementation already support the efuses?

qemu-system-xtensa -nographic -machine esp32s3 -global driver=esp32s3.gpio,property=strap_mode,value=0x08 -drive file=build/qemu_efuse.bin,if=none,format=raw,id=efuse -global driver=nvram.esp32s3.efuse,property=drive,value=efuse -serial tcp::5555,server,nowait

QEMU 9.0.0 monitor - type 'help' for more information Not initializing SPI Flash c:\qemu\bin\qemu-system-xtensa: warning: global nvram.esp32s3.efuse.drive has invalid class name

Zitrax commented 2 months ago

We will update ESP-IDF integration (idf.py qemu) to be compatible with it soon.

Any estimate on this? Or info on how to run it without?

igrr commented 2 months ago

@Zitrax This has been done in https://github.com/espressif/esp-idf/commit/6ddf31bbdcb7caf3817285cd732c4ce68097c034 and https://github.com/espressif/esp-idf/commit/aad9ab02e8200e079fb8b6e8e76268e04531d7b4

(Backports to release/v5.3: https://github.com/espressif/esp-idf/commit/acb201e5b2497846a440a2039f6abe03dbe319fe and https://github.com/espressif/esp-idf/commit/4168fa28f4f40b4b2a677355a6b8432459a3ad68 — will be included in v5.3.1)

igrr commented 2 months ago

@PatrickV82 Sorry that I missed your comment!

is there a updated documentation for the bootstrapping pins values?

Not yet, but you can set strap_mode to 0x07 to enter download mode. Note that for efuses, you have to use nvram.esp32c3.efuse — this module was copy-pasted from ESP32-C3, we will fix this in the next QEMU release.