1 option
Real-time embedded components and systems with Linux and RTOS / Sam Siewert, John Pratt.
- Format:
- Book
- Author/Creator:
- Siewert, Sam, author.
- Pratt, John, author.
- Language:
- English
- Subjects (All):
- Embedded computer systems.
- Real-time data processing.
- Linux device drivers (Computer programs).
- Physical Description:
- 1 online resource (433 pages) : illustrations
- Edition:
- 2nd ed.
- Place of Publication:
- Dulles, Virginia ; Boston, Massachusetts ; New Delhi, [India] : Mercury Learning & Information, 2016.
- Summary:
- 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.
- Contents:
- Cover
- Title
- Copyright
- Preface
- Acknowledgments
- Part I: Real-Time Embedded Theory
- Chapter 1 Real-time Embedded Theory
- 1.1 Introduction
- 1.2 A Brief History of Real-Time Systems
- 1.3 A Brief History of Embedded Systems
- 1.4 Real-Time Services
- 1.5 Real-Time Standards
- Summary
- Exercises
- Chapter References
- Chapter 2 System Resources
- 2.1 Introduction
- 2.2 Resource Analysis
- 2.3 Real-Time Sercice Utility
- 2.4 Scheduling Classes
- 2.4.1 Multiprocessor Systems
- 2.5 The Cyclic Executive
- 2.6 Scheduler Concepts
- 2.6.1 Preemptive vs. Non-preemptive Schedulers
- 2.6.2 Preemptive Fixed-Priority Scheduling Policy
- 2.7 Real-Time Operating Systems
- 2.8 Thread-Safe Reentrant Functions
- Chapter 3 Processing
- 3.1 Introduction
- 3.2 Preemptive Fixed-Priority Policy
- 3.3 Feasibility
- 3.4 Rate-Monotonic Least Upper Bound
- 3.5 Necessary and Sufficient Feasibility
- 3.5.1 Scheduling Point Test
- 3.5.2 Completion Time Test
- 3.6 Deadline-Monotonic Policy
- 3.7 Dynamic-Priority Policies
- Chapter 4 Resources
- 4.1 Introduction
- 4.2 Worst-Case Execution Time
- 4.3 Intermediate IO
- 4.4 Execution Efficiency
- 4.5 IO Architecture
- Chapter 5 Memory
- 5.1 Introduction
- 5.2 Physical Hierarchy
- 5.3 Capacity and Allocation
- 5.4 Shared Memory
- 5.5 ECC Memory
- 5.6 Flash File Systems
- Chapter 6 Multiresource Services
- 6.1 Introduction
- 6.2 Blocking
- 6.3 Deadlock and Livelock
- 6.4 Critical Sections to Protect Shared Resources
- 6.5 Priority Inversion
- 6.5.1 Unbounded Priority Inversion Solutions
- 6.6 Power Management and Processor Clock Modulation
- Chapter References.
- Chapter 7 Soft Real-Time Services
- 7.1 Introduction
- 7.2 Missed Deadlines
- 7.3 Quality of Service
- 7.4 Alternatives to Rate-Monotonic Policy
- 7.5 Mixed Hard and Soft Real-Time Services
- Part II: Designing Real-Time Embedded Components
- Chapter 8 Embedded System Components
- 8.1 Introduction
- 8.2 Hardware Components
- 8.2.1 Sensors
- 8.2.2 Actuators
- 8.2.3 IO Interfaces
- 8.2.4 Processor Complex or SoC
- 8.2.5 Processor and IO Interconnection
- 8.2.6 Bus Interconnection
- 8.2.7 High-Speed Serial Interconnection
- 8.2.8 Low-Speed Serial Interconnection
- 8.2.9 Interconnection Systems
- 8.2.10 Memory Subsystems
- 8.3 Firmware Components
- 8.3.1 Boot Code
- 8.3.2 Device Drivers
- 8.3.3 Operating System Services
- 8.4 RTOS System Software
- 8.4.1 Message Queues
- 8.4.2 Binary Semaphores
- 8.4.3 Mutex Semaphores
- 8.4.4 Software Virtual Timers
- 8.4.5 Sofrware Signals
- 8.5 Sofrware Application Components
- 8.5.1 Application Services
- 8.5.2 Reentrant Application Libraries
- 8.5.3 Communicating and Synchronized Services
- Chapter 9 Traditional Hard Real-Time Operating Systems
- 9.1 Introduction
- 9.2 Evolution of Real-Time Scheduling and Resource Management
- 9.3 AMP (Asymmetric Multi-core Processing)
- 9.4 SMP (Symmetric Multi-core Processing)
- 9.5 Processor Core Affinity
- 9.6 Future Directions for RTOS
- 9.7 SMP Support Models
- 9.8 RTOS Hypervisors
- Chapter 10 Open Source Real-Time Operating Systems
- 10.1 FreeRTOS Alternative to Proprietary RTOS
- 10.2 FreeRTOS Platform and Tools
- 10.3 FreeRTOS Real-Time Service Programming Fundamentals
- Chapter 11 Integrating Embedded Linux into Real-Time Systems
- 11.1 Introduction.
- 11.2 Embedding Mainline Linux: Interactive and Best-Effort
- 11.3 Linux as a Non-Real-Time Management and
- 11.4 Methods to Patch and Improve Linux for Predictable Response
- 11.5 Linux for Soft Real-Time Systems
- 11.6 Tools for Linux for Soft Real-Time Systems
- Chapter 12 Debugging Components
- 12.1 Introduction
- 12.2 Exceptions
- 12.3 Assert
- 12.4 Checking Return Codes
- 12.5 Single-Step Debugging
- 12.6 Kernel Scheduler Traces
- 12.7 Test Access Ports
- 12.8 Trace Ports
- 12.9 Power-On Self-Test and Diagnostics
- 12.10 External Test Equipment
- 12.11 Application-Level Debugging
- Chapter 13 Performance Tuning
- 13.1 Introduction
- 13.2 Basic Concepts of Drill-Down Tuning
- 13.3 Hardware-Supported Profiling and Tracing
- 13.4 Building Performance Monitoring into Software
- 13.5 Path Length, Efficiency, and Calling Frequency
- 13.6 Fundamental Optimizations
- Chapter 14 High Availability and Reliability Design
- 14.1 Introduction
- 14.2 Reliability and Availability Similarities and Differences
- 14.3 Reliability
- 14.4 Reliable Software
- 14.5 Design Trade-Offs
- 14.6 Hierarchical Approaches for Fail-Safe Design
- Part III: Putting it All Together
- Chapter 15 System Life Cycle
- 15.1 Introduction
- 15.2 Life Cycle Overview
- 15.3 Requirements
- 15.4 Risk Analysis
- 15.5 High-Level Design
- 15.6 Component Detailed Design
- 15.7 Component Unit Testing
- 15.8 System Integration and Test
- 15.9 Configuration Management and Version Control
- 15.10 Regression Testing
- Chapter 16 Continuous Media Applications
- 16.1 Introduction
- 16.2 Video.
- 16.3 Uncompressed Video Frame Formats
- 16.4 Video Codecs
- 16.5 Video Streaming
- 16.6 Video Stream Analysis and Debug
- 16.7 Audio Codecs and Streaming
- 16.8 Audio Stream Analysis and Debug
- 16.9 Voice-Over Internet Protocol (VoIP)
- Chapter 17 Robotic Applications
- 17.1 Introduction
- 17.2 Robotic Arm
- 17.3 Actuation
- 17.4 End Effector Path
- 17.5 Sensing
- 17.6 Tasking
- 17.7 Automation and Autonomy
- Chapter Web References
- Chapter 18 Computer Vision Applications
- 18.1 Introduction
- 18.2 Object Tracking
- 18.3 Image Processing for Object Recognition
- 18.4 Characterizing Cameras
- 18.5 Pixel and Servo Coordinates
- 18.6 Stereo-Vision
- Appendix A: Terminology Glossary
- Appendix B: About the DVD
- Appendix C: Wind River Systems University Program for
- Appendix D: Real-Time and Embedded Linux Distributions
- Bibliography
- Index.
- Notes:
- Description based on print version record.
- Includes bibliographical references and index.
- ISBN:
- 9781944534547
- 1944534547
- OCLC:
- 993064751
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.