1. Cover image
2. Title page
3. Table of Contents
4. Table of Contents
5. Copyright
6. Dedication
7. Foreword to the First Edition
8. Preface to the First Edition
9. Preface to the Second Edition
10. Preface to the Third Edition
11. Preface to the Fourth Edition
12. Further reading
13. 2.3. ARM processor
14. Further reading
15. 3.1. Introduction
16. 3.2. Programming input and output
17. 3.3. Supervisor mode, exceptions, and traps
18. 3.4. Coprocessors
19. 3.5. Memory system mechanisms
20. 3.6. CPU performance
21. 3.7. CPU power consumption
22. 3.8. Safety and security
23. 3.9. Design example: data compressor
24. 3.9. Design example: data compressor
25. 3.10. Summary
26. What we learned
27. Further reading
28. Further reading
29. Further reading
30. 5.1. Introduction
31. 5.2. Components for embedded programs
32. 5.3. Models of programs
33. 5.4. Assembly, linking, and loading
34. 5.5. Compilation techniques
35. 5.5. Compilation techniques
36. 5.6. Program-level performance analysis
37. 5.7. Software performance optimization
38. 5.8. Program-level energy and power analysis and optimization
39. 5.9. Analysis and optimization of program size
40. 5.10. Program validation and testing
41. 5.11. Safety and security
42. 5.12. Design example: software modem
43. 5.13. Design example: digital still camera
44. 5.14. Summary
45. What we learned
46. Further reading
47. Further reading
48. Further reading
49. 6.4. Preemptive real-time operating systems
50. Further reading
51. Further reading
52. Further reading
53. Further reading
54. Further reading
55. Glossary
56. References