This is my personal collection of resources that I find useful, insightful, or simply interesting while learning embedded systems. Itβs still small, but Iβll keep expanding it over time. π
ποΈ Legend: π Short reads Β· π Books Β· π§© Exercises Β· π οΈ Tools Β· π¬ Videos
Programming basics
π Competitive Programmerβs Handbook, Antti Laaksonen
π§© Exercism My favorite platform for programming exercises across many languages, with free mentor reviews.
Rust
π Rust Book
Assembly and reverse engineering
π ARM Reverse Engineering Notes
π Compiling to Assembly from Scratch, Vladimir Keleshev (ARM)
π FFmpeg School of Assembly Language (x86)
Operating systems
π Operating Systems: Three Easy Pieces Best intro to operating systems
Compilers
π A Compiler Writing Journey
Embedded
π Donβt use Arduino for professional work
π Bare metal programming guide
Computer Architecture
π Memory Management Reference
π What Every Programmer Should Know About Memory, Ulrich Drepper
π¬ Scott Meyers: Cpu Caches and Why You Care | code::dive conference 2014 | Youtube
π¬ The Engineering that Runs the Digital World | How CPUs Work
Tools
π οΈ cmake-init The must-have tool for initializing CMake based projects. Adds UT, CI/CD, linters etc.