Atjaunināt sīkdatņu piekrišanu

Real-Time Embedded Components and Systems with Linux and RTOS 2nd Revised edition [Hardback]

  • Formāts: Hardback, 500 pages, weight: 939 g
  • Izdošanas datums: 01-Feb-2016
  • Izdevniecība: Mercury Learning & Information
  • ISBN-10: 1942270046
  • ISBN-13: 9781942270041
Citas grāmatas par šo tēmu:
  • Hardback
  • Cena: 83,57 €
  • Grāmatu piegādes laiks ir 3-4 nedēļas, ja grāmata ir uz vietas izdevniecības noliktavā. Ja izdevējam nepieciešams publicēt jaunu tirāžu, grāmatas piegāde var aizkavēties.
  • Daudzums:
  • Ielikt grozā
  • Piegādes laiks - 4-6 nedēļas
  • Pievienot vēlmju sarakstam
  • Formāts: Hardback, 500 pages, weight: 939 g
  • Izdošanas datums: 01-Feb-2016
  • Izdevniecība: Mercury Learning & Information
  • ISBN-10: 1942270046
  • ISBN-13: 9781942270041
Citas grāmatas par šo tēmu:
This book is intended to provide a senior undergraduate or graduate student in electrical engineering or computer science with a balance of fundamental theory, review of industry practice, and hands-on experience to prepare for a career in the real-time embedded system industries. It is also intended to provide the practicing engineer with the necessary background to apply real-time theory to the design of embedded components and systems. Typical industries include aerospace, medical diagnostic and therapeutic systems, telecommunications, automotive, robotics, industrial process control, media systems, computer gaming, and electronic entertainment, as well as multimedia applications for general-purpose computing. This updated edition adds three new chapters focused on key technology advancements in embedded systems and with wider coverage of real-time architectures. The overall focus remains the RTOS (Real-Time Operating System), but use of Linux for soft real-time, hybrid FPGA (Field Programmable Gate Array) architectures and advancements in multi-core system-on-chip (SoC), as well as software strategies for asymmetric and symmetric multiprocessing (AMP and SMP) relevant to real-time embedded systems, have been added. Companion files are provided with numerous project videos, resources, applications, and figures from the book. Instructors' resources are available upon adoption.

Features:



Provides a comprehensive, up to date, and accessible presentation of embedded systems without sacrificing theoretical foundations Features the RTOS (Real-Time Operating System), but use of Linux for soft real-time, hybrid FPGA architectures and advancements in multi-core system-on-chip is included Discusses an overview of RTOS advancements, including AMP and SMP configurations, with a discussion of future directions for RTOS use in multi-core architectures, such as SoC Detailed applications coverage including robotics, computer vision, and continuous media Includes a companion disc (4GB) with numerous videos, resources, projects, examples, and figures from the book Provides several instructors' resources, including lecture notes, Microsoft PP slides, etc.
Preface xi
Acknowledgments xv
Part I: Real-Time Embedded Theory
Chapter 1 Introduction
3(18)
1.1 Introduction
3(1)
1.2 A Brief History of Real-Time Systems
4(3)
1.3 A Brief History of Embedded Systems
7(1)
1.4 Real-Time Services
7(9)
1.5 Real-Time Standards
16(2)
Summary
18(1)
Exercises
18(1)
References
19(2)
Chapter 2 System Resources
21(46)
2.1 Introduction
21(2)
2.2 Resource Analysis
23(8)
2.3 Real-Time Service Utility
31(7)
2.4 Scheduling Classes
38(1)
2.4.1 Multiprocessor Systems
39(1)
2.5 The Cyclic Executive
39(2)
2.6 Scheduler Concepts
41(9)
2.6.1 Preemptive vs. Non-preemptive Schedulers
44(3)
2.6.2 Preemptive Fixed-Priority Scheduling Policy
47(3)
2.7 Real-Time Operating Systems
50(9)
2.8 Thread-Safe Reentrant Functions
59(2)
Summary
61(1)
Exercises
62(2)
References
64(3)
Chapter 3 Processing
67(32)
3.1 Introduction
67(1)
3.2 Preemptive Fixed-Priority Policy
68(4)
3.3 Feasibility
72(1)
3.4 Rate-Monotonic Least Upper Bound
73(11)
3.5 Necessary and Sufficient Feasibility
84(5)
3.5.1 Scheduling Point Test
84(3)
3.5.2 Completion Time Test
87(2)
3.6 Deadline-Monotonic Policy
89(2)
3.7 Dynamic-Priority Policies
91(4)
Summary
95(1)
Exercises
96(2)
References
98(1)
Chapter 4 Resources
99(16)
4.1 Introduction
99(1)
4.2 Worst-Case Execution Time
100(4)
4.3 Intermediate IO
104(3)
4.4 Execution Efficiency
107(3)
4.5 IO Architecture
110(1)
Summary
111(1)
Exercises
112(1)
References
113(2)
Chapter 5 Memory
115(14)
5.1 Introduction
115(1)
5.2 Physical Hierarchy
116(4)
5.3 Capacity and Allocation
120(1)
5.4 Shared Memory
120(1)
5.5 ECC Memory
121(5)
5.6 Flash File Systems
126(1)
Summary
127(1)
Exercises
128(1)
References
128(1)
Chapter 6 Multiresource Services
129(12)
6.1 Introduction
129(1)
6.2 Blocking
130(1)
6.3 Deadlock and Livelock
130(2)
6.4 Critical Sections to Protect Shared Resources
132(1)
6.5 Priority Inversion
132(6)
6.5.1 Unbounded Priority Inversion Solutions
134(4)
6.6 Power Management and Processor Clock Modulation
138(1)
Summary
139(1)
Exercises
139(1)
References
140(1)
Chapter 7 Soft Real-Time Services
141(12)
7.1 Introduction
141(1)
7.2 Missed Deadlines
142(1)
7.3 Quality of Service
143(1)
7.4 Alternatives to Rate-Monotonic Policy
144(3)
7.5 Mixed Hard and Soft Real-Time Services
147(1)
Summary
148(1)
Exercises
148(1)
References
149(4)
Part II: Designing Real-Time Embedded Components
Chapter 8 Embedded System Components
153(38)
8.1 Introduction
153(2)
8.2 Hardware Components
155(21)
8.2.1 Sensors
155(3)
8.2.2 Actuators
158(1)
8.2.3 JO Interfaces
159(4)
8.2.4 Processor Complex or SoC
163(1)
8.2.5 Processor and JO Interconnection
164(1)
8.2.6 Bus Interconnection
165(5)
8.2.7 High-Speed Serial Interconnection
170(2)
8.2.8 Low-Speed Serial Interconnection
172(1)
8.2.9 Interconnection Systems
173(1)
8.2.10 Memory Subsystems
174(2)
8.3 Firmware Components
176(2)
8.3.1 Boot Code
176(1)
8.3.2 Device Drivers
177(1)
8.3.3 Operating System Services
178(1)
8.4 RTOS System Software
178(4)
8.4.1 Message Queues
179(1)
8.4.2 Binary Semaphores
180(1)
8.4.3 Mutex Semaphores
181(1)
8.4.4 Software Virtual Timers
181(1)
8.4.5 Software Signals
182(1)
8.5 Software Application Components
182(6)
8.5.1 Application Services
182(3)
8.5.2 Reentrant Application Libraries
185(1)
8.5.3 Communicating and Synchronized Services
186(2)
Summary
188(1)
Exercises
188(1)
References
189(2)
Chapter 9 Traditional Hard Real-Time Operating Systems
191(30)
9.1 Introduction
191(1)
9.2 Evolution of Real-Time Scheduling and Resource Management
192(2)
9.3 AMP (Asymmetric Multi-core Processing)
194(5)
9.4 SMP (Symmetric Multi-core Processing)
199(1)
9.5 Processor Core Affinity
200(16)
9.6 Future Directions for RTOS
216(1)
9.7 SMP Support Models
217(1)
9.8 RTOS Hypervisors
218(1)
Summary
219(1)
Exercises
219(1)
References
220(1)
Chapter 10 Open Source Real-Time Operating Systems
221(16)
10.1 FreeRTOS Alternative to Proprietary RTOS
221(4)
10.2 FreeRTOS Platform and Tools
225(3)
10.3 FreeRTOS Real-Time Service Programming Fundamentals
228(7)
Exercises
235(1)
References
235(2)
Chapter 11 Integrating Embedded Linux into Real-Time Systems
237(16)
11.1 Introduction
237(1)
11.2 Embedding Mainline Linux: Interactive and Best-Effort
238(6)
11.3 Linux as a Non-Real-Time Management and User Interface Layer
244(1)
11.4 Methods to Patch and Improve Linux for Predictable Response
245(4)
11.5 Linux for Soft Real-Time Systems
249(1)
11.6 Tools for Linux for Soft Real-Time Systems
249(1)
Summary
250(1)
Exercises
250(1)
References
251(2)
Chapter 12 Debugging Components
253(42)
12.1 Introduction
253(1)
12.2 Exceptions
254(8)
12.3 Assert
262(1)
12.4 Checking Return Codes
263(1)
12.5 Single-Step Debugging
264(9)
12.6 Kernel Scheduler Traces
273(5)
12.7 Test Access Ports
278(2)
12.8 Trace Ports
280(2)
12.9 Power-On Self-Test and Diagnostics
282(5)
12.10 External Test Equipment
287(4)
12.11 Application-Level Debugging
291(1)
Summary
292(1)
Exercises
293(1)
References
293(2)
Chapter 13 Performance Tuning
295(24)
13.1 Introduction
295(1)
13.2 Basic Concepts of Drill-Down Tuning
296(4)
13.3 Hardware-Supported Profiling and Tracing
300(4)
13.4 Building Performance Monitoring into Software
304(1)
13.5 Path Length, Efficiency, and Calling Frequency
305(12)
13.6 Fundamental Optimizations
317(1)
Summary
318(1)
Exercises
318(1)
References
318(1)
Chapter 14 High Availability and Reliability Design
319(12)
14.1 Introduction
319(1)
14.2 Reliability and Availability Similarities and Differences
320(1)
14.3 Reliability
321(2)
14.4 Reliable Software
323(1)
14.5 Design Trade-Offs
324(3)
14.6 Hierarchical Approaches for Fail-Safe Design
327(1)
Summary
327(1)
Exercises
327(1)
References
328(3)
Part III: Putting it All Together
Chapter 15 System Life Cycle
331(34)
15.1 Introduction
331(1)
15.2 Life Cycle Overview
332(3)
15.3 Requirements
335(1)
15.4 Risk Analysis
336(1)
15.5 High-Level Design
336(3)
15.6 Component Detailed Design
339(9)
15.7 Component Unit Testing
348(9)
15.8 System Integration and Test
357(1)
15.9 Configuration Management and Version Control
357(5)
15.10 Regression Testing
362(1)
Summary
362(1)
Exercises
362(1)
References
363(2)
Chapter 16 Continuous Media Applications
365(18)
16.1 Introduction
365(2)
16.2 Video
367(3)
16.3 Uncompressed Video Frame Formats
370(1)
16.4 Video Codecs
371(2)
16.5 Video Streaming
373(1)
16.7 Video Stream Analysis and Debug
374(4)
16.8 Audio Codecs and Streaming
378(1)
16.9 Audio Stream Analysis and Debug
379(1)
16.10 Voice-Over Internet Protocol (VoIP)
379(2)
Summary
381(1)
Exercises
381(1)
References
382(1)
Chapter 17 Robotic Applications
383(20)
17.1 Introduction
383(1)
17.2 Robotic Arm
384(3)
17.3 Actuation
387(6)
17.4 End Effector Path
393(1)
17.5 Sensing
393(5)
17.6 Tasking
398(2)
17.7 Automation and Autonomy
400(1)
Summary
401(1)
Exercises
402(1)
References
402(1)
Web References
402(1)
Chapter 18 Computer Vision Applications
403(14)
18.1 Introduction
403(1)
18.2 Object Tracking
404(2)
18.3 Image Processing for Object Recognition
406(3)
18.4 Characterizing Cameras
409(2)
18.5 Pixel and Servo Coordinates
411(1)
18.6 Stereo-Vision
412(1)
Summary
413(1)
Exercises
414(1)
References
414(3)
Appendix A Terminology Glossary 417(38)
Appendix B About the DVD 455(4)
Appendix C Wind River Systems University Program for Workbench/VxWorks 459(2)
Appendix D Real-Time and Embedded Linux Distributions and Resources 461(2)
Bibliography 463(8)
Index 471
Siewert Sam : Sam Siewert is an assistant professor at Embry Riddle Aeronautical University and an adjunct at University Colorado-Boulder. He is the author of Real-Time Embedded Components and Systems (Cengage Learning).

Pratt John : John Pratt is an adjunct instructor of engineering at the University of Colorado-Boulder and a senior staff engineer and manager at Qualcomm.