396
									
								
								dist/theme/fossasia2022.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,396 @@ | |||||||
|  | /** | ||||||
|  |  * League theme for reveal.js. | ||||||
|  |  * | ||||||
|  |  * This was the default theme pre-3.0.0. | ||||||
|  |  * | ||||||
|  |  * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se | ||||||
|  |  */ | ||||||
|  | @import url(./fonts/league-gothic/league-gothic.css); | ||||||
|  | @import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); | ||||||
|  |  | ||||||
|  | section.has-light-background, | ||||||
|  | section.has-light-background h1, | ||||||
|  | section.has-light-background h2, | ||||||
|  | section.has-light-background h3, | ||||||
|  | section.has-light-background h4, | ||||||
|  | section.has-light-background h5, | ||||||
|  | section.has-light-background h6 { | ||||||
|  |   color: #222; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /********************************************* | ||||||
|  |  * GLOBAL STYLES | ||||||
|  |  *********************************************/ | ||||||
|  | :root { | ||||||
|  |   --r-background-color: #2b2b2b; | ||||||
|  |   --r-main-font: Lato, sans-serif; | ||||||
|  |   --r-main-font-size: 40px; | ||||||
|  |   --r-main-color: #eee; | ||||||
|  |   --r-block-margin: 20px; | ||||||
|  |   --r-heading-margin: 0 0 20px 0; | ||||||
|  |   --r-heading-font: League Gothic, Impact, sans-serif; | ||||||
|  |   --r-heading-color: #eee; | ||||||
|  |   --r-heading-line-height: 1.2; | ||||||
|  |   --r-heading-letter-spacing: normal; | ||||||
|  |   --r-heading-text-transform: uppercase; | ||||||
|  |   --r-heading-text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2); | ||||||
|  |   --r-heading-font-weight: normal; | ||||||
|  |   --r-heading1-text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 20px 20px rgba(0, 0, 0, 0.15); | ||||||
|  |   --r-heading1-size: 3.77em; | ||||||
|  |   --r-heading2-size: 2.11em; | ||||||
|  |   --r-heading3-size: 1.55em; | ||||||
|  |   --r-heading4-size: 1em; | ||||||
|  |   --r-code-font: monospace; | ||||||
|  |   --r-link-color: #13DAEC; | ||||||
|  |   --r-link-color-dark: #0d99a5; | ||||||
|  |   --r-link-color-hover: #71e9f4; | ||||||
|  |   --r-selection-background-color: #FF5E99; | ||||||
|  |   --r-selection-color: #fff; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal-viewport { | ||||||
|  |   background: #1c1e20; | ||||||
|  |   background: -moz-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%); | ||||||
|  |   background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, #555a5f), color-stop(100%, #1c1e20)); | ||||||
|  |   background: -webkit-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%); | ||||||
|  |   background: -o-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%); | ||||||
|  |   background: -ms-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%); | ||||||
|  |   background: radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%); | ||||||
|  |   background-color: var(--r-background-color); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal { | ||||||
|  |   font-family: var(--r-main-font); | ||||||
|  |   font-size: var(--r-main-font-size); | ||||||
|  |   font-weight: normal; | ||||||
|  |   color: var(--r-main-color); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal .footer { | ||||||
|  |   background-image: url("../../media/fossasia-logo.png"); | ||||||
|  |   background-repeat: no-repeat; | ||||||
|  |   background-size: 10%; | ||||||
|  |   background-position-x: 50px; | ||||||
|  |   width: 100%; | ||||||
|  |   height: 68px; | ||||||
|  |   position: absolute; | ||||||
|  |   bottom: 0em; | ||||||
|  |   right: 0em; | ||||||
|  |   padding-bottom: 1em; | ||||||
|  |   padding-right: 1em; | ||||||
|  |   text-align: right; | ||||||
|  |   font-size: 0.5em; | ||||||
|  |   width: 100%; | ||||||
|  |   height: 68px; | ||||||
|  |   background-color: rgb(78, 78, 78); | ||||||
|  |   display: flex; | ||||||
|  |   justify-content: flex-end; | ||||||
|  |   align-items: flex-end; | ||||||
|  |   z-index: 1; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal ::selection { | ||||||
|  |   color: var(--r-selection-color); | ||||||
|  |   background: var(--r-selection-background-color); | ||||||
|  |   text-shadow: none; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal ::-moz-selection { | ||||||
|  |   color: var(--r-selection-color); | ||||||
|  |   background: var(--r-selection-background-color); | ||||||
|  |   text-shadow: none; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal .slides section, | ||||||
|  | .reveal .slides section>section { | ||||||
|  |   line-height: 1.3; | ||||||
|  |   font-weight: inherit; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /********************************************* | ||||||
|  |  * HEADERS | ||||||
|  |  *********************************************/ | ||||||
|  | .reveal h1, | ||||||
|  | .reveal h2, | ||||||
|  | .reveal h3, | ||||||
|  | .reveal h4, | ||||||
|  | .reveal h5, | ||||||
|  | .reveal h6 { | ||||||
|  |   margin: var(--r-heading-margin); | ||||||
|  |   color: var(--r-heading-color); | ||||||
|  |   font-family: var(--r-heading-font); | ||||||
|  |   font-weight: var(--r-heading-font-weight); | ||||||
|  |   line-height: var(--r-heading-line-height); | ||||||
|  |   letter-spacing: var(--r-heading-letter-spacing); | ||||||
|  |   text-transform: var(--r-heading-text-transform); | ||||||
|  |   text-shadow: var(--r-heading-text-shadow); | ||||||
|  |   word-wrap: break-word; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal h1 { | ||||||
|  |   font-size: var(--r-heading1-size); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal h2 { | ||||||
|  |   font-size: var(--r-heading2-size); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal h3 { | ||||||
|  |   font-size: var(--r-heading3-size); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal h4 { | ||||||
|  |   font-size: var(--r-heading4-size); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal h1 { | ||||||
|  |   text-shadow: var(--r-heading1-text-shadow); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /********************************************* | ||||||
|  |  * OTHER | ||||||
|  |  *********************************************/ | ||||||
|  | .reveal p { | ||||||
|  |   margin: var(--r-block-margin) 0; | ||||||
|  |   line-height: 1.3; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /* Remove trailing margins after titles */ | ||||||
|  | .reveal h1:last-child, | ||||||
|  | .reveal h2:last-child, | ||||||
|  | .reveal h3:last-child, | ||||||
|  | .reveal h4:last-child, | ||||||
|  | .reveal h5:last-child, | ||||||
|  | .reveal h6:last-child { | ||||||
|  |   margin-bottom: 0; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /* Ensure certain elements are never larger than the slide itself */ | ||||||
|  | .reveal img, | ||||||
|  | .reveal video, | ||||||
|  | .reveal iframe { | ||||||
|  |   max-width: 95%; | ||||||
|  |   max-height: 95%; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal strong, | ||||||
|  | .reveal b { | ||||||
|  |   font-weight: bold; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal em { | ||||||
|  |   font-style: italic; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal ol, | ||||||
|  | .reveal dl, | ||||||
|  | .reveal ul { | ||||||
|  |   display: inline-block; | ||||||
|  |   text-align: left; | ||||||
|  |   margin: 0 0 0 1em; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal ol { | ||||||
|  |   list-style-type: decimal; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal ul { | ||||||
|  |   list-style-type: disc; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal ul ul { | ||||||
|  |   list-style-type: square; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal ul ul ul { | ||||||
|  |   list-style-type: circle; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal ul ul, | ||||||
|  | .reveal ul ol, | ||||||
|  | .reveal ol ol, | ||||||
|  | .reveal ol ul { | ||||||
|  |   display: block; | ||||||
|  |   margin-left: 40px; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal dt { | ||||||
|  |   font-weight: bold; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal dd { | ||||||
|  |   margin-left: 40px; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal blockquote { | ||||||
|  |   display: block; | ||||||
|  |   position: relative; | ||||||
|  |   width: 70%; | ||||||
|  |   margin: var(--r-block-margin) auto; | ||||||
|  |   padding: 5px; | ||||||
|  |   font-style: italic; | ||||||
|  |   background: rgba(255, 255, 255, 0.05); | ||||||
|  |   box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal blockquote p:first-child, | ||||||
|  | .reveal blockquote p:last-child { | ||||||
|  |   display: inline-block; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal q { | ||||||
|  |   font-style: italic; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal pre { | ||||||
|  |   display: block; | ||||||
|  |   position: relative; | ||||||
|  |   width: 90%; | ||||||
|  |   margin: var(--r-block-margin) auto; | ||||||
|  |   text-align: left; | ||||||
|  |   font-size: 0.75em; | ||||||
|  |   font-family: var(--r-code-font); | ||||||
|  |   line-height: 1.2em; | ||||||
|  |   word-wrap: break-word; | ||||||
|  |   box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal code { | ||||||
|  |   font-family: var(--r-code-font); | ||||||
|  |   text-transform: none; | ||||||
|  |   tab-size: 2; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal pre code { | ||||||
|  |   display: block; | ||||||
|  |   padding: 5px; | ||||||
|  |   overflow: auto; | ||||||
|  |   max-height: 400px; | ||||||
|  |   word-wrap: normal; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal .code-wrapper { | ||||||
|  |   white-space: normal; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal .code-wrapper code { | ||||||
|  |   white-space: pre; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal table { | ||||||
|  |   margin: auto; | ||||||
|  |   border-collapse: collapse; | ||||||
|  |   border-spacing: 0; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal table th { | ||||||
|  |   font-weight: bold; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal table th, | ||||||
|  | .reveal table td { | ||||||
|  |   text-align: left; | ||||||
|  |   padding: 0.2em 0.5em 0.2em 0.5em; | ||||||
|  |   border-bottom: 1px solid; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal table th[align=center], | ||||||
|  | .reveal table td[align=center] { | ||||||
|  |   text-align: center; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal table th[align=right], | ||||||
|  | .reveal table td[align=right] { | ||||||
|  |   text-align: right; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal table tbody tr:last-child th, | ||||||
|  | .reveal table tbody tr:last-child td { | ||||||
|  |   border-bottom: none; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal sup { | ||||||
|  |   vertical-align: super; | ||||||
|  |   font-size: smaller; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal sub { | ||||||
|  |   vertical-align: sub; | ||||||
|  |   font-size: smaller; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal small { | ||||||
|  |   display: inline-block; | ||||||
|  |   font-size: 0.6em; | ||||||
|  |   line-height: 1.2em; | ||||||
|  |   vertical-align: top; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal small * { | ||||||
|  |   vertical-align: top; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal img { | ||||||
|  |   margin: var(--r-block-margin) 0; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /********************************************* | ||||||
|  |  * LINKS | ||||||
|  |  *********************************************/ | ||||||
|  | .reveal a { | ||||||
|  |   color: var(--r-link-color); | ||||||
|  |   text-decoration: none; | ||||||
|  |   transition: color 0.15s ease; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal a:hover { | ||||||
|  |   color: var(--r-link-color-hover); | ||||||
|  |   text-shadow: none; | ||||||
|  |   border: none; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal .roll span:after { | ||||||
|  |   color: #fff; | ||||||
|  |   background: var(--r-link-color-dark); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /********************************************* | ||||||
|  |  * Frame helper | ||||||
|  |  *********************************************/ | ||||||
|  | .reveal .r-frame { | ||||||
|  |   border: 4px solid var(--r-main-color); | ||||||
|  |   box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal a .r-frame { | ||||||
|  |   transition: all 0.15s linear; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .reveal a:hover .r-frame { | ||||||
|  |   border-color: var(--r-link-color); | ||||||
|  |   box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /********************************************* | ||||||
|  |  * NAVIGATION CONTROLS | ||||||
|  |  *********************************************/ | ||||||
|  | .reveal .controls { | ||||||
|  |   color: var(--r-link-color); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /********************************************* | ||||||
|  |  * PROGRESS BAR | ||||||
|  |  *********************************************/ | ||||||
|  | .reveal .progress { | ||||||
|  |   background: rgba(0, 0, 0, 0.2); | ||||||
|  |   color: var(--r-link-color); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /********************************************* | ||||||
|  |  * PRINT BACKGROUND | ||||||
|  |  *********************************************/ | ||||||
|  | @media print { | ||||||
|  |   .backgrounds { | ||||||
|  |     background-color: var(--r-background-color); | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										160
									
								
								index.html
									
									
									
									
									
								
							
							
						
						| @@ -9,10 +9,10 @@ | |||||||
|  |  | ||||||
|     <link rel="stylesheet" href="dist/reset.css"> |     <link rel="stylesheet" href="dist/reset.css"> | ||||||
|     <link rel="stylesheet" href="dist/reveal.css"> |     <link rel="stylesheet" href="dist/reveal.css"> | ||||||
|     <link rel="stylesheet" href="dist/theme/night.css"> |     <link rel="stylesheet" href="dist/theme/fossasia2022.css"> | ||||||
|  |  | ||||||
|     <!-- Theme used for syntax highlighted code --> |     <!-- Theme used for syntax highlighted code --> | ||||||
|     <link rel="stylesheet" href="plugin/highlight/monokai.css"> |     <link rel="stylesheet" href="plugin/highlight/zenburn.css"> | ||||||
| </head> | </head> | ||||||
|  |  | ||||||
| <!-- | <!-- | ||||||
| @@ -80,17 +80,32 @@ | |||||||
|  |  | ||||||
| <body> | <body> | ||||||
|     <div class="reveal"> |     <div class="reveal"> | ||||||
|  |         <div class="footer"> | ||||||
|  |             <a class="url" href="https://p.xobs.io/fa22/">p.xobs.io/fa22</a> | ||||||
|  |         </div> | ||||||
|         <div class="slides"> |         <div class="slides"> | ||||||
|             <section> |             <section> | ||||||
|  |                 <section> | ||||||
|  |                     <h2>Renode: Easy CI for your Weird Hardware</h2> | ||||||
|  |                     <h3>Sean Cross</h3> | ||||||
|  |                 </section> | ||||||
|                 <section> |                 <section> | ||||||
|                     <h2>Renode</h2> |                     <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! | ||||||
|                 </section> |                 </section> | ||||||
|  |                 <section> | ||||||
|  |                     <h2>What is "Weird Hardware"?</h2> | ||||||
|  |                     <ul> | ||||||
|  |                         <li>Hardware that there is only one of (because you just made it)</li> | ||||||
|  |                         <li>Hardware that you're trying to understand</li> | ||||||
|  |                         <li>Hardware that uses ARM, i386, PowerPC, Risc-V, Sparc, or Xtensa</li> | ||||||
|  |                     </ul> | ||||||
|  |                 </section> | ||||||
|                 <section> |                 <section> | ||||||
|                     <h2>About Me: I Do Weird Hardware</h2> |                     <h2>About Me: I Do Weird Hardware</h2> | ||||||
|                     <ul> |                     <ul> | ||||||
|                         <li>Simmel: Contact Tracing with Audio</li> |                         <li>Betrusted/Precursor: FPGA Secure Communications</li> | ||||||
|                         <li>Chibitronics: Programming Stickers with Audio</li> |                         <li>Fomu: World's Smallest FPGA Dev Board</li> | ||||||
|                         <li>Novena: Open Source Laptop</li> |                         <li>Novena: Open Source Laptop</li> | ||||||
|                         <li>Senoko: Open Source Power Board for Novena</li> |                         <li>Senoko: Open Source Power Board for Novena</li> | ||||||
|                     </ul> |                     </ul> | ||||||
| @@ -113,20 +128,20 @@ | |||||||
|                         <li>MIT Licensed</li> |                         <li>MIT Licensed</li> | ||||||
|                     </ul> |                     </ul> | ||||||
|                 </section> |                 </section> | ||||||
|                 <section> |                 <!-- <section> | ||||||
|                     <h2>About This Talk</h2> |                     <h2>About This Talk</h2> | ||||||
|                     <ul> |                     <ul> | ||||||
|                         <li>Overview of Emulators</li> |                         <li>Overview of Emulators</li> | ||||||
|                         <li>Oevrview of Weird Hardware</li> |                         <li>Oevrview of Weird Hardware</li> | ||||||
|                         <li>Cool things you can do</li> |                         <li>Cool things you can do</li> | ||||||
|                     </ul> |                     </ul> | ||||||
|                 </section> |                 </section> --> | ||||||
|                 <section> |                 <section> | ||||||
|                     <h2>Who will find this interesting?</h2> |                     <h2>Who Might Find This Talk Interesting?</h2> | ||||||
|                     <ul> |                     <ul> | ||||||
|                         <li>Creators: Those making new boards or hardware</li> |                         <li>Creators</li> | ||||||
|                         <li>Integrators: Running CI on firmware files</li> |                         <li>Integrators</li> | ||||||
|                         <li>Reverse Engineers: Understanding new hardware and firmware</li> |                         <li>Reverse Engineers</li> | ||||||
|                     </ul> |                     </ul> | ||||||
|                 </section> |                 </section> | ||||||
|                 <section> |                 <section> | ||||||
| @@ -134,7 +149,8 @@ | |||||||
|                     <ul> |                     <ul> | ||||||
|                         <li>Reusing an existing platform</li> |                         <li>Reusing an existing platform</li> | ||||||
|                         <li>Reusing an existing microcontroller</li> |                         <li>Reusing an existing microcontroller</li> | ||||||
|                         <li>New microcontroller fron existing family</li> |                         <li>New microcontroller from existing family</li> | ||||||
|  |                         <li>New microcontroller with a common CPU</li> | ||||||
|                     </ul> |                     </ul> | ||||||
|                 </section> |                 </section> | ||||||
|                 <section> |                 <section> | ||||||
| @@ -146,7 +162,6 @@ | |||||||
|                         </ul> |                         </ul> | ||||||
|                         <li>Hardware crunch makes it difficult to get hardware</li> |                         <li>Hardware crunch makes it difficult to get hardware</li> | ||||||
|                         <li>Downloading software is much cheaper than shipping</li> |                         <li>Downloading software is much cheaper than shipping</li> | ||||||
|                         <li>Can run tests on every code push</li> |  | ||||||
|                     </ul> |                     </ul> | ||||||
|                 </section> |                 </section> | ||||||
|                 <section> |                 <section> | ||||||
| @@ -154,22 +169,13 @@ | |||||||
|                     <ul> |                     <ul> | ||||||
|                         <li>Staring at code flow is enlightening, but time-consuming</li> |                         <li>Staring at code flow is enlightening, but time-consuming</li> | ||||||
|                         <li>What is it doing and how does it get there?</li> |                         <li>What is it doing and how does it get there?</li> | ||||||
|                         <li>How can we make it do $x?</li> |  | ||||||
|                     </ul> |                     </ul> | ||||||
|  |                     <img src="media/bluenrg-ghidra-trace.png" class="fragment"> | ||||||
|                 </section> |                 </section> | ||||||
|             </section> |             </section> | ||||||
|             <section> |             <section> | ||||||
|                 <section data-transition="fade-out"> |                 <section> | ||||||
|                     <h2>What is an Emulator?</h2> |                     <h2>What Is an Emulator?</h2> | ||||||
|                     <img class="fragment" src="media/bbs-example.png"> |  | ||||||
|                 </section> |  | ||||||
|                 <section data-transition="fade"> |  | ||||||
|                     <h2>What is an Emulator?</h2> |  | ||||||
|                     <img src="media/DEC_VT100_terminal_cropped.jpg"> |  | ||||||
|                 </section> |  | ||||||
|                 <section data-transition="fade-in slide-out"> |  | ||||||
|                     <h2>What is an Emulator?</h2> |  | ||||||
|                     <img src="media/bbs-example.png"> |  | ||||||
|                 </section> |                 </section> | ||||||
|                 <section data-transition="slide-in fade-out"> |                 <section data-transition="slide-in fade-out"> | ||||||
|                     <h2>Whole-System Emulator</h2> |                     <h2>Whole-System Emulator</h2> | ||||||
| @@ -201,14 +207,29 @@ | |||||||
|                         <li>Rosetta on Mac</li> |                         <li>Rosetta on Mac</li> | ||||||
|                     </ul> |                     </ul> | ||||||
|                 </section> |                 </section> | ||||||
|  |                 <section data-transition="slide-in fade-out"> | ||||||
|  |                     <h2>What is an Emulator?</h2> | ||||||
|  |                     <img class="fragment" src="media/bbs-example.png"> | ||||||
|  |                 </section> | ||||||
|  |                 <section data-transition="fade"> | ||||||
|  |                     <h2>What is an Emulator?</h2> | ||||||
|  |                     <img src="media/DEC_VT100_terminal_cropped.jpg"> | ||||||
|  |                 </section> | ||||||
|  |                 <section data-transition="fade-in slide-out"> | ||||||
|  |                     <h2>What is an Emulator?</h2> | ||||||
|  |                     <img src="media/bbs-example.png"> | ||||||
|  |                 </section> | ||||||
|                 <section> |                 <section> | ||||||
|  |                     <h2>Emulation Depends on your Goals!</h2> | ||||||
|  |                 </section> | ||||||
|  |                 <!-- <section> | ||||||
|                     <h2>Renode Is Many of These</h2> |                     <h2>Renode Is Many of These</h2> | ||||||
|                     <ul> |                     <ul> | ||||||
|                         <li>Console: Able to present an interactive environment</li> |                         <li>Console: Able to present an interactive environment</li> | ||||||
|                         <li>Transparent: Can run in CI via Robot commands</li> |                         <li>Transparent: Can run in CI via Robot commands</li> | ||||||
|                         <li>Debugger: Has a GDB server built in</li> |                         <li>Debugger: Has a GDB server built in</li> | ||||||
|                     </ul> |                     </ul> | ||||||
|                 </section> |                 </section> --> | ||||||
|             </section> |             </section> | ||||||
|  |  | ||||||
|             <section> |             <section> | ||||||
| @@ -246,10 +267,10 @@ | |||||||
|                     <h2>What is a Computer?</h2> |                     <h2>What is a Computer?</h2> | ||||||
|                     <img src="media/bluenrg-block-diagram-peripherals.png"> |                     <img src="media/bluenrg-block-diagram-peripherals.png"> | ||||||
|                 </section> |                 </section> | ||||||
|                 <section> |                 <!-- <section> | ||||||
|                     <h2>What is a Computer?</h2> |                     <h2>What is a Computer?</h2> | ||||||
|                     <img src="media/bluenrg-peripherals.png"> |                     <img src="media/bluenrg-peripherals.png"> | ||||||
|                 </section> |                 </section> --> | ||||||
|                 <section> |                 <section> | ||||||
|                     <h2>What is a Computer?</h2> |                     <h2>What is a Computer?</h2> | ||||||
|                     <img src="media/bluenrg-memory-map.png"> |                     <img src="media/bluenrg-memory-map.png"> | ||||||
| @@ -260,7 +281,7 @@ | |||||||
|                 </section> |                 </section> | ||||||
|                 <section> |                 <section> | ||||||
|                     <h2>Defining a Computer in Renode</h2> |                     <h2>Defining a Computer in Renode</h2> | ||||||
|                     <pre><code data-trim> |                     <pre><code data-trim data-line-numbers="|1-5|7-8|10-13"> | ||||||
|                         flash: Memory.MappedMemory @ sysbus 0x00000000 |                         flash: Memory.MappedMemory @ sysbus 0x00000000 | ||||||
|                             size: 0x00008000 |                             size: 0x00008000 | ||||||
|  |  | ||||||
| @@ -301,15 +322,16 @@ | |||||||
|                     <pre class="fragment"><code data-trim> |                     <pre class="fragment"><code data-trim> | ||||||
|                         sysbus LoadBinary @rom.bin 0x20000000 |                         sysbus LoadBinary @rom.bin 0x20000000 | ||||||
|                     </code></pre> |                     </code></pre> | ||||||
|                     <pre class="fragment"><code data-trim> |                     <!-- <pre class="fragment"><code data-trim> | ||||||
|                         sysbus LoadSymbolsFrom @rom.elf |                         sysbus LoadSymbolsFrom @rom.elf | ||||||
|                     </code></pre> |                     </code></pre> --> | ||||||
|                 </section> |                 </section> | ||||||
|                 <section> |                 <section> | ||||||
|                     <h2>How does Renode Interact With $VENDOR_TOOL?</h2> |                     <h2>How does Renode Interact With $VENDOR_TOOL?</h2> | ||||||
|                     <ul> |                     <ul> | ||||||
|                         <li>Hopefully your vendor tool produces ELF files</li> |                         <li>Hopefully your vendor tool produces ELF files</li> | ||||||
|                         <li class="fragment">At the end of the day, it's all bytes. Just use <code>LoadBinary</code>! |                         <li class="fragment">HEX? BIN? Just use <code>LoadBinary</code>! | ||||||
|  |                         <li class="fragment">Custom firmware format? Need to unpack first.</li> | ||||||
|                         </li> |                         </li> | ||||||
|                     </ul> |                     </ul> | ||||||
|                 </section> |                 </section> | ||||||
| @@ -324,8 +346,11 @@ | |||||||
|                         <li>Jump to loaded program</li> |                         <li>Jump to loaded program</li> | ||||||
|                     </ol> |                     </ol> | ||||||
|                     <pre class="fragment"><code data-trim> |                     <pre class="fragment"><code data-trim> | ||||||
|  |                         sysbus LoadBinary @rom.bin 0x20000000 | ||||||
|                         sysbus.cpu VectorTableOffset 0x20000000 |                         sysbus.cpu VectorTableOffset 0x20000000 | ||||||
|                         sysbus.cpu PC 0x20000c00 |                         sysbus.cpu SP `sysbus ReadDoubleWord 0x20000000` | ||||||
|  |                         sysbus.cpu PC `sysbus ReadDoubleWord 0x20000004` | ||||||
|  |                         start | ||||||
|                     </code></pre> |                     </code></pre> | ||||||
|                 </section> |                 </section> | ||||||
|             </section> |             </section> | ||||||
| @@ -341,7 +366,19 @@ | |||||||
|                         <li>They are easy to script</li> |                         <li>They are easy to script</li> | ||||||
|                     </ul> |                     </ul> | ||||||
|                 </section> |                 </section> | ||||||
|                 <section data-transition="fade-out"> |                 <section> | ||||||
|  |                     <h2>What is a Computer?</h2> | ||||||
|  |                     <img src="media/bluenrg-memory-map.png"> | ||||||
|  |                 </section> | ||||||
|  |                 <section data-transition="slide-in fade-out"> | ||||||
|  |                     <h2>What is a Register?</h2> | ||||||
|  |                     <img src="media/pl011-bluenrg.png"> | ||||||
|  |                 </section> | ||||||
|  |                 <section data-transition="fade"> | ||||||
|  |                     <h2>What is a Register?</h2> | ||||||
|  |                     <img src="media/pl011-bluenrg-field.png"> | ||||||
|  |                 </section> | ||||||
|  |                 <section data-transition="fade"> | ||||||
|                     <h2>What is a Register?</h2> |                     <h2>What is a Register?</h2> | ||||||
|                     <img src="media/pl011-bluenrg.png"> |                     <img src="media/pl011-bluenrg.png"> | ||||||
|                     <img class="fragment" src="media/pl011-cc2538-cropped.png"> |                     <img class="fragment" src="media/pl011-cc2538-cropped.png"> | ||||||
| @@ -376,6 +413,17 @@ | |||||||
|                             PerformanceInMips: 24 |                             PerformanceInMips: 24 | ||||||
|                     </code></pre> |                     </code></pre> | ||||||
|                 </section> |                 </section> | ||||||
|  |                 <section> | ||||||
|  |                     <h2>Setting up Renode</h2> | ||||||
|  |                     <pre data-id="code-animation"><code data-trim> | ||||||
|  |                         machine LoadPlatformDescription @bluenrg-1.repl | ||||||
|  |                         sysbus LoadBinary @BLE_Chat_Server.bin 0x10040000 | ||||||
|  |                         cpu VectorTableOffset 0x10040000 | ||||||
|  |                         cpu SP `sysbus ReadDoubleWord 0x10040000` | ||||||
|  |                         cpu PC `sysbus ReadDoubleWord 0x10040004` | ||||||
|  |                         start | ||||||
|  |                     </code></pre> | ||||||
|  |                 </section> | ||||||
|                 <section> |                 <section> | ||||||
|                     <h2>Output Success!</h2> |                     <h2>Output Success!</h2> | ||||||
|                     <img src="media/bluenrg-renode-uart.png"> |                     <img src="media/bluenrg-renode-uart.png"> | ||||||
| @@ -413,7 +461,10 @@ | |||||||
|                     </ul> |                     </ul> | ||||||
|                 </section> |                 </section> | ||||||
|                 <section> |                 <section> | ||||||
|                     <h2>Example Serial Port</h2> |                     <h2>Modify an Existing Block</h2> | ||||||
|  |                 </section> | ||||||
|  |                 <section> | ||||||
|  |                     <h2>Example Serial Port: LiteX UART</h2> | ||||||
|                     <pre class="code-animation"><code class="cs" data-trim data-line-numbers="|132-140|118-126|125|20-33"> |                     <pre class="code-animation"><code class="cs" data-trim data-line-numbers="|132-140|118-126|125|20-33"> | ||||||
|                     // |                     // | ||||||
|                     // Copyright (c) 2010-2018 Antmicro |                     // Copyright (c) 2010-2018 Antmicro | ||||||
| @@ -575,6 +626,14 @@ | |||||||
|                         <li class="fragment">Most writes can be ignored</li> |                         <li class="fragment">Most writes can be ignored</li> | ||||||
|                     </ul> |                     </ul> | ||||||
|                 </section> |                 </section> | ||||||
|  |                 <section> | ||||||
|  |                     <h2>Peripheral Rapid Development</h2> | ||||||
|  |                     <img src="media/hardware-20191117-cropped.jpg"> | ||||||
|  |                 </section> | ||||||
|  |                 <section> | ||||||
|  |                     <h2>Peripheral Rapid Development</h2> | ||||||
|  |                     <video class="r-stretch" data-autoplay src="media/Renode-20191117-trimmed.m4v"></video> | ||||||
|  |                 </section> | ||||||
|                 <section data-transition="fade-out"> |                 <section data-transition="fade-out"> | ||||||
|                     <h2>Advantages of Emulation</h2> |                     <h2>Advantages of Emulation</h2> | ||||||
|                     <img src="media/betrusted-soc-uart-mux.png"> |                     <img src="media/betrusted-soc-uart-mux.png"> | ||||||
| @@ -583,6 +642,14 @@ | |||||||
|                     <h2>Advantages of Emulation</h2> |                     <h2>Advantages of Emulation</h2> | ||||||
|                     <img src="media/renode-xous-double-uart-tiled.png"> |                     <img src="media/renode-xous-double-uart-tiled.png"> | ||||||
|                 </section> |                 </section> | ||||||
|  |                 <section> | ||||||
|  |                     <h2>Getting Hardware to Users</h2> | ||||||
|  |                     <img src="media/betrusted-wycheproof-patch.png"> | ||||||
|  |                 </section> | ||||||
|  |                 <section> | ||||||
|  |                     <h2>Getting Hardware to Users</h2> | ||||||
|  |                     <img src="media/betrusted-wycheproof-patch-fix.png"> | ||||||
|  |                 </section> | ||||||
|             </section> |             </section> | ||||||
|             <!--  |             <!--  | ||||||
|             <section> |             <section> | ||||||
| @@ -798,7 +865,7 @@ | |||||||
|                 </section> |                 </section> | ||||||
|                 <section> |                 <section> | ||||||
|                     <h2>SVD: Using with Renode</h2> |                     <h2>SVD: Using with Renode</h2> | ||||||
|                     <pre class="code-animation"><code data-trim data-line-numbers="|1-6|8-18|20-26|28-40"> |                     <pre class="code-animation"><code data-trim> | ||||||
|                         sysbus ApplySVD @BlueNRG2.svd |                         sysbus ApplySVD @BlueNRG2.svd | ||||||
|                     </code></pre> |                     </code></pre> | ||||||
|                     <img class="fragment" src="media/bluenrg-renode-svd.png"> |                     <img class="fragment" src="media/bluenrg-renode-svd.png"> | ||||||
| @@ -817,16 +884,23 @@ | |||||||
|                     <img src="media/ghidra-decompile.png"> |                     <img src="media/ghidra-decompile.png"> | ||||||
|                 </section> |                 </section> | ||||||
|             </section> |             </section> | ||||||
|             <section> |  | ||||||
|                 <h2>Multi-System Emulation</h2> |  | ||||||
|                 <img src="media/renode-multi-system.png"> |  | ||||||
|             </section> |  | ||||||
|             <section> |  | ||||||
|                 <h2>Multi-System Emulation</h2> |  | ||||||
|                 <img src="media/betrusted-ec-com-1.png"> |  | ||||||
|             </section> |  | ||||||
|             <section> |             <section> | ||||||
|  |  | ||||||
|  |                 <section> | ||||||
|  |                     <h2>Multi-System Emulation</h2> | ||||||
|  |                     <img src="media/betrusted-ec-com-1.png"> | ||||||
|  |                 </section> | ||||||
|  |                 <section> | ||||||
|  |                     <h2>Multi-System Emulation</h2> | ||||||
|  |                     <img src="media/renode-multi-system.png"> | ||||||
|  |                 </section> | ||||||
|  |             </section> | ||||||
|  |             <section> | ||||||
|  |                 <h2>Renode is Free Software</h2> | ||||||
|  |                 Give it a try! | ||||||
|  |             </section> | ||||||
|  |             <section> | ||||||
|  |                 <h2>Thank you for your time</h2> | ||||||
|             </section> |             </section> | ||||||
|         </div> |         </div> | ||||||
|     </div> |     </div> | ||||||
|   | |||||||
| Before Width: | Height: | Size: 3.1 MiB After Width: | Height: | Size: 2.8 MiB | 
							
								
								
									
										
											BIN
										
									
								
								media/Renode-20191117-trimmed.m4v
									
									
									
									
									
										Normal file
									
								
							
							
						
						| Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 49 KiB | 
							
								
								
									
										
											BIN
										
									
								
								media/betrusted-wycheproof-patch-fix.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 112 KiB | 
							
								
								
									
										
											BIN
										
									
								
								media/betrusted-wycheproof-patch.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 108 KiB | 
							
								
								
									
										
											BIN
										
									
								
								media/bluenrg-ghidra-trace.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 179 KiB | 
							
								
								
									
										
											BIN
										
									
								
								media/fossasia-logo.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								media/hardware-20191117-cropped.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 585 KiB | 
| Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 102 KiB | 
							
								
								
									
										
											BIN
										
									
								
								media/pl011-bluenrg-field.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 255 KiB |