With this book you will learn:
- The principles of good architecture for an embedded system
- Design practices to help make your embedded project successful
- Details on principles that are often a part of embedded systems, including digital signal processing, safety-critical principles, and development processes
- Techniques for setting up a performance engineering strategy for your embedded system software
- How to develop user interfaces for embedded systems
- Strategies for testing and deploying your embedded system, and ensuring quality development processes
- Practical techniques for optimizing embedded software for performance, memory, and power
- Advanced guidelines for developing multicore software for embedded systems
- How to develop embedded software for networking, storage, and automotive segments
- How to manage the embedded development process
Includes contributions from:
Frank Schirrmeister, Shelly Gretlein, Bruce Douglass, Erich Styger, Gary Stringham, Jean Labrosse, Jim Trudeau, Mike Brogioli, Mark Pitchford, Catalin Dan Udma, Markus Levy, Pete Wilson, Whit Waldo, Inga Harris, Xinxin Yang, Srinivasa Addepalli, Andrew McKay, Mark Kraeling and Robert Oshana.
Table of Contents
Overview of Embedded and Real-Time Systems; Embedded Systems hardware/software co-design; Specification and Modeling techniques; Architecture and design patterns; Real-Time building blocks; HW interface to embedded software; Embedded Software Programming and Implementation Guidelines; Software Reuse by Design in Embedded Systems; Embedded Operating systems; Linux, Android and OSS; Software Performance Engineering; Optimizing Embedded Software for Performance; Optimizing Embedded Software for Memory; Optimizing Embedded Software for Power; User interfaces for embedded systems; Integration and testing techniquesand quality for embedded systems; Software Development Tools for Embedded Systems; Multicore SW Development for Embedded Systems; Safety-Critical Software Development for Embedded Systems; Intellectual Property Issues with Embedded Software; Managing embedded software development; Agile for embedded; Embedded Software for Automotive Applications; Embedded Software Development for Storage and I/O; Performance Engineering Case Study; User Interface Design Case Study; Multicore Case Study; Sensor programming case study