diff --git a/down-the-stack-book/src/supporting_your_particular_board.md b/down-the-stack-book/src/supporting_your_particular_board.md index 04db481..c19ee10 100644 --- a/down-the-stack-book/src/supporting_your_particular_board.md +++ b/down-the-stack-book/src/supporting_your_particular_board.md @@ -1 +1,41 @@ # Supporting your particular board + +--- + +## Using a 'normal' PC + +* Did you tell your PC it had a mouse plugged in? +* Did you tell it what I/O address the video card was located at? +* No! It auto-discovers all of these things. + * USB, PCI-Express, SATA all have "plug-and-play" + +--- + +## Using an Embedded System + +* There is no plug-and-play +* Your MCU can put different functions (UART, SPI, etc) on different pins +* The choice of which function goes on which pin was decided by the PCB designer +* You now have to tell the software how the PCB was laid out + * i.e UART0 TX is on Port 0, Pin 13 + +--- + +## Board Support Crates + +* You can wrap this up into a Board Support Crate +* Especially useful if you are using a widely available dev-kit + * e.g. the nRF52840-DK, or the STM32 Discovery +* Still useful if the board design is an in-house one-off +* Create the drivers and does the pin assignments for you +* Helps make your application portable across different boards + +--- + +## Using a Board Support Crate + +```rust + +``` + +--- \ No newline at end of file