Books!


This page is about books: be free to propose or review good books….

💡 Check out the list of text books here: http://karibe.co.ke/2015/07/embedded-systems-textbook-reviews/

 Software Engineering for Embedded Systems

Software Engineering for Embedded Systems
Software Engineering for Embedded Systems

By Robert Oshana & Mark Kraeling, Elsevier/Newnes, ISBN 978-0-12-415917-4

I had the honor to be the author of one chapter of that book. In my (biased :-)) view this is an excellent book covering multiple aspects of Embedded Software Engineering. Disadvantage is that the chapters are independent and written by different authors. But that makes it easy just to pick one chapter so you do not read the book from the begin to the end. See as well “Software Engineering for Embedded Systems”.

Freescale ARM Cortex-M Embedded Programming Using C Language

Freescale ARM Cortex-M Embedded Programming Using C Language (Source: Amazon)
Freescale ARM Cortex-M Embedded Programming Using C Language (Source: Amazon)

By Muhammad Ali Mazidi; Shujen Chen; Sarmad Naimi; and Sepehr Naimi.
454 pages. Use google to search for it (no Kindle version available any more?) on Amazon.

Review by Tom Sparks: “It goes right to the hardware to demonstrate how to program the board.  It’s the kind of book I’ve been looking for. The only thing I don’t really like about it is that it’s an eBook and I have no eReader.  I just makes the process of reading and applying what I learn a little less convenient.  But the big picture is, I’m glad to have the book at all, so I’m grateful. I found the book after I had already begun working with Mbed and printing register output to debug my work.  At that point, the book was a very natural segue to getting familiar with all the different modules around the core and the board and how they interact with one another. The important thing about this book is it seems to fill the empty spot between very basic and fairly advanced treatments of the subject.  And the fact that they’re using the FRDM-KL25Z is important for those like myself who have focused on this board.”

Review by Rodrigo Cavalcanti: “I bought this ebook (kindle version), and was surprised by it’s content and how the author was able to really explain how to use the KL25Z (will work with other family members too) registers work, ports, interrupts, all at a low level access.  On the exact moment I read it’s topics list I thought, this is a very good material for Erich students and blog readers. And of course, it is very affordable about US$ 12.”

The Firmware Handbook

The Firmware Handbook
The Firmware Handbook

By Jack Ganssle, Elsevier/Newnes, ISBN-13: 978-0-7506-7606-9, ISBN-10: 0-7506-7606-X

The book is written by different authors including Jack Ganssle. I especially love the chapters written by Jack: they are very informative, easy and fun to read. Some part of this book are covered in my lecture too. The book covers several aspects of embedded firmware writing, from basic hardware, how to design the software, using tools and design patterns, real time aspects up to coding and debugging tips. My book came with a CD-ROM which had source code plus the book as PDF on it which was a plus. I recommend that book to anyone who wants to get a broad, informative and even fun way to learn embedded systems programming.

The Definitive Guide to the ARM Cortex-M0

Book ARM Cortex-M0 (Source: Elsevier)
Book ARM Cortex-M0 (Source: Elsevier)

If you are looking for a good introduction to the ARM Cortex-M0 (or M0+), then this book is the way to go. Josef Yiu wrote a similar book on the Cortex-M3 which is in my view a de-facto standard introduction to the ARM Cortex family. This new book covers the details of Cortex with focus on the M0 core.

By Josef Yiu, http://store.elsevier.com/product.jsp?isbn=9780123854773

The Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 Processors

Book ARM Cortex-M3 M4 (Source: Elsevier)
Book ARM Cortex-M3 M4 (Source: Elsevier)

Similar as for the previous book, this one is kind of ‘must have’ if you are workign with ARM Cortex M3 or M4. It is basically the sucessor book of the very successful book from Josef Yiu about the M3.

By Josef Yiu, http://store.elsevier.com/product.jsp?isbn=9780124079182

µC/OS-II, The Real-Time Kernel for the Kinetis ARM Cortex-M4

uC-OS-II
uC-OS-II

This book describes a practical approach to use the µC/OS-II realtime operating system with a Freescale Kinetis TWR-K53N512. Because that board/device is targeting medical applications, this book uses examples like ECG/heart rate monitor and blood glucose meter, pulse oximeter and blood pressure monitor applications. So really taking full advantage of this book, that board with additional sensors would be needed.

Getting Started with Bluetooth Low Energy

By Kevin Townsend, Carles Cufi, Akiba & Robert Davidson.
O’Reilly, ISBN 978-1-491-94951-1
https://www.adafruit.com/products/1978

Getting Started With Bluetooth Low Energy
Getting Started With Bluetooth Low Energy

The book with 164 pages is recommended for anyone interested to get into Bluetooth Low Energy (BLE). It gives a short history overview, and then goes into the details of the protocol and architcture. The development tools part is a little outdated, but the other information is very helpful to tap into BLE.

USB Universal Serial Bus

By Udo Eberhardt et al.
ISBN 9-7723-7962-1
Franzis’, 1999, 315 pages

USB Universal Serial Bus
USB Universal Serial Bus

This book is in German (sorry 😦 ). It gives a good overview about the different aspects of USB. It describes the services, error handling, the power managment. The driver parts and the included CD are heavily Windows based. Regardless it is a good book to understand USB and to use USB for an embedded target.

USB 2.0 Handbuch für Entwickler

By Jan Axelson
ISBN-10: 3-8266-1690-1
ISBN-13: 978-3-8266-1690-7
mitp, 2007, 528 pages

USB 2.0
USB 2.0

For embedded programmers this book (sorry, only in German 😦 ) a good introduction into USB and especially USB 2.0. It helps to understand the protocol and makes it applicable for embedded microcontrollers too. Again the applications and examples are Windows oriented.

Source Code for Test-Driven Development for Embedded C

by James W. Grenning
eBook, Paper Book
ISBN-13: 978-1-934356-62-3
Sept. 2014, 337 pages

https://pragprog.com/book/jgade/test-driven-development-for-embedded-c

Test-Driven Development for Embedded C
Test-Driven Development for Embedded C

Recommended by Bob Paddock commenting in Tutorial: μCUnit, a Unit Test Framework for Microcontrollers, this book is an excellent read into the domain of TDD (Test Driven Development). I ordered the eBook and I have to agree: it is a very good book, packed with source code, targeting embedded developers. And as noted in the book: this is not a bug on the book cover, this is a bee helping the code organized :-).

Working Effectively with Legacy Code

Michael C. Features, Working effectively with legacy code. Source: Amazon

Famous book from Michael C. Feathers, not only for embedded software but software engineering in general.

Happy Booking 🙂

17 thoughts on “Books!

  1. Pingback: New Books Page! | MCU on Eclipse

  2. Nice list. Thanks. I had not seen this before writing my blog post. I will definitely benefit from these books. I have added them to the list of books to review 🙂 . I hope I will get time to read through all of them before deciding which ones to use for class.

    Like

  3. Better Embedded System Software – Philip Koopman – 2010
    this is my reference book. It have a problem-solution structure but isn’t too practical or too focused on a specific problem.

    Like

  4. “Bluetooth Low Energy”, “The Developer’s Handbook” by Robin Heydon. Prentice Hall, 2013
    It’s rare that I read a technical book with so many “aha” moments. I really enjoyed Robin’s writing style and his obvious complete mastery of Bluetooth Low Energy. He was a member of the BLE SIG (and the Bluetooth SIG Hall of Fame) so He knows why as well as how BLE works.

    Like

  5. Pingback: Is Developing for ARM more difficult than for other Architectures? | MCU on Eclipse

    • Hi Jan,
      Yes, absolutely, thanks for the that reminder to add it to the list. I actually use that book in my lecture about software engineering and architecture :-).
      Erich

      Like

What do you think?

This site uses Akismet to reduce spam. Learn how your comment data is processed.