EmbeddedRelated.com
Books
The 2026 Embedded Online Conference

Embedded Software

Jean J. Labrosse 2007

The Newnes Know It All Series takes the best of what our authors have written to create hard-working desk references that will be an engineer's first port of call for key information, design techniques and rules of thumb. Guaranteed not to gather dust on a shelf!

Embedded software is present everywhere - from a garage door opener to implanted medical devices to multicore computer systems. This book covers the development and testing of embedded software from many different angles and using different programming languages. Optimization of code, and the testing of that code, are detailed to enable readers to create the best solutions on-time and on-budget. Bringing together the work of leading experts in the field, this a comprehensive reference that every embedded developer will need!

*Proven, real-world advice and guidance from such "name” authors as Tammy Noergard, Jen LaBrosse, and Keith Curtis
*Popular architectures and languages fully discussed
*Gives a comprehensive, detailed overview of the techniques and methodologies for developing effective, efficient embedded software


Why Read This Book

You should read this book if you want a compact, practical reference that brings together expert perspectives on the full embedded software lifecycle — from language and toolchain choices to on-target debugging, optimization, testing, and safety. It gives you patterns, rules of thumb, and case-study insights so you can make better design, performance and verification choices on real projects.

Who Will Benefit

Embedded software engineers and firmware developers with some hands-on experience who need a single reference for language/tool choices, optimization, debugging, RTOS integration and testing practices.

Level: Intermediate — Prerequisites: Basic C programming and familiarity with microcontroller concepts, interrupts, and the software build/debug cycle for embedded targets.

Get This Book

Key Takeaways

  • Design robust embedded software architectures appropriate for resource-constrained systems.
  • Integrate and use RTOS concepts — tasking, scheduling and inter-task communication — effectively in firmware.
  • Optimize code size and runtime performance using compiler/toolchain techniques and profiling data.
  • Apply practical on-target debugging and tracing techniques (JTAG, in-circuit emulation, logging).
  • Create and run testing strategies from unit and integration tests to system-level validation and certification checks.
  • Adopt safety, reliability and documentation practices for regulated or safety-critical embedded products.

Topics Covered

  1. Introduction to Embedded Software and Constraints
  2. Programming Languages and Paradigms for Embedded Systems
  3. Compilers, Linkers, Build Systems and Toolchains
  4. Real-Time Concepts and RTOS Overview
  5. Tasking, Scheduling, Synchronization and IPC
  6. Memory Management, Footprint and Power Optimizations
  7. Low-level Hardware Access and Driver Design
  8. Debugging, Tracing and On-target Diagnostics
  9. Testing Strategies: Unit, Integration and System Tests
  10. Performance Profiling and Code Optimization Techniques
  11. Safety, Reliability, Certification and Standards
  12. Case Studies, Patterns and Practical Checklists

Languages, Platforms & Tools

CC++AssemblyJava (embedded)ARM (general)AVRMicrochip PICMSP430General microcontroller architecturesGCC toolchainIARKeilJTAG debuggers and in-circuit emulatorsBuild systems and unit-test frameworks

How It Compares

Covers broader lifecycle and tooling concerns compared with Elecia White's Making Embedded Systems (more reference-like vs. project-driven), and complements Labrosse's own MicroC/OS-II book which dives deeper into RTOS internals.

Related Books

The 2026 Embedded Online Conference