Skip to content
/ qemu Public
forked from qemu/qemu

This fork contains a modified version of the Espressif QEMU used by the PICSimLab simulator. This version has been altered to compile QEMU as a dynamic library. Additionally, this fork adds support for WIFI and ESPNOW to the Espressif QEMU.

License

Unknown and 2 other licenses found

Licenses found

Unknown
LICENSE
GPL-2.0
COPYING
LGPL-2.1
COPYING.LIB
Notifications You must be signed in to change notification settings

lcgamboa/qemu

This branch is 7354 commits ahead of, 28090 commits behind qemu/qemu:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

98f1cbd · Dec 6, 2024
Dec 9, 2023
Oct 28, 2023
May 28, 2023
Oct 28, 2023
Oct 28, 2023
May 28, 2023
Oct 28, 2023
Dec 9, 2023
Oct 28, 2023
Oct 28, 2023
May 28, 2023
Oct 28, 2023
Oct 28, 2023
Dec 30, 2023
Oct 28, 2023
Dec 9, 2023
Oct 28, 2023
Oct 28, 2023
Oct 28, 2023
Oct 28, 2023
Oct 28, 2023
Oct 28, 2023
Oct 28, 2023
Aug 25, 2024
Jul 1, 2024
Oct 28, 2023
Apr 9, 2023
Oct 28, 2023
Dec 9, 2023
Dec 9, 2023
Oct 28, 2023
Oct 28, 2023
Dec 6, 2023
Oct 28, 2023
Oct 28, 2023
Apr 9, 2023
Dec 9, 2023
Dec 9, 2023
Oct 28, 2023
Oct 28, 2023
Oct 28, 2023
Oct 28, 2023
Oct 28, 2023
Dec 9, 2023
Oct 28, 2023
Oct 28, 2023
Oct 28, 2023
Oct 28, 2023
Oct 28, 2023
Oct 28, 2023
Dec 30, 2023
Dec 30, 2023
Oct 28, 2023
Dec 9, 2023
May 28, 2023
Oct 28, 2023
Dec 9, 2023
Dec 9, 2023
Oct 8, 2015
Mar 10, 2021
Sep 7, 2012
Jun 7, 2017
May 28, 2023
Apr 9, 2023
Apr 9, 2023
Oct 28, 2023
Oct 28, 2023
Mar 5, 2018
Oct 28, 2023
Jun 25, 2021
Oct 5, 2020
Oct 28, 2023
Oct 12, 2008
Jan 30, 2019
Jul 9, 2021
Apr 9, 2023
Nov 11, 2019
Oct 28, 2023
Oct 28, 2023
Dec 6, 2024
Apr 9, 2023
Dec 9, 2023
Oct 28, 2023
May 28, 2023
Oct 28, 2023
Oct 28, 2023
Aug 20, 2024
Jun 25, 2024
Oct 28, 2023
Oct 28, 2023
Apr 9, 2023
May 28, 2023
Oct 28, 2023
Oct 28, 2023
May 28, 2023
May 28, 2023
Apr 9, 2023
May 26, 2021
Oct 28, 2023
Oct 28, 2023
Feb 4, 2016
Oct 28, 2023
Apr 9, 2023
Apr 9, 2023
Apr 9, 2023
Sep 30, 2020
Apr 9, 2023
Apr 9, 2023
Dec 9, 2023
Oct 28, 2023
Apr 9, 2023
Oct 28, 2023
Oct 28, 2023
Dec 9, 2023
Apr 9, 2023
Jun 14, 2021
May 26, 2021
Oct 28, 2023
Jan 2, 2021

QEMU for use with PICSimLab

This fork contains a modified version of the Espressif QEMU used by the PICSimLab simulator. This version has been altered to compile QEMU as a dynamic library using the build_libqemu-esp32.sh script.

Additionally, this fork adds support for WIFI from the a159x36 QEMU fork and ESPNOW to the Espressif QEMU.

Official QEMU README

Differences from the Espressif QEMU fork

  • Support for compiling as a dynamic library
  • WIFI support (Station and SoftAP modes) for ESP32 and ESP32C3
  • ESP-NOW protocol support for ESP32 and ESP32C3
  • ESP32 an ESP32C3 IOMUX

Using WIFI support

To enable WIFI support, pass the following option in the command line:

For ESP32: "-nic user,model=esp32_wifi":

qemu-system-xtensa -M esp32-picsimlab -drive file=flash_file.bin,if=mtd,format=raw \
  -drive file=esp32_file.efuse,if=none,format=raw,id=efuse \
  -global driver=nvram.esp32.efuse,property=drive,value=efuse \
  -serial stdio -gdb tcp::1234 -global driver=timer.esp32.timg,property=wdt_disable,value=true \
  -nic user,model=esp32_wifi,net=192.168.4.0/24,hostfwd=tcp::16555-192.168.4.15:80 

For ESP32C3 -nic user,model=esp32c3_wifi:

./qemu-system-riscv32 -M esp32c3-picsimlab -drive file=flash_file.bin,if=mtd,format=raw \
  -drive file=esp32c3.efuse,if=none,format=raw,id=efuse \
  -global driver=nvram.esp32c3.efuse,property=drive,value=efuse \
  -serial stdio -gdb tcp::1234 -icount shift=3,align=off,sleep=on \
  -global driver=timer.esp32c3.timg,property=wdt_disable,value=true \
  -nic user,model=esp32c3_wifi,net=192.168.4.0/24,hostfwd=tcp::16555-192.168.4.15:80

In Station mode, you must use one of the hardcoded SSIDs (PICSimLabWifi, Espressif, or MasseyWifi) without a password.

The MAC address is defined for for ESP32C3 in bytes from offset 0x18 to 0x1D in the efuse file. For ESP32 in bytes from offset 0x4 to 0x9 and the MAC CRC inf offset 0xA in the efuse file.

For use with ESP-NOW, configure the WIFI interface as socket mcast and ensure each device has a different MAC address in the .efuse file.

-nic socket,model=esp32_wifi,id=u1,mcast=230.0.0.1:1234

About

This fork contains a modified version of the Espressif QEMU used by the PICSimLab simulator. This version has been altered to compile QEMU as a dynamic library. Additionally, this fork adds support for WIFI and ESPNOW to the Espressif QEMU.

Topics

Resources

License

Unknown and 2 other licenses found

Licenses found

Unknown
LICENSE
GPL-2.0
COPYING
LGPL-2.1
COPYING.LIB

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 80.8%
  • C++ 11.6%
  • Python 3.9%
  • Shell 1.5%
  • Assembly 0.8%
  • Meson 0.5%
  • Other 0.9%