Skip to content

📖 Book Recommendations

Test Drive Development for Embedded C

Another day without Test-Driven Development means more time wasted chasing bugs and watching your code deteriorate. You thought TDD was for someone else, but it's not! It's for you, the embedded C programmer. TDD helps you prevent defects and build software with a long useful life. This is the first book to teach the hows and whys of TDD for C programmers.

Pragmatic BookshelfAmazon

Embedded Systems with ARM Cortex-M Microcontrollers in Assembly Language and C

The book introduces basic programming of ARM Cortex-M cores in assembly and C at the register level, and the fundamentals of embedded system design. It presents basic concepts such as data representations (integer, fixed-point, floating-point), assembly instructions, stack, and implementing basic controls and functions of C language at the assembly level. It covers advanced topics such as interrupts, mixing C and assembly, direct memory access (DMA), system timers (SysTick), multi-tasking, SIMD instructions for digital signal processing (DSP), and instruction encoding/decoding.

Pragmatic BookshelfAmazon

Modern CMake for C++

This book offers a simpler, more comprehensive experience as it treats the subject of building C++ solutions holistically. Modern CMake for C++ is an end-to-end guide to the automatization of complex tasks, including building, testing, and packaging. You'll not only learn how to use the CMake language in CMake projects, but also discover what makes them maintainable, elegant, and clean.

PacketAmazon

The Pragmatic Programmer

This book offers practical tips and timeless principles for becoming a better programmer. It covers topics such as personal responsibility, career development, architectural techniques, and continuous learning. With engaging anecdotes and concrete advice, it encourages developers to write flexible, adaptable, and maintainable code.

The Pragmatic BookshelfAmazon

The Art of Electronics 3rd Edition

A classic. You can find the excellent second edition for a great price.

AdafruitNone

Designing Electronics that Work

The book that teaches the practical secrets of electronics design that most engineers learn the hard way.

No Starch PressNone

The C Book

A good and complete introduction to the C programming language. The original version was published in 1991 but has been re-released in multiple formats since it's initial introduction. An online version can be accessed through the link below.

gbdirectNone

Modern C - Jens Gustedt

More advanced C usage and structures. The public version is available on Jens Gustedt's personal blog but a physical copy can also be purchased.

Jens Gustedt BlogManning Publications

Making Embedded Systems: Design Patterns for Great Software

A classic. At least the first 4 chapters are a must-read.

Amazon

And More Books!