| <!DOCTYPE HTML> |
| <html lang="en" class="light" dir="ltr"> |
| <head> |
| <!-- sidebar iframe generated using mdBook |
| |
| This is a frame, and not included directly in the page, to control the total size of the |
| book. The TOC contains an entry for each page, so if each page includes a copy of the TOC, |
| the total size of the page becomes O(n**2). |
| |
| The frame is only used as a fallback when JS is turned off. When it's on, the sidebar is |
| instead added to the main page by `toc.js` instead. The JavaScript mode is better |
| because, when running in a `file:///` URL, the iframed page would not be Same-Origin as |
| the rest of the page, so the sidebar and the main page theme would fall out of sync. |
| --> |
| <meta charset="UTF-8"> |
| <meta name="robots" content="noindex"> |
| <!-- Custom HTML head --> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <meta name="theme-color" content="#ffffff"> |
| <link rel="stylesheet" href="css/variables.css"> |
| <link rel="stylesheet" href="css/general.css"> |
| <link rel="stylesheet" href="css/chrome.css"> |
| <link rel="stylesheet" href="css/print.css" media="print"> |
| <!-- Fonts --> |
| <link rel="stylesheet" href="FontAwesome/css/font-awesome.css"> |
| <link rel="stylesheet" href="fonts/fonts.css"> |
| <!-- Custom theme stylesheets --> |
| </head> |
| <body class="sidebar-iframe-inner"> |
| <ol class="chapter"><li class="chapter-item expanded "><a href="intro/index.html" target="_parent"><strong aria-hidden="true">1.</strong> Introduction</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="intro/hardware.html" target="_parent"><strong aria-hidden="true">1.1.</strong> Hardware</a></li><li class="chapter-item expanded "><a href="intro/no-std.html" target="_parent"><strong aria-hidden="true">1.2.</strong> no_std</a></li><li class="chapter-item expanded "><a href="intro/tooling.html" target="_parent"><strong aria-hidden="true">1.3.</strong> Tooling</a></li><li class="chapter-item expanded "><a href="intro/install.html" target="_parent"><strong aria-hidden="true">1.4.</strong> Installation</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="intro/install/linux.html" target="_parent"><strong aria-hidden="true">1.4.1.</strong> Linux</a></li><li class="chapter-item expanded "><a href="intro/install/macos.html" target="_parent"><strong aria-hidden="true">1.4.2.</strong> MacOS</a></li><li class="chapter-item expanded "><a href="intro/install/windows.html" target="_parent"><strong aria-hidden="true">1.4.3.</strong> Windows</a></li><li class="chapter-item expanded "><a href="intro/install/verify.html" target="_parent"><strong aria-hidden="true">1.4.4.</strong> Verify Installation</a></li></ol></li></ol></li><li class="chapter-item expanded "><a href="start/index.html" target="_parent"><strong aria-hidden="true">2.</strong> Getting started</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="start/qemu.html" target="_parent"><strong aria-hidden="true">2.1.</strong> QEMU</a></li><li class="chapter-item expanded "><a href="start/hardware.html" target="_parent"><strong aria-hidden="true">2.2.</strong> Hardware</a></li><li class="chapter-item expanded "><a href="start/registers.html" target="_parent"><strong aria-hidden="true">2.3.</strong> Memory-mapped Registers</a></li><li class="chapter-item expanded "><a href="start/semihosting.html" target="_parent"><strong aria-hidden="true">2.4.</strong> Semihosting</a></li><li class="chapter-item expanded "><a href="start/panicking.html" target="_parent"><strong aria-hidden="true">2.5.</strong> Panicking</a></li><li class="chapter-item expanded "><a href="start/exceptions.html" target="_parent"><strong aria-hidden="true">2.6.</strong> Exceptions</a></li><li class="chapter-item expanded "><a href="start/interrupts.html" target="_parent"><strong aria-hidden="true">2.7.</strong> Interrupts</a></li><li class="chapter-item expanded "><a href="start/io.html" target="_parent"><strong aria-hidden="true">2.8.</strong> IO</a></li></ol></li><li class="chapter-item expanded "><a href="peripherals/index.html" target="_parent"><strong aria-hidden="true">3.</strong> Peripherals</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="peripherals/a-first-attempt.html" target="_parent"><strong aria-hidden="true">3.1.</strong> A first attempt in Rust</a></li><li class="chapter-item expanded "><a href="peripherals/borrowck.html" target="_parent"><strong aria-hidden="true">3.2.</strong> The Borrow Checker</a></li><li class="chapter-item expanded "><a href="peripherals/singletons.html" target="_parent"><strong aria-hidden="true">3.3.</strong> Singletons</a></li></ol></li><li class="chapter-item expanded "><a href="static-guarantees/index.html" target="_parent"><strong aria-hidden="true">4.</strong> Static Guarantees</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="static-guarantees/typestate-programming.html" target="_parent"><strong aria-hidden="true">4.1.</strong> Typestate Programming</a></li><li class="chapter-item expanded "><a href="static-guarantees/state-machines.html" target="_parent"><strong aria-hidden="true">4.2.</strong> Peripherals as State Machines</a></li><li class="chapter-item expanded "><a href="static-guarantees/design-contracts.html" target="_parent"><strong aria-hidden="true">4.3.</strong> Design Contracts</a></li><li class="chapter-item expanded "><a href="static-guarantees/zero-cost-abstractions.html" target="_parent"><strong aria-hidden="true">4.4.</strong> Zero Cost Abstractions</a></li></ol></li><li class="chapter-item expanded "><a href="portability/index.html" target="_parent"><strong aria-hidden="true">5.</strong> Portability</a></li><li class="chapter-item expanded "><a href="concurrency/index.html" target="_parent"><strong aria-hidden="true">6.</strong> Concurrency</a></li><li class="chapter-item expanded "><a href="collections/index.html" target="_parent"><strong aria-hidden="true">7.</strong> Collections</a></li><li class="chapter-item expanded "><a href="design-patterns/index.html" target="_parent"><strong aria-hidden="true">8.</strong> Design Patterns</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="design-patterns/hal/index.html" target="_parent"><strong aria-hidden="true">8.1.</strong> HALs</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="design-patterns/hal/checklist.html" target="_parent"><strong aria-hidden="true">8.1.1.</strong> Checklist</a></li><li class="chapter-item expanded "><a href="design-patterns/hal/naming.html" target="_parent"><strong aria-hidden="true">8.1.2.</strong> Naming</a></li><li class="chapter-item expanded "><a href="design-patterns/hal/interoperability.html" target="_parent"><strong aria-hidden="true">8.1.3.</strong> Interoperability</a></li><li class="chapter-item expanded "><a href="design-patterns/hal/predictability.html" target="_parent"><strong aria-hidden="true">8.1.4.</strong> Predictability</a></li><li class="chapter-item expanded "><a href="design-patterns/hal/gpio.html" target="_parent"><strong aria-hidden="true">8.1.5.</strong> GPIO</a></li></ol></li></ol></li><li class="chapter-item expanded "><a href="c-tips/index.html" target="_parent"><strong aria-hidden="true">9.</strong> Tips for embedded C developers</a></li><li class="chapter-item expanded "><a href="interoperability/index.html" target="_parent"><strong aria-hidden="true">10.</strong> Interoperability</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="interoperability/c-with-rust.html" target="_parent"><strong aria-hidden="true">10.1.</strong> A little C with your Rust</a></li><li class="chapter-item expanded "><a href="interoperability/rust-with-c.html" target="_parent"><strong aria-hidden="true">10.2.</strong> A little Rust with your C</a></li></ol></li><li class="chapter-item expanded "><a href="unsorted/index.html" target="_parent"><strong aria-hidden="true">11.</strong> Unsorted topics</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="unsorted/speed-vs-size.html" target="_parent"><strong aria-hidden="true">11.1.</strong> Optimizations: The speed size tradeoff</a></li><li class="chapter-item expanded "><a href="unsorted/math.html" target="_parent"><strong aria-hidden="true">11.2.</strong> Performing Math Functionality</a></li></ol></li><li class="chapter-item expanded "><li class="spacer"></li><li class="chapter-item expanded affix "><a href="appendix/glossary.html" target="_parent">Appendix A: Glossary</a></li></ol> |
| </body> |
| </html> |