Real-Time Embedded Multithreading contains the fundamentals of developing real-time operating systems and multithreading with all the new functionality of ThreadX Version 5. This MIPS edition covers all the new ThreadX 5 features, including real-time event-chaining, run-time performance metrics, and run-time stack analysis as specified for MIPS. ThreadX has been deployed in approximately 500 million devices worldwide including cell phones, digital cameras, and laser printers. General concepts and terminology are detailed along with problem solving of common pitfalls. The features and services of ThreadX are reviewed. The book is technology agnostic and applicable to all types of microprocessors.

Key Features

*A great introduction to real-time systems including general concepts and terminology *An insider shares his knowledge on ThreadX 5, a real-time operating system *A limited version of the ThreadX 5 software is packaged on a CD-ROM with the book to run all sample projects and the case study


Embedded Systems Developers/Programmers; Software Engineers; Firmware Engineers

Table of Contents

Preface Chapter 1: Embedded and Real-time Systems 1.1 Introduction 1.2 What is an Embedded System? 1.3 Characteristics of Embedded Systems 1.4 Real-time Systems 1.5 Real-time Operating Systems and Real-time Kernels 1.6 Processes, Tasks, and Threads 1.7 Architecture of Real-time Systems 1.8 Embedded Systems Development 1.9 Key Terms and Phrases Chapter 2: First Look at a System Using an RTOS 2.1 Operating Environment 2.2 Installation of the ThreadX Demonstration System 2.3 Sample System with Two Threads 2.4 Creating the ThreadX Objects 2.5 Compiling and Executing the Sample System 2.6 Analysis of the System and the Resulting Output 2.7 Listing of 02_sample_system.c 2.8 Key Terms and Phrases 2.9 Problems Chapter 3: RTOS Concepts and Definitions 3.1 Introduction 3.2 Priorities 3.3 Ready Threads and Suspended Threads 3.4 Preemptive, Priority-Based Scheduling 3.5 Round-Robin Scheduling 3.6 Determinism 3.7 Kernel 3.8 RTOS 3.9 Context Switch 3.10 Time-Slice 3.11 Interrupt Handling 3.12 Thread Starvation 3.13 Priority Inversion 3.14 Priority Inheritance 3.15 Preemption-Threshold 3.16 Key Terms and Phrases 3.17 Problems Chapter 4: RTOS Building Blocks for System Development 4.1 Introduction 4.2 Defining Public Resources 4.3 Thread X Data Types 4.4 Thread 4.5 Memory Pools 4.6 Application Timer 4.7 Mutex 4.8 Counting Semaphore 4.9 Event Flags Group 4.10 Message Queue 4.11 Summary of Thread Synchronization and Communication Components 4.12 Key Terms and Phrases 4.13 Problems Chapter 5: Introduction to the MIPS Microprocessor 5.1 Introduction 5.2 History 5.3 Technical Features 5.4 MIPS Power Saving Support


No. of pages:
© 2009
Print ISBN:
Electronic ISBN:

About the author

Edward Lamie

Edward L. Lamie is a Professor Emeritus of Computer Science. His areas of academic emphasis during his 31 years in higher education have been in the areas of software engineering and operating systems. He was also the founding chair of computer science departments at Central Michigan University and California State University, Stanislaus. Ed continues to teach occasional graduate-level courses and conducts hands-on RTOS training classes for Express Logic, Inc.

Affiliations and Expertise

Director of Educational Services, Express Logic, Inc., San Diego, CA, USA