Embedded Systems Architecture : Explore architectural concepts, pragmatic design patterns, and best practices to produce robust systems. - Lacamera, Daniele (Packt Publishing, 2018)
Chapter 7: Local Bus Interfaces; Introducing serial communication; Clock and symbol synchronization; Bus wiring; Programming the peripherals; UART-based asynchronous serial bus; Protocol description; Programming the controller; Hello world!; Newlib printf; Receiving data; Interrupt-based input/output; SPI bus; Protocol description; Programming the transceiver; SPI transactions; Interrupt-based SPI transfers; I2C bus; Protocol description; Clock stretching; Multi-master; Programming the controller; Interrupt handling; Summary; Chapter 8: Low-Power Optimizations; System configuration.