diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ba5aa84 --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +.idea/ +*.iml +*.iws +*.eml +out/ +.DS_Store +.svn +log/*.log +tmp/** +node_modules/ +.sass-cache \ No newline at end of file diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..50c12b9 --- /dev/null +++ b/.npmignore @@ -0,0 +1,7 @@ +/test +/examples +.github +.gulpfile +.sass-cache +gulpfile.js +CONTRIBUTING.md \ No newline at end of file diff --git a/img/esp32s3-more-boot.png b/img/esp32s3-more-boot.png new file mode 100644 index 0000000..44dfbc2 Binary files /dev/null and b/img/esp32s3-more-boot.png differ diff --git a/img/esp32s3-uart.png b/img/esp32s3-uart.png new file mode 100644 index 0000000..d3c1baa Binary files /dev/null and b/img/esp32s3-uart.png differ diff --git a/img/gdb-with-elf.png b/img/gdb-with-elf.png new file mode 100644 index 0000000..b3e218d Binary files /dev/null and b/img/gdb-with-elf.png differ diff --git a/img/memory-maps.png b/img/memory-maps.png new file mode 100644 index 0000000..fcf0ba1 Binary files /dev/null and b/img/memory-maps.png differ diff --git a/index.html b/index.html index 2cca87b..e1ac05c 100644 --- a/index.html +++ b/index.html @@ -18,12 +18,12 @@

Emulating the Badge Under Renode

-

(Eventually)

+

(Eventually)


Sean "xobs" Cross

@@ -261,39 +261,98 @@

It Doesn't

-

Xtensa is a New Architecture

+

Xtensa is an Uncommon Architecture

    -
  • Added support for ESP32 family
  • -
  • Merged quickly
  • -
  • Few others use Xtensa
  • +
  • Audio DSPs
  • +
  • Possibly Intel?
  • +
  • NXP

Extensive use of Boot ROM

    -
  • Pulled ROM off device with esptool
  • -
  • Load into RAM
  • -
  • Set entrypoint
  • +
-

Add a serial port

+

Extensive use of Boot ROM

+
    +
    $ esptool.py dump_mem \    
    +	0x3ff90000 \       
    +	65536 \
    +	irom.bin
    +
+
+ +
+

Add a serial port

+
+namespace Antmicro.Renode.Peripherals.UART {
+  public class ESP32_UART : UARTBase, IDoubleWordPeripheral,
+							IKnownSize {
+    private readonly DoubleWordRegisterCollection registers;
+    public ESP32_UART(Machine machine) : base(machine) {
+      registers = new DoubleWordRegisterCollection(this,
+	  			new Dictionary<long, DoubleWordRegister> {
+        {0x00, new DoubleWordRegister(this).WithValueField(0,8,
+				writeCallback: (_, v) => TransmitCharacter((byte)v))}
+      });
+    }
+				
+
+

Add a serial port

+
+{0x00, new DoubleWordRegister(this)
+		.WithValueField(0, 8,
+			writeCallback: (_, v) => TransmitCharacter((byte)v))}
+				
+
+

Load SVD file

+
sysbus:
+	init:
+		ApplySVD @esp32s3.svd
+
+
+

Load SVD file

+

+extmem: Unhandled read from offset 0x64.
+extmem: Unhandled write to offset 0x64, value 0x3.
+sysbus: Read from an unimplemented register SYSTEM:SYSCLK_CONF
+	(0x600C0060), returning a value from SVD: 0x1. (3)
+sysbus: Read from an unimplemented register SYSTEM:PERIP_CLK_EN0
+	(0x600C0018), returning a value from SVD: 0xF9C1E06F.
+sysbus: Write of value 0xF9C1E06F to an unimplemented register
+	SYSTEM:PERIP_CLK_EN0 (0x600C0018) generated from SVD.
+sysbus: Read from an unimplemented register SYSTEM:PERIP_RST_EN0
+	(0x600C0020), returning a value from SVD: 0x0.
+sysbus: Write of value 0x0 to an unimplemented register SYSTEM:PERIP_RST_EN0 
+	0x600C0020) generated from SVD.
+sysbus: Read from an unimplemented register SYSTEM:PERIP_RST_EN0
+	(0x600C0020), returning a value from SVD: 0x0.
+sysbus: Write of value 0x4 to an unimplemented register SYSTEM:PERIP_RST_EN0 (0x600C0020) generated from SVD.						
+					

Add Peripherals

Slowly Advance

+
-

What's Left

+

GDB with ELF

+ +
+
+

What's Left?

  • SPI Controller
  • Interrupt Controller
  • @@ -385,7 +444,7 @@ multiplex: { // Example values. To generate your own, see the socket.io server instructions. secret: getQueryHash().s || null, - id: '54917777254025e5', + id: '863f0948d18284f3', url: 'https://p.xobs.io/' },