Real-Time Embedded Systems - 1st Edition - ISBN: 9780128015070, 9780128017180

Real-Time Embedded Systems

1st Edition

Design Principles and Engineering Practices

Authors: Xiaocong Fan
Paperback ISBN: 9780128015070
eBook ISBN: 9780128017180
Imprint: Newnes
Published Date: 28th January 2015
Page Count: 686
Tax/VAT will be calculated at check-out
65.95
55.99
90.95
Unavailable
Compatible Not compatible
VitalSource PC, Mac, iPhone & iPad Amazon Kindle eReader
ePub & PDF Apple & PC desktop. Mobile devices (Apple & Android) Amazon Kindle eReader
Mobi Amazon Kindle eReader Anything else

Institutional Access


Description

  • 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

Key Features

  • Coverage of the latest UML standard (UML 2.4)
  • Over 20 design patterns which represent the best practices for reuse in a wide range of real-time embedded systems
  • Example codes which have been tested in QNX---a real-time operating system widely adopted in industry

Readership

Undergraduate and postgraduate students; Software engineers, Embedded systems engineers and hobbyists

Table of Contents

  • 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

Details

No. of pages:
686
Language:
English
Copyright:
© Newnes 2015
Published:
Imprint:
Newnes
eBook ISBN:
9780128017180
Paperback ISBN:
9780128015070

About the Author

Xiaocong Fan

Dr. Xiaocong (Simon) Fan is an Associate Professor of Computer Science and Software Engineering at Pennsylvania State University. He received his Ph.D. in Software Engineering from Nanjing University, China. He has been an active researcher in the fields of Multi-Agent Systems, Formal Methods in Software Engineering, and Advanced Decision-Support Systems. He is a key architect of several intelligent agent systems, including RCAST and SMMall. Dr. Fan is a Senior Member of IEEE.

Affiliations and Expertise

Associate Professor of Computer Science and Software Engineering, Behrend College, Penn State University, Erie, PA, USA.

Reviews

"...does an excellent job of covering the details no one talks about, like ELF/COFF files and link sections (e.g., .bss)...I recommend it...you’ll get some really worthwhile ideas." --Embedded