Embedded 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 often challenging environments.
Taking the users problem and needs as your starting point, you will explore each of the key theoretical and practical issues to consider when designing an application in todays world. Author James Peckol walks you through the formal hardware and software development process covering:
- Breaking the problem down into major functional blocks;
- Planning the digital and software architecture of the system;
- Utilizing the hardware and software co-design process;
- Designing the physical world interface to external analog and digital signals;
- Addressing security issues as an integral part of the design process;
- Managing signal integrity problems and reducing power demands in contemporary systems;
- Debugging and testing throughout the design and development cycle;
- Improving performance.
Stressing the importance of security, safety, and reliability in the design and development of embedded systems and providing a balanced treatment of both the hardware and the software aspects, Embedded Systems: A Contemporary Design Tool, Second Edition gives you the tools for creating embedded designs that solve contemporary real-world challenges.
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