EmbeddedRelated.com
Books

uC/OS-III: The Real-Time Kernel and the Texas Instruments Stellaris MCUs

Labrosse, Jean J ● 2010

This book puts the spotlight on how a real-time kernel works using Micrium’s μC/OS-III as a reference. The book consists of two complete parts. The first describes real-time kernels in generic terms. Part II provide examples for the reader, using Texas Instruments’ EVM-EVALBOT, a small, robotic evaluation board. The board is based on the Stellaris LM3S9B92 which combines the popular ARM Cortex-M3® architecture with Ethernet MAC+PHY, USB OTG (On-The-Go), and I2S. Together with the IAR Systems Embedded Workbench for ARM development tools, the evaluation board provides everything necessary to enable the reader to be up and running quickly, as well as a fun and educational experience, resulting in a high-level of proficiency in a short time.

This book is written for serious embedded systems programmers, consultants, hobbyists, and students interested in understanding the inner workings of a real-time kernel. μC/OS-III is not just a great learning platform, but also a full commercial-grade software package, ready to be part of a wide range of products.

μC/OS-III is a highly portable, ROMable, scalable, preemptive real-time, multitasking kernel designed specifically to address the demanding requirements of today’s embedded systems. μC/OS-III is the successor to the highly popular μC/OS-II real-time kernel but can use most of μC/OS-II’s ports with minor modifications. Some of the features of μC/OS-III are:

Preemptive multitasking with round-robin scheduling of tasks at the same priority
Supports and unlimited number of tasks and other kernel objects
Rich set of services: semaphores, mutual exclusion semaphores with full priority inheritance, event flags, message queues, timers, fixed-size memory block management, and more. Built-in performance measurements


Why Read This Book

You should read this book if you want a clear, authoritative walkthrough of how a real‑time kernel works using a production RTOS as your guide: Jean Labrosse dissects µC/OS‑III’s design, data structures, and scheduling so you understand both theory and practice. You will also get hands‑on experience porting and using the kernel on a real ARM Cortex‑M3 evaluation board (the Stellaris EVM‑EVALBOT), including practical examples for networking, USB, and device drivers that make concepts concrete.

Who Will Benefit

Firmware engineers, embedded software developers, and advanced students who know C and microcontroller basics and want to learn RTOS internals, kernel usage, and real‑board examples on ARM Cortex‑M Stellaris hardware.

Level: Intermediate — Prerequisites: Proficient in C programming and basic embedded concepts (interrupts, GPIO, timers); familiarity with ARM Cortex‑M architecture and embedded toolchains is helpful but not strictly required.

Get This Book

Key Takeaways

  • Explain the core architecture and data structures of a preemptive RTOS (tasks, ready lists, TCBs, and context switching).
  • Implement and reason about scheduling, priorities, time management, and context-switch mechanics in µC/OS‑III.
  • Use synchronization primitives (semaphores, mutexes, message queues, event flags) correctly to build safe concurrent firmware.
  • Port and configure µC/OS‑III to ARM Cortex‑M hardware and integrate it with Stellaris peripherals and drivers.
  • Debug and profile real‑time behavior on target hardware, and apply best practices for determinism and resource-constrained systems.
  • Build complete, working examples (robot control, Ethernet/USB demos) that tie RTOS theory to real embedded applications.

Topics Covered

  1. Part I – Real‑Time Kernel Fundamentals: Introduction to RTOS concepts and design goals
  2. Tasks and Context Switching: Task control blocks, stacks, and CPU context
  3. Scheduling and Time Management: Priority scheduling, time slicing, and tick handling
  4. Intertask Communication and Synchronization: Semaphores, mutexes, queues, and event flags
  5. Memory and Resource Management: Dynamic memory, fixed pools, and safe driver interactions
  6. Kernel Internals and Portability: Kernel data structures, architecture ports, and CPU abstraction
  7. Debugging, Testing, and Performance: Techniques for tracing, latency measurement, and optimization
  8. Part II – Stellaris EVM‑EVALBOT Hardware Overview: LM3S9B92 features and board architecture
  9. Development Environment and Toolchain: IAR Embedded Workbench, StellarisWare examples, and debugging
  10. Peripherals and Device Drivers: GPIO, UART, Ethernet MAC+PHY, USB OTG, I2S and timers
  11. Hands‑On Examples: Board bring‑up, RTOS integration, network and USB demos, and robot control apps
  12. Case Studies and Lessons Learned: Practical tips, common pitfalls, and deployment guidance
  13. Appendices: µC/OS‑III API reference, register maps, and resources

Languages, Platforms & Tools

CARM assembly (illustrative snippets)ARM Cortex‑M3Texas Instruments Stellaris LM3S9B92Stellaris EVM‑EVALBOT evaluation boardµC/OS‑III (Micrium RTOS)IAR Embedded Workbench for ARM (EWARM)StellarisWare/TivaWare peripheral libraryJTAG/SWD debuggers (generic)

How It Compares

Compared with Valvano's hands‑on ARM RTOS tutorials (which often use FreeRTOS and classroom labs), Labrosse's book is kernel‑centric and authoritative on µC/OS‑III internals; it is the natural companion to Labrosse's earlier µC/OS‑II book but updated with µC/OS‑III and Stellaris examples.

Related Books