more slides
Signed-off-by: Sean Cross <sean@xobs.io>
This commit is contained in:
parent
bd13845287
commit
b23fa74dba
11
.gitignore
vendored
Normal file
11
.gitignore
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
.idea/
|
||||||
|
*.iml
|
||||||
|
*.iws
|
||||||
|
*.eml
|
||||||
|
out/
|
||||||
|
.DS_Store
|
||||||
|
.svn
|
||||||
|
log/*.log
|
||||||
|
tmp/**
|
||||||
|
node_modules/
|
||||||
|
.sass-cache
|
7
.npmignore
Normal file
7
.npmignore
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
/test
|
||||||
|
/examples
|
||||||
|
.github
|
||||||
|
.gulpfile
|
||||||
|
.sass-cache
|
||||||
|
gulpfile.js
|
||||||
|
CONTRIBUTING.md
|
BIN
img/esp32s3-more-boot.png
Normal file
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
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
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
BIN
img/memory-maps.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 311 KiB |
83
index.html
83
index.html
@ -18,12 +18,12 @@
|
|||||||
<body>
|
<body>
|
||||||
<div class="reveal">
|
<div class="reveal">
|
||||||
<div class="footer">
|
<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>
|
||||||
<div class="slides">
|
<div class="slides">
|
||||||
<section>
|
<section>
|
||||||
<h2>Emulating the Badge Under Renode</h2>
|
<h2>Emulating the Badge Under Renode</h2>
|
||||||
<h2>(Eventually)</h2>
|
<h3>(Eventually)</h3>
|
||||||
<br />
|
<br />
|
||||||
<h3>Sean "xobs" Cross</h3>
|
<h3>Sean "xobs" Cross</h3>
|
||||||
</section>
|
</section>
|
||||||
@ -261,39 +261,98 @@
|
|||||||
<h2>It Doesn't</h2>
|
<h2>It Doesn't</h2>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<h2>Xtensa is a New Architecture</h2>
|
<h2>Xtensa is an Uncommon Architecture</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Added support for ESP32 family</li>
|
<li>Audio DSPs</li>
|
||||||
<li>Merged quickly</li>
|
<li>Possibly Intel?</li>
|
||||||
<li>Few others use Xtensa</li>
|
<li>NXP</li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<h2>Extensive use of Boot ROM</h2>
|
<h2>Extensive use of Boot ROM</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Pulled ROM off device with esptool</li>
|
<img data-src="img/memory-maps.png">
|
||||||
<li>Load into RAM</li>
|
|
||||||
<li>Set entrypoint</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
<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>
|
<ul>
|
||||||
<li>Immediately get output</li>
|
<li>Immediately get output</li>
|
||||||
<li>Breaks immediately</li>
|
<li>Breaks immediately</li>
|
||||||
</ul>
|
</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<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>
|
||||||
<section>
|
<section>
|
||||||
<h2>Load SVD file</h2>
|
<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>
|
||||||
<section>
|
<section>
|
||||||
<h2>Add Peripherals</h2>
|
<h2>Add Peripherals</h2>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<h2>Slowly Advance</h2>
|
<h2>Slowly Advance</h2>
|
||||||
|
<img data-src="img/esp32s3-more-boot.png">
|
||||||
</section>
|
</section>
|
||||||
<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>
|
<ul>
|
||||||
<li>SPI Controller</li>
|
<li>SPI Controller</li>
|
||||||
<li>Interrupt Controller</li>
|
<li>Interrupt Controller</li>
|
||||||
@ -385,7 +444,7 @@
|
|||||||
multiplex: {
|
multiplex: {
|
||||||
// Example values. To generate your own, see the socket.io server instructions.
|
// Example values. To generate your own, see the socket.io server instructions.
|
||||||
secret: getQueryHash().s || null,
|
secret: getQueryHash().s || null,
|
||||||
id: '54917777254025e5',
|
id: '863f0948d18284f3',
|
||||||
url: 'https://p.xobs.io/'
|
url: 'https://p.xobs.io/'
|
||||||
},
|
},
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user