reorder things a bit

Signed-off-by: Sean Cross <sean@xobs.io>
This commit is contained in:
Sean Cross 2022-04-08 20:29:17 +08:00
parent 0ca6eb6963
commit b926658459
4 changed files with 103 additions and 109 deletions

View File

@ -79,7 +79,7 @@ section.has-light-background h6 {
padding-bottom: 1em;
padding-right: 1em;
text-align: right;
font-size: 0.5em;
font-size: 1.0em;
width: 100%;
height: 68px;
background-color: rgb(78, 78, 78);

View File

@ -86,12 +86,22 @@
<div class="slides">
<section>
<section>
<h2>Renode: Easy CI for your Weird Hardware</h2>
<h2>Renode: Easy Emulation for your Weird Hardware</h2>
<h3>Sean Cross</h3>
<p>Follow along at <a href="https://p.xobs.io/fa22">https://p.xobs.io/fa22</a></p>
</section>
<section>
<h2>Renode</h2>
<p>I find it a useful tool. Maybe you will, too!
<p>I find it a useful tool. Maybe you will, too!</p>
<img height="100" src="media/antmicro-logo-white.svg">
</section>
<section>
<h2>About Me: I Do Weird Hardware</h2>
<ul>
<li>Betrusted/Precursor: FPGA Secure Communications</li>
<li>Fomu: World's Smallest FPGA Dev Board</li>
<li>Orchard: Lights, Sounds, Captouch</li>
</ul>
</section>
<section>
<h2>What is "Weird Hardware"?</h2>
@ -101,15 +111,6 @@
<li>Hardware that uses ARM, i386, PowerPC, Risc-V, Sparc, or Xtensa</li>
</ul>
</section>
<section>
<h2>About Me: I Do Weird Hardware</h2>
<ul>
<li>Betrusted/Precursor: FPGA Secure Communications</li>
<li>Fomu: World's Smallest FPGA Dev Board</li>
<li>Novena: Open Source Laptop</li>
<li>Senoko: Open Source Power Board for Novena</li>
</ul>
</section>
<section>
<h2>Hardware with Embedded Software</h2>
<ul>
@ -121,22 +122,13 @@
<section>
<h2>About Renode</h2>
<ul>
<li>Whole-System Emulator</li>
<li>Supports concurrent emulation</li>
<li>Multi-Node Emulator</li>
<li>Extensible with C# and Python</li>
<li>Windows, Mac, Linux</li>
<li>MIT Licensed</li>
</ul>
</section>
<!-- <section>
<h2>About This Talk</h2>
<ul>
<li>Overview of Emulators</li>
<li>Oevrview of Weird Hardware</li>
<li>Cool things you can do</li>
</ul>
</section> -->
<section>
<h2>Who Might Find This Talk Interesting?</h2>
<ul>
<li>Creators</li>
@ -171,7 +163,7 @@
<li>What is it doing and how does it get there?</li>
</ul>
<img src="media/bluenrg-ghidra-trace.png" class="fragment">
</section>
</section> -->
</section>
<section>
<section>
@ -199,14 +191,14 @@
</ul>
-->
</section>
<section>
<!-- <section>
<h2>Transparent Emulator</h2>
<ul>
<li>WSL2/Docker</li>
<li>qemu on Linux</li>
<li>Rosetta on Mac</li>
</ul>
</section>
</section> -->
<section data-transition="slide-in fade-out">
<h2>What is an Emulator?</h2>
<img class="fragment" src="media/bbs-example.png">
@ -278,20 +270,20 @@
</section>
<section>
<h2>Defining a Computer in Renode</h2>
<pre><code data-trim data-line-numbers="|1-5|7-8|10-13">
<pre><code data-trim data-line-numbers="|1-5|7-10|12-13">
flash: Memory.MappedMemory @ sysbus 0x00000000
size: 0x00008000
sram: Memory.MappedMemory @ sysbus 0x20000000
size: 0x00001000
nvic: IRQControllers.NVIC @ sysbus 0xE000E000
IRQ -> cpu@0
cpu: CPU.CortexM @ sysbus
cpuType: "cortex-m0+"
PerformanceInMips: 24
nvic: nvic
nvic: IRQControllers.NVIC @ sysbus 0xE000E000
IRQ -> cpu@0
</code></pre>
bluenrg-1.repl
</section>
@ -432,7 +424,7 @@
Blocks are frequently reused across designs, and can save you from having to reimplement
everything from scratch!
</section>
<section>
<!-- <section>
<h2>What if we need to write it ourselves?</h2>
</section>
<section>
@ -569,7 +561,7 @@
</ul>
<li class="fragment">Most writes can be ignored</li>
</ul>
</section>
</section> -->
<section>
<h2>Peripheral Rapid Development</h2>
<img src="media/hardware-20191117-cropped.jpg">
@ -605,74 +597,6 @@
<h2>Emulation brings more eyes to the project</h2>
</section>
</section>
<!--
<section>
<section>
<h2>Example of Weird Hardware</h2>
<ul>
<li>NRF52840</li>
<li>LM74 Temperature Sensor</li>
</ul>
</section>
<section>
<h2>Example of Weird Hardware</h2>
<ul>
<li>NRF52833</li>
<li>LM74 Temperature Sensor</li>
</ul>
</section>
<section>
<h2>Example of Weird Hardware</h2>
<ul>
<li>BlueNRG1</li>
<li>LM74 Temperature Sensor</li>
</ul>
</section>
<section>
<h2>Example of Weird Hardware</h2>
<ul>
<li>RISC-V</li>
<li>FPGA-based framebuffer</li>
<li>Initial graphical demo in 1 hour</li>
</ul>
</section>
</section>
<section>
<section>
<h2>What makes hardware "Weird"?</h2>
<ul>
<li>Unusual CPU architecture</li>
<li>Different model of chip than commonly found</li>
<li>Additional hardware</li>
<li>More CPUs per board</li>
</ul>
</section>
<section>
<h2>Unusual CPU architecture</h2>
Sorry, can't help
</section>
<section>
<h2>Different model CPU</h2>
<ul>
<li>Maybe it's just a variant</li>
<li>Perhaps memory regions were shuffled</li>
<li>Does it use the same hardware block as someone else?</li>
</ul>
</section>
<section>
<h2>New hardware version</h2>
<ul>
<li>Do you use the new, specialized features?</li>
<li>Lots of UARTs support Infrared. Do you need that?</li>
</ul>
</section>
<section>
<h2>Completely new hardware</h2>
<ul>
<li>Time to break out C#</li>
</ul>
</section>
</section> -->
<section>
<section>
<h2>Robot Framework: Running Tests in CI</h2>
@ -689,11 +613,11 @@
${URI} @https://dl.antmicro.com/projects/renode
${LIS2DS12}= SEPARATOR=
... """ ${\n}
... using "platforms/cpus/nrf52840.repl" ${\n}
... ${\n}
... lis2ds12: Sensors.LIS2DS12 @ twi1 0x1c ${\n}
... ${SPACE*4}IRQ -> gpio0@28 ${\n}
... """ ${\n}
... using "platforms/cpus/nrf52840.repl" ${\n}
... ${\n}
... lis2ds12: Sensors.LIS2DS12 @ twi1 0x1c ${\n}
... ${SPACE*4}IRQ -> gpio0@28 ${\n}
... """
*** Keywords ***
@ -702,7 +626,7 @@
Execute Command machine
... LoadPlatformDescriptionFromString ${LIS2DS12}
Execute Command sysbus LoadELF
... ${URI}/nrf52840--zephyr_lis2dh.elf-s_747800-163b7e7cc986d4b1115f06b5f3df44ed0defc1fa
... ${URI}/nrf52840--zephyr_lis2dh.elf
*** Test Cases ***
Should Read Acceleration
@ -720,6 +644,10 @@
</code></pre>
<p>LIS2DS12.robot</p>
</section>
<section>
<h2>Github Actions</h2>
<img src="media/renode-ci-test.png">
</section>
</section>
<section>
<section>
@ -727,7 +655,7 @@
</section>
<section>
<h2>SVD: Standard Chip Documentation</h2>
<pre class="code-animation"><code class="xml" data-trim data-line-numbers="|3-9|25-87|27-31|31|39-57|41|43|46-47|48-56"><script type="text/template">
<pre class="code-animation"><code class="xml" data-trim data-line-numbers="|3-9|25-87|27-31|31|39-57|41|43|48-56|46"><script type="text/template">
<?xml version='1.0' encoding='utf-8'?>
<device xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="1.1" xsi:noNamespaceSchemaLocation="CMSIS-SVD_Schema_1_1_draft.xsd">
<vendor>STMicroelectronics</vendor>
@ -863,7 +791,18 @@
</section>
<section>
<h2>Loading Peripherals at Runtime</h2>
<pre><code class="cs" data-trim data-line-numbers="|3-8|9-16">
<pre><code class="cs" data-trim data-line-numbers="|1-10|12-28|14-19|20-27">
private enum Registers
{
STATUS = 0x0,
DATA = 0x4,
URANDOM = 0x8,
URANDOM_VALID = 0xc,
EV_STATUS = 0x10,
EV_PENDING = 0x14,
EV_ENABLE = 0x18,
}
private void DefineRegisters()
{
Registers.STATUS.Define(this) // RDY is set on reset
@ -910,7 +849,8 @@
Give it a try!
</section>
<section>
<h2>Thank you for your time</h2>
<h2>Thank you for joining</h2>
<h3>Questions?</h3>
</section>
</div>
</div>

View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 138 44;" viewBox="0 0 138 44" y="0px" x="0px" id="logo" version="1.1">
<metadata id="metadata37">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<defs id="defs35"/>
<style id="style3" type="text/css">
.st0 {
fill: #332D37;
}
.st1 {
fill: url(#SVGID_1_);
}
.st2 {
fill: url(#SVGID_2_);
}
.st3 {
fill: url(#SVGID_3_);
}
.st4 {
fill: url(#SVGID_4_);
}
.st5 {
fill: #E63E3C;
}
</style>
<g style="fill:#ffffff" id="g5">
<g style="fill:#ffffff" id="g7">
<path style="fill:#ffffff" id="path9" d="M31.7,28.8c-0.1,0.4-0.4,0.8-0.7,1c0,0-10.2,5.9-10.2,5.9c-0.3,0.2-0.6,0.4-0.9,0.5c-0.2,0.1-0.4,0.1-0.6,0.1 c-0.1,0-0.2,0-0.3,0c-0.2,0-0.4-0.1-0.5-0.2L7.5,29.9c0,0-0.1-0.1-0.2-0.1C7.2,29.7,7,29.5,7,29.5c-0.2-0.2-0.3-0.5-0.4-0.8 c0-0.1,0-0.3,0-0.3v-0.1V22v0v-6.3c0,0,0-0.1,0-0.1c0-0.2,0-0.3,0.1-0.5c0.1-0.4,0.4-0.7,0.8-0.9l10.9-6.3c0,0,0.1-0.1,0.3-0.2 c0,0,0.2,0,0.2,0c0.1,0,0.2,0,0.3,0c0.3,0,0.6,0.1,0.8,0.3l10.9,6.3c0,0,0,0,0,0l0,0c0.1,0.1,0.3,0.2,0.4,0.3 c0.2,0.3,0.4,0.6,0.4,1c0,0,0,0,0,0c0,0,0,0,0,0c0,0,0,0.6,0,12.9c0,0.1,0,0.1,0,0.2C31.7,28.7,31.7,28.8,31.7,28.8 M37.1,10 L37.1,10C37.1,10,37.1,10,37.1,10L20.5,0.4C20.1,0.1,19.7,0,19.2,0c-0.5,0-0.9,0.1-1.3,0.4L1.3,10C0.5,10.4,0,11.2,0,12.1 c0,0.1,0,0.1,0,0.2v19.4c0,0.1,0,0.1,0,0.2c0,0.9,0.5,1.7,1.3,2.1l16.6,9.6c0.4,0.2,0.8,0.4,1.3,0.4c0.5,0,0.9-0.1,1.3-0.4 L37.1,34c0,0,0,0,0,0l0,0v0c0.7-0.4,1.2-1.2,1.2-2V12.1C38.3,11.2,37.9,10.4,37.1,10"/>
<path style="fill:#ffffff" id="path11" d="M19.5,22.3h2.6h1.6c0.1,0.5,0.6,0.9,1.2,0.9c0.7,0,1.2-0.5,1.2-1.2c0-0.7-0.6-1.3-1.2-1.3c-0.6,0-1.1,0.4-1.2,0.9h-2.1 l-2.1,0v-1.8h2c0,0,0.2,0,0.3-0.1c0.2-0.1,0.6-0.6,0.6-0.6l1.2-1.2c0.2,0.1,0.4,0.1,0.6,0.1c0.7,0,1.2-0.6,1.2-1.2 c0-0.7-0.6-1.2-1.2-1.2c-0.7,0-1.2,0.6-1.2,1.2c0,0.2,0.1,0.5,0.2,0.7L21.7,19c0,0-0.2,0.2-0.3,0.2c0,0-0.1,0-0.1,0h-1.8v-0.8v-2 c0.8-0.2,1.4-0.9,1.4-1.7c0-1-0.8-1.7-1.7-1.7c-1,0-1.7,0.8-1.7,1.7c0,0.9,0.6,1.6,1.4,1.7v2.8h-1.8c0,0-0.1,0-0.1,0 c-0.1,0-0.2-0.2-0.2-0.2l-1.4-1.5c0.1-0.2,0.2-0.4,0.2-0.7c0-0.7-0.6-1.2-1.2-1.2c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2 c0.2,0,0.4-0.1,0.6-0.1l1.2,1.2c0,0,0.4,0.4,0.6,0.6c0.1,0.1,0.3,0.1,0.3,0.1h2v1.3v0.5l-2,0h-2.2c-0.1-0.5-0.6-0.9-1.2-0.9 c-0.7,0-1.2,0.6-1.2,1.3c0,0.7,0.6,1.2,1.2,1.2c0.6,0,1-0.4,1.2-0.9h2.2h2v1.8h-2c0,0-0.2,0-0.3,0.1c-0.2,0.1-0.6,0.6-0.6,0.6 L14.7,26c-0.2-0.1-0.4-0.1-0.6-0.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2c0-0.2-0.1-0.5-0.2-0.7 l1.4-1.5c0,0,0.2-0.2,0.2-0.2c0,0,0.1,0,0.1,0h1.8V26v1.5c-0.8,0.2-1.4,0.9-1.4,1.7c0,1,0.8,1.7,1.7,1.7c1,0,1.7-0.8,1.7-1.7 c0-0.9-0.6-1.6-1.4-1.7v-2.8h1.8c0,0,0.1,0,0.1,0c0.1,0,0.3,0.2,0.3,0.2l1.4,1.5c-0.1,0.2-0.2,0.4-0.2,0.7c0,0.7,0.6,1.2,1.2,1.2 c0.7,0,1.2-0.6,1.2-1.2c0-0.7-0.6-1.2-1.2-1.2c-0.2,0-0.4,0.1-0.6,0.1l-1.2-1.2c0,0-0.5-0.4-0.6-0.6c-0.1-0.1-0.3-0.1-0.3-0.1h-2 v-1.1L19.5,22.3L19.5,22.3z M24.9,21.4c0.3,0,0.6,0.3,0.6,0.6c0,0.3-0.3,0.6-0.6,0.6c-0.3,0-0.6-0.3-0.6-0.6 C24.3,21.7,24.6,21.4,24.9,21.4z M24.1,16.3c0.3,0,0.6,0.3,0.6,0.6c0,0.3-0.3,0.6-0.6,0.6c-0.3,0-0.6-0.3-0.6-0.6 C23.5,16.6,23.8,16.3,24.1,16.3z M14.2,17.5c-0.3,0-0.6-0.3-0.6-0.6c0-0.3,0.3-0.6,0.6-0.6c0.3,0,0.6,0.3,0.6,0.6 C14.8,17.2,14.5,17.5,14.2,17.5z M13.4,22.6c-0.3,0-0.6-0.3-0.6-0.6c0-0.3,0.3-0.6,0.6-0.6c0.3,0,0.6,0.3,0.6,0.6 C14,22.3,13.8,22.6,13.4,22.6z M14.2,27.7c-0.3,0-0.6-0.3-0.6-0.6c0-0.3,0.3-0.6,0.6-0.6c0.3,0,0.6,0.3,0.6,0.6 C14.8,27.4,14.5,27.7,14.2,27.7z M24.1,26.5c0.3,0,0.6,0.3,0.6,0.6c0,0.3-0.3,0.6-0.6,0.6c-0.3,0-0.6-0.3-0.6-0.6 C23.5,26.8,23.8,26.5,24.1,26.5z M19.2,30.3c-0.6,0-1.1-0.5-1.1-1.1c0-0.6,0.5-1.1,1.1-1.1c0.6,0,1.1,0.5,1.1,1.1 C20.3,29.8,19.8,30.3,19.2,30.3z M19.2,13.7c0.6,0,1.1,0.5,1.1,1.1s-0.5,1.1-1.1,1.1c-0.6,0-1.1-0.5-1.1-1.1S18.6,13.7,19.2,13.7z "/>
</g>
<g style="fill:#ffffff" id="g13">
<path style="fill:#ffffff" id="path15" d="M66,29.8V19.2c0-2.3-0.9-3.4-3.4-3.4c-1.1,0-1.9,0.2-2.7,0.5v13.5h-2.5V15.3c1.4-0.7,3.3-1.1,5.2-1.1c4.1,0,5.9,1.8,5.9,5 v10.6C68.5,29.8,66,29.8,66,29.8z"/>
<path style="fill:#ffffff" id="path17" d="M75.6,29.9c-2.2,0-3.7-1.3-3.7-3.9V16h-1.8v-1.6h1.8v-3.5l2.5-0.8v4.3h2.7V16h-2.7v10c0,1.3,0.7,2.1,1.9,2.1 c0.3,0,0.5,0,0.8-0.1v1.6C76.7,29.8,76.2,29.9,75.6,29.9"/>
<path style="fill:#ffffff" id="path19" d="M96.6,29.8V19.1c0-2-0.9-3.3-3.1-3.3c-1.2,0-2.2,0.6-3,1.5v12.6H88V18.7c0-1.8-1-2.9-3.2-2.9c-1.2,0-2,0.1-2.9,0.5v13.5 h-2.5V15.3c1.5-0.7,3.2-1.1,5.2-1.1c2.3,0,3.6,0.6,4.6,1.8c1-1.1,2.6-1.8,4.4-1.8c3.7,0,5.4,2,5.4,4.9v10.7H96.6z"/>
<polygon style="fill:#ffffff" id="polygon21" points="102.4,29.8 102.4,24.3 102.4,19.6 102.4,14.5 103.8,14.5 104.9,14.5 104.9,18.4 104.9,22.1 104.9,29.8 103.7,29.8 "/>
<path style="fill:#ffffff" id="path23" d="M113.2,30.1c-3.7,0-5.9-3.3-5.9-8c0-4.7,2.3-7.9,5.9-7.9c1.4,0,2.6,0.4,3.4,1l-0.6,1.5c-0.6-0.5-1.5-0.8-2.4-0.8 c-2.4,0-3.8,2.6-3.8,6.2c0,3.5,1.4,6.2,3.8,6.2c0.9,0,1.8-0.3,2.4-0.7l0.6,1.6C115.8,29.7,114.6,30.1,113.2,30.1"/>
<path style="fill:#ffffff" id="path25" d="M125,16.1c-0.5-0.2-1-0.3-1.6-0.3c-0.7,0-1.4,0.1-1.9,0.4v13.5H119V15.3c1.3-0.7,3-1.1,5.2-1.1c0.6,0,1.2,0.1,1.3,0.1 L125,16.1z"/>
<path style="fill:#ffffff" id="path27" d="M132,15.8c-2.7,0-3.5,2.9-3.5,6.3c0,3.4,0.9,6.3,3.5,6.3c2.7,0,3.5-2.9,3.5-6.3C135.5,18.6,134.6,15.8,132,15.8 M132,30.1 c-4.1,0-6-3.4-6-8c0-4.6,1.9-7.9,6-7.9c4.1,0,6,3.4,6,7.9C138,26.7,136.1,30.1,132,30.1"/>
<path style="fill:#ffffff" id="path29" d="M51.7,28.1c-0.6,0.3-1.6,0.5-2.5,0.5c-2.4,0-3.7-1.2-3.7-3.2c0-2.7,2.3-3.8,6.2-4.2V28.1z M48.7,14.2 c-1.6,0-3.4,0.5-4.7,1.1l0.6,1.5c1-0.6,2.5-1,3.8-1c2.1,0,3.3,0.9,3.3,3v0.9c-4.9,0.5-8.6,1.9-8.6,5.6c0,3,2.2,4.6,5.8,4.6 c2,0,3.9-0.4,5.1-1.1v-9.8C54,15.7,52,14.2,48.7,14.2"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.2 KiB

BIN
media/renode-ci-test.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB