OSStart
Description
Starts multitasking under µC/OS-III. This function is typically called from startup code after calling OSInit()
and creating at least one application task. OSStart()
will not return to the caller. Once µC/OS-III is running, calling OSStart()
again will have no effect.
Files
os.h/os_core.c
Prototype
void OSStart (OS_ERR *p_err)
Arguments
p_err
is a pointer to a variable used to hold an error code:
OS_ERR_FATAL_RETURN
If we ever return to this function.
OS_ERR_OS_NOT_INIT
µC/OS-III not initialized.
OS_ERR_OS_NO_APP_TASK
No application task created.
OS_ERR_OS_RUNNING
If the kernel is already running. In other words, if this function has already been called.
Returned Value
None
Required Configuration
None
Callers
Application.
Notes/Warnings
OSInit()
must be called prior to callingOSStart()
.OSStart()
should only be called once by the application code. However, if you calledOSStart()
more than once, nothing happens on the second and subsequent calls.
Example Usage
OSStart() example usage
void main (void) { OS_ERR err; /* User Code */ : OSInit(&err); /* Initialize µC/OS-III */ /* Check "err" */ : /* User Code */ : OSStart(&err); /* Start Multitasking */ /* Any code here should NEVER be executed! */ }