I am often asked where to get in-depth information about embedded software development. Commonly, the query comes from a student who thinks that it sounds like an interesting career option. Typically they ask how I got started, but, although I am willing to share my story, I am not at all sure that the details are still relevant – that was then, this is now. Maybe they are after advice on which college course to take; perhaps they want to know about helpful websites; but, more often than not, they are after a reading list. Which books should they read? …
It seems only yesterday [though it is actually 10 years ago at least] when suggesting books on embedded software was challenging. Searching Amazon for the word “embedded” would not yield very much, even though the word had become widely used. I would generally suggest looking at some combination of electronics and software engineering books. Nowadays, matters have changed and there is quite a wide range of relevant reading matter.
I might be too modest to pitch my own book, Embedded Software: The Works, straight off. But it contains coverage of a wide selection of embedded software topics and I am told it does provide a very good introduction to the subject.
Last year, a rather large volume – Software Engineering for Embedded Systems – was published. This work certainly delivers on the title, as it is very comprehensive and offers a deep dive into many topics. Specialist books might be needed for some areas, but a lot of solid information is packed into a mere 1150 pages.
Recently, another book – Developing and Managing Embedded Systems and Products – was published, which looks at the higher level perspective on developing embedded systems [not just software]. Regardless of being high level, it still covers the important topic areas in detail. Coverage of system level issues [i.e. software and hardware, how they come together and how they are partitioned at the design stage] is particularly critical. I plan to offer a more detailed review of this book in the coming weeks.