Support for the ESP32S3
Go to file
Sean Cross d2316d2d23 repl: bring up second cpu
Bring up the second cpu. This requires the most recent version of Renode.

Signed-off-by: Sean Cross <>
2023-08-14 08:32:25 +02:00
peripherals peripherals: add rtc/i2c/pwdet combo block 2023-08-05 19:54:44 +08:00
.gitattributes initial commit 2023-07-24 12:00:46 +08:00
.gitignore initial commit 2023-07-24 12:00:46 +08:00 README: remove cruft from previous repo 2023-07-27 16:08:33 +08:00
badge.repl repl: bring up second cpu 2023-08-14 08:32:25 +02:00
badge.resc repl: bring up second cpu 2023-08-14 08:32:25 +02:00
blackmagic.elf add interrupt core draft 2023-07-27 15:57:29 +08:00
bootloader.elf add interrupt core draft 2023-07-27 15:57:29 +08:00
esp32s3-drom.bin initial commit 2023-07-24 12:00:46 +08:00
esp32s3-efuses.bin initial commit 2023-07-24 12:00:46 +08:00
esp32s3-irom.bin initial commit 2023-07-24 12:00:46 +08:00
esp32s3-rtc-rom.bin initial commit 2023-07-24 12:00:46 +08:00
esp32s3-rtccntrl.bin initial commit 2023-07-24 12:00:46 +08:00
esp32s3.svd initial commit 2023-07-24 12:00:46 +08:00
partition-table.bin initial commit 2023-07-24 12:00:46 +08:00
peripherals.csproj.template initial commit 2023-07-24 12:00:46 +08:00 many hacks to get something booting 2023-08-05 18:46:01 +08:00

ESP32S3 Device

This is an attempt to get ESP32S3 working under Renode. It is a work in progress.


For emulation, you will need to install Renode (use the nightly to get CPU support). Then, run renode on badge.resc. For example:

renode badge.repl

Editing Renode Peripherals

Renode supports adding peripherals written in C#. For example, many Betrusted peripherals have models created under the peripherals/ directory.

Since there is no external compiler, it can be difficult to know if your code is correct. In fact, if you're unfamiliar with C# or the Renode codebase, editing unfamiliar C# code can be a slow exercise in frustration.

Fortunately, Visual Studio Code is free and has excellent C# tooling. All you need to do is point it at your Renode installation, load the C# plugin, and open a .cs file.

  1. Copy peripherals.csproj.template to peripherals.csproj
  2. Open peripherals.csproj and point <RenodePath> to your Renode installation directory. On ubuntu, this may be /opt/renode/bin/.
  3. Install C# for VSCode
  4. You can refer to core Renode peripherals as examples of what C# code looks like.

Debugging with GDB

When running Renode, you can attach a GDB instance. It runs on port 3333. Simply run tar ext :3333 in gdb to attach.