Embedded Software: The Works
As the embedded world expands, developers must have a strong grasp of many complex topics in order to make faster, more efficient and more powerful microprocessors to meet the public’s growing demand. Embedded Software: The Works covers all the key subjects embedded engineers need to understand in order to succeed, including Design and Development, Programming, Languages including C/C++, and UML, Real Time Operating Systems Considerations, Networking, and much more. New material on Linux, Android, and multi-core gives engineers the up-to-date practical know-how they need in order to succeed.
Colin Walls draws upon his experience and insights from working in the industry, and covers the complete cycle of embedded software development: its design, development, management, debugging procedures, licensing, and reuse. For those new to the field, or for experienced engineers looking to expand their skills, Walls provides the reader with detailed tips and techniques, and rigorous explanations of technologies.
Key features include:
- New chapters on Linux, Android, and multi-core - the cutting edge of embedded software development!
- Introductory roadmap guides readers through the book, providing a route through the separate chapters and showing how they are linked
- Accompanying source code and PowerPoint slides provide helpful training material and real-world experience for readers
About the Author
Colin Walls has over twenty-five years experience in the electronics industry, largely dedicated to embedded software. A frequent presenter at conferences and seminars and author of numerous technical articles and two books on embedded software, he is a member of the marketing team of the Mentor Graphics Embedded Software Division. He writes a regular blog on the Mentor website (blogs.mentor.com/colinwalls).
- New chapters on Linux, Android, and multi-core - the cutting edge of embedded software development!
- Introductory roadmap guides readers through the book, providing a route through the separate chapters and showing how they are linked
- Accompanying source code and PowerPoint slides provide helpful training material and real-world experience for readers
Why Read This Book
You should read this book if you want a single, practical survey of the full embedded software lifecycle — from architecture and coding practice to RTOS choice, networking and embedded Linux. It gives you pragmatic guidance and real-world perspectives that help you make design and tool decisions rather than only presenting theory.
Who Will Benefit
Intermediate embedded engineers and firmware developers moving from microcontroller projects to more complex systems (RTOS, networking, embedded Linux/multicore) who need a broad practical reference.
Level: Intermediate — Prerequisites: Basic C programming and familiarity with microcontrollers and embedded development processes; some exposure to build/debug toolchains is helpful.
Key Takeaways
- Design robust embedded software architectures that separate concerns and scale from simple MCUs to multicore/SoC systems
- Choose and evaluate RTOSes and real-time design patterns appropriate to your timing and determinism needs
- Apply good C/C++ coding practices and UML-based design approaches suited to constrained targets
- Integrate networking and connectivity stacks and understand trade-offs for embedded TCP/IP and wireless
- Use embedded Linux and Android on devices: build, deploy, and manage software on Linux-based targets
- Debug, test and profile embedded systems and apply pragmatic strategies for optimization and maintenance
Topics Covered
- Introduction: the expanding embedded landscape
- Embedded software design principles and lifecycle
- Programming languages, coding standards and UML
- Software architecture for constrained systems
- Real-time systems concepts and RTOS selection
- Concurrency, synchronization and multicore considerations
- Embedded Linux and Android for devices
- Networking, connectivity and protocols
- Tools, build systems and development workflow
- Debugging, testing and validation techniques
- Performance optimization and power-awareness
- Safety, security and standards
- Project management, maintenance and case studies
- Appendices and further reading
Languages, Platforms & Tools
How It Compares
Broad and industry-focused like Elecia White's 'Making Embedded Systems' but covers a wider range of topics (RTOS, networking, embedded Linux) at a higher-level; for deeper Linux detail compare to 'Embedded Linux Primer.'













