Documentation Conventions
There are a number of conventions in this documentation.
You will notice that when a specific element in a figure is referenced, the element has a number next to it in parenthesis. A description of this element follows the figure.
Code quality is something I’ve been avidly promoting throughout my whole career. At Micriμm, we pride ourselves in having the cleanest code in the industry. Examples of this are seen in this book. I created and published a coding standard in 1992 that was published in the original μC/OS book. This standard has evolved over the years, but the spirit of the standard has been maintained throughout. The Micriμm coding standard is available for download from the Micriμm website, www.micrium.com.
One of the conventions used is that all functions, variables, macros and #define
constants are prefixed by “OS” (which stands for Operating System) followed by the acronym of the module (e.g., Sem
), and then the operation performed by the function. For example OSSemPost()
indicates that the function belongs to the OS (μC/OS-III), that it is part of the Semaphore services, and specifically that the function performs a Post
(i.e., signal) operation. This allows all related functions to be grouped together in the reference manual, and makes those services intuitive to use.
You should notice that signaling or sending a message to a task is called posting, and waiting for a signal or a message is called pending. In other words, an ISR or a task signals or sends a message to another task by using OS???Post()
, where ???
is the type of service: Sem
, TaskSem
, Flag
, Mutex
, Q
, and TaskQ
. Similarly, a task can wait for a signal or a message by calling OS???Pend()
.