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.
1. Cover image - p. iv 2. Title page - p. iv 3. Table of Contents - p. iv 4. Copyright - p. iv 5. Contributors - p. xi 6. Acknowledgments - p. xiii 7. 1: Software Engineering for Embedded and Real-Time Systems - p. xiii 8. 2: Software Development Process - p. 31 9. 3: Embedded and Multicore System Architecture—Design and Optimization - p. 87 10. 4: Basic Programming Techniques - p. 100 11. 5: Programming and Implementation Guidelines - p. 129 12. 6: Operating Systems - p. 151 13. 7: Open-Source Software - p. 206 14. 8: Software and Compiler Optimization for Microcontrollers, Embedded Processors, and DSPs - p. 244 15. 9: Embedded Software Quality, Integration, and Testing Techniques - p. 267 16. 10: Embedded Multicore Software Development - p. 338 17. 11: Safety-Critical Development - p. 392 18. 12: Networking Software - p. 426 19. 13: Internet of Things - p. 463 20. 14: Security and Cryptography - p. 499 21. 15: Machine Learning at the Edge - p. 547 22. Appendix: Performance Analysis Using NXP’s i.MX RT1050 Crossover Processor and the Zephyr™ Real-Time Operating System - p. 601 23. Index - p. 617
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.
1. Cover image - p. iv 2. Title page - p. iv 3. Table of Contents - p. iv 4. Copyright - p. iv 5. Contributors - p. xi 6. Acknowledgments - p. xiii 7. 1: Software Engineering for Embedded and Real-Time Systems - p. xiii 8. 2: Software Development Process - p. 31 9. 3: Embedded and Multicore System Architecture—Design and Optimization - p. 87 10. 4: Basic Programming Techniques - p. 100 11. 5: Programming and Implementation Guidelines - p. 129 12. 6: Operating Systems - p. 151 13. 7: Open-Source Software - p. 206 14. 8: Software and Compiler Optimization for Microcontrollers, Embedded Processors, and DSPs - p. 244 15. 9: Embedded Software Quality, Integration, and Testing Techniques - p. 267 16. 10: Embedded Multicore Software Development - p. 338 17. 11: Safety-Critical Development - p. 392 18. 12: Networking Software - p. 426 19. 13: Internet of Things - p. 463 20. 14: Security and Cryptography - p. 499 21. 15: Machine Learning at the Edge - p. 547 22. Appendix: Performance Analysis Using NXP’s i.MX RT1050 Crossover Processor and the Zephyr™ Real-Time Operating System - p. 601 23. Index - p. 617