The Firmware Handbook provides a comprehensive reference for firmware developers looking to increase their skills and productivity. It addresses each critical step of the development process in detail, including how to optimize hardware design for better firmware. Topics covered include real-time issues, interrupts and ISRs, memory management (including Flash memory), handling both digital and analog peripherals, communications interfacing, math subroutines, error handling, design tools, and troubleshooting and debugging. This book is not for the beginner, but rather is an in-depth, comprehensive one-volume reference that addresses all the major issues in firmware design and development, including the pertinent hardware issues.
He started, developed and sold three electronics companies; including one of the world's leading producers of embedded development tools.
He developed or managed the development of over 100 embedded products, including in-circuit emulators, underwater navigation equipment (some used to recover Space Shuttle Challenger's wreckage), steel thickness gauges, near-IR protein measurement instruments, the White House security system, compilers, colorimeters, numerous classified Government systems... and even one device that analyzed cow poop!
This book is a collection of related articles, I picked up some useful information, especially in the "Math Section" and the "Debugging Section" the style is informal, not a lot of rigor in content, but it gets you thinking about the correct mindset of the embedded software engineer.