Skip to content
Kate Zalevska
Go back

Resources for learning embedded systems

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.


Share this post on:

Next Post
Perfect C/C++ project template doesn’t exist