Description
Book SynopsisEmbedded Systems: A Contemporary Design Tool, Second Edition
Embedded systems are one of the foundational elements of today?s evolving and growing computer technology. From operating our cars, managing our smart phones, cleaning our homes, or cooking our meals, the special computers we call embedded systems are quietly and unobtrusively making our lives easier, safer, and more connected. While working in increasingly challenging environments, embedded systems give us the ability to put increasing amounts of capability into ever-smaller and more powerful devices.
Embedded Systems: A Contemporary Design Tool, Second Edition introduces you to the theoretical hardware and software foundations of these systems and expands into the areas of signal integrity, system security, low power, and hardware-software co-design. The text builds upon earlier material to show you how to apply reliable, robust solutions to a wide range of applications operating in today?s of
Table of Contents
About the Author xxxiii
Foreword xxxv
Preface xlix
Acknowledgment lix
About the Companion Website lxi
Part 1 Hardware and Software Infrastructure
1 The Hardware Side – Part 1: An Introduction 1
2 The Hardware Side – Part 2: Combinational Logic – A Practical View 55
3 The Hardware Side – Part 3: Storage Elements and Finite-State Machines – A Practical View 111
4 Memories and the Memory Subsystem 165
5 An Introduction to Software Modeling 215
6 The Software Side – Part 1: The C Program 243
7 The Software Side – Part 2: Pointers and Functions 279
Part 2 Developing the Foundation
8 Safety, Security, Reliability, and Robust Design 331
9 Embedded Systems Design and Development – Hardware– Software Co-Design 403
10 Hardware Test and Debug 507
Part 3 Doing the Work
11 Real-Time Kernels and Operating Systems 541
12 Tasks and Task Management 573
13 Deadlocks 625
14 Performance Analysis and Optimization 645
Part 4 Developing the Foundation
15 Working Outside of the Processor I: A Model of Interprocess Communication 715
16 Working Outside of the Processor I: Refining the Model of Interprocess Communication 733
17 Working Outside of the Processor II: Interfacing to Local Devices 789
18 Working Outside of the Processor III: Interfacing to Remote Devices 837
19 Programmable Logic Devices 869
20 Practical Considerations Signal Behavior in the Real World – Part 1 – Noise and Crosstalk 893
21 Practical Considerations Signal Behavior in the Real World – Part 2 – High-Speed Signaling 909
A Verilog Overview: The Verilog Hardware Description Language 949
Further Reading 981
Index 991