Links
This page contains links to articles, books and blog posts I’ve found insightful, in no particular order.
Blogs
- Anything by Memfault
- Let’s code a TCP/IP stack
- Writing a Memory Allocator
- Writing a Pool Allocator
- Building a Linux system for the STM32MP1
- My Business Card Runs Linux
- Data structures in practice
- Building an Operating System for the Raspberry Pi
- How to build drivers for Zephyr OS
- The Lost Art of Structure Packing
- ELF Hello World Tutorial
- Beginner’s Guide to Linkers
- What Every C Programmer Should Know About Undefined Behaviour
- The amazing $1 microcontroller
- So you want to build an Embedded Linux system?
- Boost your beautiful log messages with instant crash analysis (CrashCatcher)
- Framing in serial communications
- Help, my serial data has been framed: How to handle packets when all you have are streams
Books
- Making Embedded Systems, Alicia White
- Test Driven Development for Embedded C, James Grenning
- Reusable Firmware Development, Jacob Beningo
- The C Programming Language, Brian W. Kernighan and Dennis Ritchie
- Professional CMake: A Practical Guide, Craig Scott
- Getting Started with Bluetooth Low Energy, Kevin Townsend
- Beginning STM32: Developing with FreeRTOS, libopencm3 and GCC, Warren Gay
- Practical UML Statecharts in C/C++: Event-Driven Programming for Embedded Systems, Miro Samek
- Game Engine Black Book: Doom, Fabien Sanglard
- The Art of Electronics, Paul Horowitz and Winfield Hill
- Reverse Engineering for Beginners
- Clean Code: A Handbook of Agile Software Craftsmanship, Robert C. Martin
- Bluetooth Low Energy: The Developer’s Handbook, Robin Heydon.
Videos
- Modern Embedded Systems Programming Video Series
- Build a 6502 based computer from scratch
- Building an 8-bit breadboard computer
- Baremetal Embedded