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 | 
							
								
								
									
										128
									
								
								index.html
									
									
									
									
									
								
							
							
						
						
									
										128
									
								
								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> | ||||
| 						<ul> | ||||
| 							<li>You might even find a compatible peripheral!</li> | ||||
| 						</ul> | ||||
| 						<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> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user