Posts Tagged Embedded Development Books

Embedded Development Books

Embedded development books – overview and recommendations

Embedded systems come in all shapes and sizes with hardware platforms ranging from a discrete component or digital logic circuit to full scale, high performance microprocessors running advanced, high level operating systems. Development tools, both hardware and software, and programming languages for this large range of embedded systems are also equally vast. This is also the case with the learning material for embedded systems development, especially in the form of books. Here, in this article, only the books related to microprocessor based embedded systems are recommended and discussed, belonging to both aspects, that is the embedded system hardware and software.

Whatever the software or firmware, embedded system is nothing without the embedded hardware itself. “Designing Embedded Hardware” by John Catsoulis explains this topic. The book follows the common best practice (in the professional industry too) of using a readymade hardware or board architecture for initial development stage. A second similar book is “Embedded System Design: A Unified Hardware/Software Introduction” by Frank Vahid.

Software or firmware development books: Microprocessor based systems are usually developed with an operating system based firmware. Major OS’s include Microsoft Windows Embedded or CE and Linux (sometimes called Embedded Linux). Linux is mostly used because of it being free and open source. “Embedded Linux Primer – A Practical, Real-World Approach” by Christopher Hallinan. This is a very good book to get started. This book describes all the aspects of Linux for embedded systems like kernel development, device drivers and file systems. Being a general book, it doesn’t goes in depth of the described topics. “Building Embedded Linux Systems” by Karim Yaghmour provides similar level of information.

Kernel development is a very important part of porting an embedded operating system for the target application hardware. “Linux Kernel Development” by Robert Love provides this information in detail. “Linux Device Drivers”by Jonathan Corbet covers the second most important aspect of embedded Linux development, that is the creation of drivers for the hardware peripherals on the target board.

To start learning real time operating system (RTOS) concepts, “Real-Time Concepts for Embedded Systems”
by Qing Li and Caroline Yao is a good one. As the name suggests, real time operating systems must respond to events or complete their tasks in a very limited time. This books starts from the basics of operating systems (OS) and the difference between a normal (high level) and a real time OS, and takes it to the advanced level.

I hope that I covered that main aspects of embedded development industry. If you come across a worthy book – I’ll be happy to hear about it!

Leave a comment