Software Engineering for Embedded Systems: Methods, Practical Techniques, and Applications, Second Edition provides the techniques and technologies in software engineering to optimally design and implement an embedded system. Written by experts with a solution focus, this encyclopedic reference gives an indispensable aid on how to tackle the day-to-day problems encountered when using software engineering methods to develop embedded systems. New sections cover peripheral programming, Internet of things, security and cryptography, networking and packet processing, and hands on labs. Users will learn about the principles of good architecture for an embedded system, design practices, details on principles, and much more.
- Provides a roadmap of key problems/issues and references to their solution in the text
- Reviews core methods and how to apply them
- Contains examples that demonstrate timeless implementation details
- Users case studies to show how key ideas can be implemented, the rationale for choices made, and design guidelines and trade-offs
1. Overview of Embedded and Real-Time Systems 2. Embedded Systems Development Process 3. Specification and Modeling techniques 4. Architecture and design patterns 5. Real-Time building blocks 6. Hardware interface to embedded software 7. Programming and Implementation Guidelines 8. Software Reuse by Design in Embedded Systems 9. Embedded Implementation Tips and Tricks 10. Embedded Operating systems 11. Linux and OSS 12. Software Performance Engineering 13. Optimizing Embedded Software for Performance 14. Optimizing Embedded Software for Memory 15. Optimizing Embedded Software for Power 16. Embedded Systems and the Internet of Things 17. User interfaces for embedded systems 18. Integration and testing techniques and quality 19. Software Development Tools 20. Multicore Software Development 21. Safety-Critical Software Development for Embedded Systems 22. Intellectual Property Issues with Embedded Software 23. Managing embedded software development 24. Embedded Software Development for Storage and I/O 25. Embedded Software for Networking Applications 26. Multiple Case Studies
Rob Oshana is Vice President of Software Engineering R&D for the Microcontroller and Microprocessor business line at NXP, responsible for software enablement, IoT connectivity, software middleware and security, operating systems, machine learning, software services and advanced technologies. He serves on multiple industry advisory boards and is a recognized international speaker. He has published numerous books and articles on software engineering and embedded systems. He is also an adjunct professor at the University of Texas and Southern Methodist University and is a Senior Member of IEEE.
Mark is an enterprise architect for the Train Performance and Transport Intelligence businesses at GE Transportation. He is responsible for integration of networking and applications with worldwide customers' locomotives and infrastructure. Mark is a regular speaker at embedded systems and industry conferences worldwide, focusing on virtualization, advanced wireless technologies, and asset performance management and their application to the transportation industry. Mark also actively participates in industry standards development including the Associate of American Railroads technical action groups. His leadership in the IoT space was recently highlighted by being elected to the program committee for the 2019 IoT Solutions World Congress.