Description
Efnisyfirlit
- Cover image
- Title page
- Table of Contents
- Copyright
- Preface
- Acknowledgments
- Dedication
- Acronyms
- Part I: Introduction
- Chapter 1: Introduction to Embedded and Real-Time Systems
- Abstract
- 1.1 Embedded Systems
- 1.2 Real-Time Systems
- 1.3 Case Study: Radar System
- Problems
- Chapter 2: Cross-Platform Development
- Abstract
- 2.1 Cross-Platform Development Process
- 2.2 Hardware Architecture
- 2.3 Software Development
- 2.4 Build Target Images
- 2.5 Transfer Executable File Object to Target
- 2.6 Integrated Testing on Target
- 2.7 System Production
- Problems
- Chapter 3: Microprocessor Primer
- Abstract
- 3.1 Introduction to Microprocessors
- 3.2 Microchip PIC18F8720
- 3.3 Intel 8086
- 3.4 Intel Pentium
- 3.5 ARM926EJ-S
- Problems
- Chapter 4: Interrupts
- Abstract
- 4.1 Introduction to Interrupts
- 4.2 External Interrupts
- 4.3 Software Interrupts
- 4.4 Internal Interrupts
- 4.5 Design Patterns for ISRs
- 4.6 Interrupt Response Time
- 4.7 Case Study: x86
- 4.8 Case Study: ARM Processor
- Problems
- Chapter 5: Embedded System Boot Process
- Abstract
- 5.1 System Bootloader
- 5.2 System Boot Process
- 5.3 Case Study: AT91SAM9G45 Boot Process
- 5.4 Load ELF Objects Embedded Within an OS Image
- 5.5 Case Study: Boot Process of QNX-based Embedded Systems
- Problems
- Part II: Real-Time System Modeling
- Chapter 6: Fundamental UML Structural Modeling
- Abstract
- 6.1 Unified Modeling Language
- 6.2 Class Diagram and Class Modeling
- 6.3 Class Modeling Principles
- 6.4 Object Diagram
- 6.5 Package Diagram
- Problems
- Chapter 7: Architecture Modeling in UML
- Abstract
- 7.1 Levels of Architectural Abstraction
- 7.2 UML Structure Diagram
- 7.3 Modeling Components
- 7.4 Modeling Subsystems
- 7.5 Modeling a Complete System
- 7.6 Deployment Diagram
- Problems
- Chapter 8: Fundamental UML Behavioral Modeling
- Abstract
- 8.1 Use Case Diagram and Use Case Modeling
- 8.2 Sequence Diagram
- 8.3 Activity Diagram
- Problems
- Chapter 9: Modeling Stateful Behaviors in UML
- Abstract
- 9.1 Basics of a State Machine Diagram
- 9.2 Composite States
- 9.3 Inheritance of State Behavior
- 9.4 Stateful Object Timing Diagrams
- 9.5 Example: Modeling Stateful Behavior of a Radar System
- Problems
- Chapter 10: Real-Time UML: General Resource Modeling
- Abstract
- 10.1 Real-Time UML Profile
- 10.2 Resource Modeling
- 10.3 Time Modeling
- 10.4 Concurrency Modeling
- Problems
- Chapter 11: Real-Time UML: Model Analysis
- Abstract
- 11.1 Elicitation of Timing Constraints
- 11.2 RT-UML Profile Schedulability Modeling Subprofile
- 11.3 RT-UML Profile Performance Modeling Subprofile
- Problems
- Part III: Real-Time System Design
- Chapter 12: Software Architectures for Real-Time Embedded Systems
- Abstract
- 12.1 Real-Time Tasks
- 12.2 Round-Robin Architecture
- 12.3 Round Robin with Interrupts
- 12.4 Queue-Based Architecture
- Problems
- Chapter 13: POSIX and RTOS
- Abstract
- 13.1 Introduction to POSIX
- 13.2 Task Statics and Dynamics
- 13.3 Real-Time OSs
- 13.4 POSIX Real-Time Scheduling Policies
- 13.5 Other Real-Time Scheduling Policies
- Problems
- Chapter 14: Multitasking
- Abstract
- 14.1 Introduction to Multitasking
- 14.2 Multitask Design
- 14.3 Multitask Resource Sharing
- 14.4 Addressing Resource Deadlocks
- 14.5 Addressing Priority Inversion
- Problems
- Chapter 15: Real-Time Scheduling: Clock-Driven Approach
- Abstract
- 15.1 Introduction to Cyclic Scheduling
- 15.2 Ad-hoc Clock-Driven Scheduling
- 15.3 Frame-Based Scheduling
- 15.4 Scheduling Aperiodic Jobs
- 15.5 Task Splitting
- Problems
- Chapter 16: Real-Time Scheduling: Rate-Monotonic Approach
- Abstract
- 16.1 Priority Assignment
- 16.2 RMA Principle
- 16.3 Rate-Monotonic Analysis
- 16.4 Completion-Time Test
- 16.5 Period Transformation
- 16.6 Generalized Schedulability Analysis
- Problems
- Chapter 17: Real-Time Scheduling: Sporadic Server
- Abstract
- 17.1 Sporadic Tasks
- 17.2 Sporadic Server
- 17.3 A Naive Sporadic Server
- 17.4 A Fixed-Priority Sporadic Server
- 17.5 A Dynamic-Priority Sporadic Server
- Problems
- Part IV: Implementation Patterns
- Chapter 18: Resource Sharing
- Abstract
- 18.1 Shared Variables
- 18.2 Shared Memory
- 18.3 Semaphore
- 18.4 Mutex
- 18.5 Condition Variable
- Problems
- Chapter 19: Intertask Communication: Message Queue
- Abstract
- 19.1 Introduction to Message Queues
- 19.2 Message Queue Statics and Dynamics
- 19.3 Message Queue Usage Patterns
- 19.4 POSIX Functions for Message Queues
- 19.5 An Example of Using Message Queues
- Problems
- Chapter 20: Intertask Communication: Pipe
- Abstract
- 20.1 Introduction to Pipes
- 20.2 Pipe Statics and Dynamics
- 20.3 Pipe Usage Patterns
- 20.4 POSIX Functions for Pipes
- 20.5 An Example of Using Pipes
- Problems
- Chapter 21: Intertask Communication: Signaling
- Abstract
- 21.1 Introduction to POSIX Signals
- 21.2 Signal Handling
- 21.3 Signal Vector Table and Handlers
- 21.4 POSIX Signal Functions
- 21.5 QNX Implementation of POSIX Signals
- 21.6 Spinlocks and Interrupt Events from ISRs
- 21.7 QNX Pulses
- Problems
- Chapter 22: Software Timer Management
- Abstract
- 22.1 Hardware Timer and Software Timer
- 22.2 Software Timer Manager
- 22.3 Timing Wheels
- 22.4 Hierarchical Timing Wheels
- Problems
- Chapter 23: QNX Resource Management
- Abstract
- 23.1 Introduction to QNX Resource Management
- 23.2 Resource Manager Architecture
- 23.3 Example 1: Calculator as a Resource Manager
- 23.4 Example 2: Device Drivers
- Problems
- References
- Index
Reviews
There are no reviews yet.