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

  1. OSInit() must be called prior to calling OSStart(). OSStart() should only be called once by the application code. However, if you called OSStart() 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! */
          }