This is my personal collection of (free) 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
Table Of Contents
Open Table Of Contents
Programming
๐ Competitive Programmerโs Handbook, Antti Laaksonen
๐งฉ Exercism My favorite platform for programming exercises across many languages, with free mentor reviews.
๐ ๐ฌ The Missing Semester of Your CS Education
Modern C++
๐ Modern C++ Programming, Federico Busato
๐ Modern CPP features: C++23/20/17/14/11
๐ C++ Core Guidelines, Bjarne Stroustrup, Herb Sutter
๐ Collection of slides from CppNow presentations
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
๐ A fork() in the road Why fork() is bad and what can be used instead
๐ฌ Introduction to Zephyr by Shawn Hymel
Compilers
๐ A Compiler Writing Journey
๐ Beginnerโs Guide to Linkers
Embedded
๐ฌ Embedded System Project Series | Artful Bytes
๐ 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
๐ Programming from the Ground Up | Jonathan Bartlett
Tools
๐ ๏ธ cmake-init The must-have tool for initializing CMake based projects. Adds UT, CI/CD, linters etc.
๐ ๏ธ Wokwi Online simulator for Arduino AVR, ESP32, STM32, Pi Pico.
Security
๐ Embedded Application Security Best Practices
๐ Compiler Options Hardening Guide for C and C++
๐ MITRE ATT&CKยฎ, knowledge base of attack techniques and mitigation Advanced and wide lists of used attacks techniques and way to prevent them.