more basics
Signed-off-by: Sean Cross <sean@xobs.io>
This commit is contained in:
parent
8968455dee
commit
7b8e6ccf41
2
dist/theme/fossasia2023.css
vendored
2
dist/theme/fossasia2023.css
vendored
@ -67,7 +67,7 @@ section.has-light-background h6 {
|
||||
}
|
||||
|
||||
.reveal .footer {
|
||||
background-image: url("../../img/fossasia-logo.png");
|
||||
/* background-image: url("../../img/fossasia-logo.png"); */
|
||||
background-repeat: no-repeat;
|
||||
background-size: 10%;
|
||||
background-position-x: 50px;
|
||||
|
BIN
img/betrusted-wycheproof-patch-fix.png
Normal file
BIN
img/betrusted-wycheproof-patch-fix.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 112 KiB |
BIN
img/betrusted-wycheproof-patch.png
Normal file
BIN
img/betrusted-wycheproof-patch.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 108 KiB |
Binary file not shown.
Binary file not shown.
BIN
img/renode-multi-system.png
Normal file
BIN
img/renode-multi-system.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 347 KiB |
BIN
img/svd-files.png
Normal file
BIN
img/svd-files.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 191 KiB |
BIN
img/vt100-MA-4352.png
Normal file
BIN
img/vt100-MA-4352.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 135 KiB |
122
index.html
122
index.html
@ -57,7 +57,7 @@
|
||||
</ul>
|
||||
</section>
|
||||
<section>
|
||||
<h2>Whole-system Emulator</h2>
|
||||
<h2>Generic Whole-system Emulator</h2>
|
||||
<ul>
|
||||
<li>CPU cores</li>
|
||||
<li>Peripherals</li>
|
||||
@ -76,7 +76,7 @@
|
||||
<li>arm64</li>
|
||||
<li>ppc</li>
|
||||
<li>riscv</li>
|
||||
<li>spark</li>
|
||||
<li>sparc</li>
|
||||
<li>xtensa</li>
|
||||
</ul>
|
||||
</section>
|
||||
@ -105,20 +105,13 @@
|
||||
<img data-src="img/memory-write.png">
|
||||
</section>
|
||||
<section>
|
||||
<h2>10% of the Functionality Gets You 90% of the Way There</h2>
|
||||
<ul>
|
||||
<h2>10% Functionality Solves 90% of Usecases</h2>
|
||||
<img data-src="img/vt100-MA-4352.png">
|
||||
<!-- <ul>
|
||||
<li>E.g. in a serial device, baudrate, timers, and parity/stop can be ignored</li>
|
||||
<li>Just "Tx", "Rx", and interrupt setup</li>
|
||||
<li>Most software works just fine if you return zeroes for invalid addresses</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section>
|
||||
<h2>SVD files are your friend</h2>
|
||||
<ul>
|
||||
<li>Your chip probably comes with a SVD file</li>
|
||||
<li>This gives a map of RAM and peripherals</li>
|
||||
<li>Renode can parse this and use it for logging / defaults</li>
|
||||
</ul>
|
||||
</ul> -->
|
||||
</section>
|
||||
<section>
|
||||
<h2>Existing Peripherals in Renode</h2>
|
||||
@ -143,6 +136,15 @@
|
||||
<li>Peripherals can be written and loaded at runtime</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section>
|
||||
<h2>SVD Files Are Your Friend</h2>
|
||||
<!-- <ul>
|
||||
<li>Your chip probably comes with a SVD file</li>
|
||||
<li>This gives a map of RAM and peripherals</li>
|
||||
<li>Renode can parse this and use it for logging / defaults</li>
|
||||
</ul> -->
|
||||
<img data-src="img/svd-files.png">
|
||||
</section>
|
||||
<section>
|
||||
<h2>Networks in Renode</h2>
|
||||
<ul>
|
||||
@ -205,31 +207,28 @@
|
||||
</ul>
|
||||
</section>
|
||||
<section>
|
||||
<h2>Emulating it under Renode</h2>
|
||||
<h2>Betrusted</h2>
|
||||
<img data-src="img/renode-multi-system.png">
|
||||
</section>
|
||||
<section>
|
||||
<h2>Emulating it With Renode</h2>
|
||||
<ul>
|
||||
<li>Good enough to develop the OS!</li>
|
||||
<li>Good enough to catch bugs</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section data-transition="slide-in fade-out">
|
||||
<h2>Getting Hardware to Users</h2>
|
||||
<img src="img/betrusted-wycheproof-patch.png">
|
||||
</section>
|
||||
<section data-transition="fade-in">
|
||||
<h2>Getting Hardware to Users</h2>
|
||||
<img src="img/betrusted-wycheproof-patch-fix.png">
|
||||
</section>
|
||||
<section>
|
||||
<h2>ENGINE bug</h2>
|
||||
<ol>
|
||||
<li>Added test vectors to the OS</li>
|
||||
<li>Ran test vectors on physical device</li>
|
||||
<li>Got test vectors passing in Renode</li>
|
||||
<li>
|
||||
<ul>
|
||||
<li>Yay!</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Someone (without a device!) decided to add more vectors</li>
|
||||
<li>Tested in Renode</li>
|
||||
<li>Passed</li>
|
||||
<li>Failed on hardware</li>
|
||||
<li>Bug in detecting overflow condition for normalization in hardware</li>
|
||||
<li>https://github.com/betrusted-io/gateware/commit/817e284a3d92037b8cb0686735578d2bb60853e9
|
||||
</li>
|
||||
</ol>
|
||||
<section>
|
||||
<h1>Demonstration!</h1>
|
||||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<h2>Getting Started with Renode</h2>
|
||||
@ -239,36 +238,53 @@
|
||||
</ol>
|
||||
</section>
|
||||
<section>
|
||||
<h2>Example project repl</h2>
|
||||
<h2>Example project repl: </h2>
|
||||
<pre><code>using "platforms/cpus/nrf52840.repl"
|
||||
gpio0: // PinName in ArduinoIDE
|
||||
24 -> led_red@0 // LED_RED
|
||||
16 -> led_green@0 // LED_GREEN
|
||||
6 -> led_blue@0 // LED_BLUE
|
||||
camera: Sensors.ArduCAMMini2MPPlus @ {
|
||||
spi2;
|
||||
twi0 0x30
|
||||
}
|
||||
lsm9ds1_imu: Sensors.LSM9DS1_IMU @ twi0 0x6b
|
||||
lsm9ds1_mag: Sensors.LSM9DS1_Magnetic @ twi0 0x1e
|
||||
</code></pre>
|
||||
</section>
|
||||
<section>
|
||||
<h2>Example project resc</h2>
|
||||
<pre><code>using sysbus
|
||||
mach create
|
||||
machine LoadPlatformDescription @platforms/cpus/stm32f103.repl
|
||||
machine LoadPlatformDescriptionFromString \
|
||||
"button: Miscellaneous.Button @ gpioPortC 13 { IRQ -> gpioPortC@13 }"
|
||||
showAnalyzer usart2
|
||||
macro reset
|
||||
"""
|
||||
sysbus LoadELF @zephyr-stm32f103-button.elf
|
||||
"""
|
||||
runMacro $reset</code></pre>
|
||||
</section>
|
||||
<section>
|
||||
<h2>Running it</h2>
|
||||
<pre><code>mono64 Renode.exe project.resc</code></pre>
|
||||
</section>
|
||||
<section>
|
||||
<h2>How to Extend Renode</h2>
|
||||
<ol>
|
||||
<li>Find a peripheral that does what you want</li>
|
||||
<li>
|
||||
<ul>
|
||||
<li>You might even find a compatible peripheral!</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Copy it to your project</li>
|
||||
<li>Change the constructor</li>
|
||||
<li>Change the register set</li>
|
||||
<li>Import the `.cs` file into Renode</li>
|
||||
<li>Import the <code>.cs</code> file into Renode</li>
|
||||
<li>Add it to your platform file</li>
|
||||
</ol>
|
||||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<section>
|
||||
<h1>Demonstration!</h1>
|
||||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<section>
|
||||
<h2>Running Badge Software in Renode</h2>
|
||||
@ -372,6 +388,30 @@ sysbus: Write of value 0x4 to an unimplemented register SYSTEM:PERIP_RST_EN0 (0x
|
||||
<ul>
|
||||
<li>SPI Controller</li>
|
||||
<li>Interrupt Controller</li>
|
||||
<li>I2C Controller</li>
|
||||
<li>Touch Controller</li>
|
||||
<li>Display</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section>
|
||||
<h2>Displays</h2>
|
||||
<ul>
|
||||
<li>Implement <code>ISpiDevice</code></li>
|
||||
<li>Subclass AutoRepaintingVideo</li>
|
||||
<li>Implement <code>Repaint()</code></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section>
|
||||
<h2>Touch Controller</h2>
|
||||
<ul>
|
||||
<li>Possibly interact with the Display controller</li>
|
||||
<li>Implement <code>II2CPeripheral</code></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section>
|
||||
<h2>Audio is Hard</h2>
|
||||
<ul>
|
||||
<li>Existing I2S peripherals just pattern-match audio</li>
|
||||
</ul>
|
||||
</section>
|
||||
</section>
|
||||
|
Loading…
Reference in New Issue
Block a user