more slides

Signed-off-by: Sean Cross <sean@xobs.io>
This commit is contained in:
Sean Cross 2023-08-15 14:47:29 +02:00
parent bd13845287
commit b23fa74dba
7 changed files with 89 additions and 12 deletions

11
.gitignore vendored Normal file
View File

@ -0,0 +1,11 @@
.idea/
*.iml
*.iws
*.eml
out/
.DS_Store
.svn
log/*.log
tmp/**
node_modules/
.sass-cache

7
.npmignore Normal file
View File

@ -0,0 +1,7 @@
/test
/examples
.github
.gulpfile
.sass-cache
gulpfile.js
CONTRIBUTING.md

BIN
img/esp32s3-more-boot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
img/esp32s3-uart.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 469 KiB

BIN
img/gdb-with-elf.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 737 KiB

BIN
img/memory-maps.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 KiB

View File

@ -18,12 +18,12 @@
<body>
<div class="reveal">
<div class="footer">
<a class="url" href="https://p.xobs.io/fa23/">p.xobs.io/fa23</a>
<a class="url" href="https://p.xobs.io/c23/">p.xobs.io/fa23</a>
</div>
<div class="slides">
<section>
<h2>Emulating the Badge Under Renode</h2>
<h2>(Eventually)</h2>
<h3>(Eventually)</h3>
<br />
<h3>Sean "xobs" Cross</h3>
</section>
@ -261,39 +261,98 @@
<h2>It Doesn't</h2>
</section>
<section>
<h2>Xtensa is a New Architecture</h2>
<h2>Xtensa is an Uncommon Architecture</h2>
<ul>
<li>Added support for ESP32 family</li>
<li>Merged quickly</li>
<li>Few others use Xtensa</li>
<li>Audio DSPs</li>
<li>Possibly Intel?</li>
<li>NXP</li>
</ul>
</section>
<section>
<h2>Extensive use of Boot ROM</h2>
<ul>
<li>Pulled ROM off device with esptool</li>
<li>Load into RAM</li>
<li>Set entrypoint</li>
<img data-src="img/memory-maps.png">
</ul>
</section>
<section>
<h2>Add a serial port</h2>
<h2>Extensive use of Boot ROM</h2>
<ul>
<pre><code class="wrap">$ esptool.py dump_mem \
0x3ff90000 \
65536 \
irom.bin</code></pre>
</ul>
</section>
<!-- <section>
<ul>
<li>Immediately get output</li>
<li>Breaks immediately</li>
</ul>
</section> -->
<section>
<h2>Add a serial port</h2>
<code><pre>
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&lt;long, DoubleWordRegister> {
{0x00, new DoubleWordRegister(this).WithValueField(0,8,
writeCallback: (_, v) => TransmitCharacter((byte)v))}
});
}</code></code>
</section>
<section>
<h2>Add a serial port</h2>
<code><pre>
{0x00, new DoubleWordRegister(this)
.WithValueField(0, 8,
writeCallback: (_, v) => TransmitCharacter((byte)v))}</code></code>
</section>
<section>
<img data-src="img/esp32s3-uart.png">
</section>
<section>
<h2>Load SVD file</h2>
<pre><code>sysbus:
init:
ApplySVD @esp32s3.svd</code></pre>
</section>
<section>
<h2>Load SVD file</h2>
<pre><code style="word-wrap: break-word;">
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.
</code></pre>
</section>
<section>
<h2>Add Peripherals</h2>
</section>
<section>
<h2>Slowly Advance</h2>
<img data-src="img/esp32s3-more-boot.png">
</section>
<section>
<h2>What's Left</h2>
<h2>GDB with ELF</h2>
<img data-src="img/gdb-with-elf.png">
</section>
<section>
<h2>What's Left?</h2>
<ul>
<li>SPI Controller</li>
<li>Interrupt Controller</li>
@ -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/'
},