This is a companion repository for Making Embedded Systems, 2nd Ed. by Elecia White.
OSI model of communication protocols on Wikipedia
Calculations related to the SPI comparison in the chapter are in SPI_clock_calculations.xlsx
For an example implementation of FIFO versus DMA, look for James Lynch’s write-up on Atmel’s AT91SAM7 serial communications.
STM32 DMA Cheat Sheet is an excellent blog post with an overview of DMA use and channel mapping in STM32
Embedded Artistry has an excellent and lengthy blog post about circular buffers that includes a github repository of working code in C and C++.
How To Write A Driver (STM32, I2C, Datasheet) - Phil's Lab is a video packed with lots of recommendations for writing a well structured driver.
- Embedded Artistry has an excellent and lengthy blog post about circular buffers that includes a github repository of working code in C and C++.
Logic Analyzers:
- Need A Logic Analyzer? Use Your Pico! (RPi Pico)
- USB Logic Analyzer - 24MHz/8-Channel - TOL-18627 - SparkFun Electronics works pretty well, very well given its price, it uses sigrok interface which is versatile.
- An Arduino logic analyzer repository (interesting code, untested)
CanUSB is a tool that lets you convert CAN to USB (they also have CAN to UART)
If you like what's here, please consider buying the book: Making Embedded Systems, 2nd Ed. by Elecia White