Friday, September 23, 2011
µC/OS-II, The Real-Time Kernel
Chapter 1, Sample Code
This chapter is designed to allow you to quickly experiment with and use µC/OS-II. The chapter starts by showing
you how to install the distribution diskette and describe the directories created. I then explain some of the coding
conventions used. Before getting into the description of the examples, I describe the code used to access some of the
services provided on a PC.
Chapter 2, Real-Time Systems Concepts
Here, I introduce you to some real-time systems concepts such as foreground/background systems, critical sections,
resources, multitasking, context switching, scheduling, reentrancy, task priorities, mutual exclusion, semaphores,
intertask communications, interrupts and more.
Chapter 3, Kernel Structure
This chapter introduces you to µC/OS-II and its internal structure. You will learn about tasks, task states, task control
blocks, how µC/OS-II implements a ready list, task scheduling, the idle task, how to determine CPU usage, how
µC/OS-II handles interrupts, how to initialize and start µC/OS-II and more.
Chapter 4, Task Management
This chapter describes µC/OS-II’s services to create a task, delete a task, check the size of a task’s stack, change a
task’s priority, suspend and resume a task, and get information about a task.
Chapter 5, Time Management
This chapter describes how µC/OS-II can suspend a task’s execution until some user specified time expires, how such
a task can be resumed and how to get and set the current value of a 32-bit tick counter.
Chapter 6, Intertask Communication and Synchronization
This chapter describes µC/OS-II’s services to have tasks and ISRs (Interrupt Service Routines) communicate with one
another and share resources. You will learn how sempahores, message mailboxes and message queues are
Chapter 7, Memory Management
This chapter describes µC/OS-II’s dynamic memory allocation feature using fixed-sized memory blocks.
Chapter 8, Porting µC/OS-II
This chapter describes in general terms what needs to be done to adapt µC/OS-II to different processor architectures.
Chapter 9, 80x86 Large Model Port
This chapter describes how µC/OS-II was ported to the Intel/AMD 80x86 processor architecture running in real-mode
and for the large model. Code and data space memory usage is provided as well as execution times for each of the
Chapter 10, Upgrading from µC/OS to µC/OS-II
This chapter describes how easy it is to migrate a port done for µC/OS to work with µC/OS-II.
Chapter 11, Reference Manual
This chapter describes each of the functions (i.e. services) provided by µC/OS-II from an application developer’s
standpoint. Each function contains a brief description, its prototype, the name of the file where the function is found,
a description of the function arguments and the return value, special notes and examples.
Chapter 12, Configuration Manual
This chapter describes each of the #define constants used to configure µC/OS-II for your application. Configuring
µC/OS-II allows you to use only the services required by your application. This gives you the flexibility to reduce
µC/OS-II’s memory footprint (code and data space).
Appendix A, Example Source Code
Fully commented source code for the examples and PC services (see Chapter 1) is provided in this appendix and
consist of 11 files.
Appendix B, µC/OS-II Microprocessor Independent Source Code
The source code for the portion of µC/OS-II that is not dependent on any specific processor is provided in this
appendix and consist of 9 files
Appendix C, 80x86 Real-Mode, Large Model Source Code
The source code for the 80x86 processor dependent functions is found in this appendix and consist of three files.
Appendix D, TO and HPLISTC
Presents two DOS utilities that I use: TO and HPLISTC. TO is a utility that I use to quickly move between MS-DOS
directories without having to type the CD (change directory) command. HPLISTC is a utility to print C source code in
compressed mode (i.e. 17 CPI) and allows you to specify page breaks. The printout is assumed to be to a Hewlett
Packard (HP) Laserjet type printer.
Appendix E, Bibliography
This section provides a bibliography of reference material that you may find useful if you are interested in getting
further information about embedded real-time systems.
Appendix F, Licensing
Describes the licensing policy for distributing µC/OS-II in source and object form.
Another Hardware Books