LPCOpen Platform  v1.03
LPCOpen Platform for NXP LPC Microcontrollers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
os.h File Reference
#include <os_cfg.h>
#include <cpu.h>
#include <cpu_core.h>
#include <lib_def.h>
#include <os_type.h>
#include <os_cpu.h>

Go to the source code of this file.

Data Structures

struct  OS_RDY_LIST
 
struct  OS_PEND_DATA
 
struct  OS_PEND_LIST
 
struct  OS_PEND_OBJ
 
struct  OS_FLAG_GRP
 
struct  OS_MEM
 
struct  OS_MSG
 
struct  OS_MSG_POOL
 
struct  OS_MSG_Q
 
struct  OS_MUTEX
 
struct  OS_Q
 
struct  OS_SEM
 
struct  OS_TCB
 
struct  OS_TICK_SPOKE
 
struct  OS_TMR
 
struct  OS_TMR_SPOKE
 

Macros

#define OS_VERSION   30300u /* Version of uC/OS-III (Vx.yy.zz mult. by 10000) */
 
#define OS_SCHED_LOCK_TIME_MEAS_START()
 
#define OS_SCHED_LOCK_TIME_MEAS_STOP()
 
#define OS_CRITICAL_ENTER()   CPU_CRITICAL_ENTER()
 
#define OS_CRITICAL_ENTER_CPU_CRITICAL_EXIT()
 
#define OS_CRITICAL_EXIT()   CPU_CRITICAL_EXIT()
 
#define OS_CRITICAL_EXIT_NO_SCHED()   CPU_CRITICAL_EXIT()
 
#define OS_EXT   extern
 
#define OS_PRIO_TBL_SIZE   (((OS_CFG_PRIO_MAX - 1u) / DEF_INT_CPU_NBR_BITS) + 1u)
 
#define OS_MSG_EN   (((OS_CFG_TASK_Q_EN > 0u) || (OS_CFG_Q_EN > 0u)) ? 1u : 0u)
 
#define OS_STATE_OS_STOPPED   (OS_STATE)(0u)
 
#define OS_STATE_OS_RUNNING   (OS_STATE)(1u)
 
#define OS_STATE_NOT_RDY   (CPU_BOOLEAN)(0u)
 
#define OS_STATE_RDY   (CPU_BOOLEAN)(1u)
 
#define OS_TASK_STATE_BIT_DLY   (OS_STATE)(0x01u) /* /-------- SUSPENDED bit */
 
#define OS_TASK_STATE_BIT_PEND   (OS_STATE)(0x02u) /* | /----- PEND bit */
 
#define OS_TASK_STATE_BIT_SUSPENDED   (OS_STATE)(0x04u) /* | | /--- Delayed/Timeout bit */
 
#define OS_TASK_STATE_RDY   (OS_STATE)( 0u) /* 0 0 0 Ready */
 
#define OS_TASK_STATE_DLY   (OS_STATE)( 1u) /* 0 0 1 Delayed or Timeout */
 
#define OS_TASK_STATE_PEND   (OS_STATE)( 2u) /* 0 1 0 Pend */
 
#define OS_TASK_STATE_PEND_TIMEOUT   (OS_STATE)( 3u) /* 0 1 1 Pend + Timeout */
 
#define OS_TASK_STATE_SUSPENDED   (OS_STATE)( 4u) /* 1 0 0 Suspended */
 
#define OS_TASK_STATE_DLY_SUSPENDED   (OS_STATE)( 5u) /* 1 0 1 Suspended + Delayed or Timeout */
 
#define OS_TASK_STATE_PEND_SUSPENDED   (OS_STATE)( 6u) /* 1 1 0 Suspended + Pend */
 
#define OS_TASK_STATE_PEND_TIMEOUT_SUSPENDED   (OS_STATE)( 7u) /* 1 1 1 Suspended + Pend + Timeout */
 
#define OS_TASK_STATE_DEL   (OS_STATE)(255u)
 
#define OS_TASK_PEND_ON_NOTHING   (OS_STATE)( 0u) /* Pending on nothing */
 
#define OS_TASK_PEND_ON_FLAG   (OS_STATE)( 1u) /* Pending on event flag group */
 
#define OS_TASK_PEND_ON_TASK_Q   (OS_STATE)( 2u) /* Pending on message to be sent to task */
 
#define OS_TASK_PEND_ON_MULTI   (OS_STATE)( 3u) /* Pending on multiple semaphores and/or queues */
 
#define OS_TASK_PEND_ON_MUTEX   (OS_STATE)( 4u) /* Pending on mutual exclusion semaphore */
 
#define OS_TASK_PEND_ON_Q   (OS_STATE)( 5u) /* Pending on queue */
 
#define OS_TASK_PEND_ON_SEM   (OS_STATE)( 6u) /* Pending on semaphore */
 
#define OS_TASK_PEND_ON_TASK_SEM   (OS_STATE)( 7u) /* Pending on signal to be sent to task */
 
#define OS_STATUS_PEND_OK   (OS_STATUS)( 0u) /* Pending status OK, !pending, or pending complete */
 
#define OS_STATUS_PEND_ABORT   (OS_STATUS)( 1u) /* Pending aborted */
 
#define OS_STATUS_PEND_DEL   (OS_STATUS)( 2u) /* Pending object deleted */
 
#define OS_STATUS_PEND_TIMEOUT   (OS_STATUS)( 3u) /* Pending timed out */
 
#define OS_OBJ_TYPE_NONE   (OS_OBJ_TYPE)CPU_TYPE_CREATE('N', 'O', 'N', 'E')
 
#define OS_OBJ_TYPE_FLAG   (OS_OBJ_TYPE)CPU_TYPE_CREATE('F', 'L', 'A', 'G')
 
#define OS_OBJ_TYPE_MEM   (OS_OBJ_TYPE)CPU_TYPE_CREATE('M', 'E', 'M', ' ')
 
#define OS_OBJ_TYPE_MUTEX   (OS_OBJ_TYPE)CPU_TYPE_CREATE('M', 'U', 'T', 'X')
 
#define OS_OBJ_TYPE_Q   (OS_OBJ_TYPE)CPU_TYPE_CREATE('Q', 'U', 'E', 'U')
 
#define OS_OBJ_TYPE_SEM   (OS_OBJ_TYPE)CPU_TYPE_CREATE('S', 'E', 'M', 'A')
 
#define OS_OBJ_TYPE_TASK_MSG   (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'M', 'S', 'G')
 
#define OS_OBJ_TYPE_TASK_RESUME   (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'R', 'E', 'S')
 
#define OS_OBJ_TYPE_TASK_SIGNAL   (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'S', 'I', 'G')
 
#define OS_OBJ_TYPE_TASK_SUSPEND   (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'S', 'U', 'S')
 
#define OS_OBJ_TYPE_TICK   (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'I', 'C', 'K')
 
#define OS_OBJ_TYPE_TMR   (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'M', 'R', ' ')
 
#define OS_OPT_NONE   (OS_OPT)(0x0000u)
 
#define OS_OPT_DEL_NO_PEND   (OS_OPT)(0x0000u)
 
#define OS_OPT_DEL_ALWAYS   (OS_OPT)(0x0001u)
 
#define OS_OPT_PEND_FLAG_MASK   (OS_OPT)(0x000Fu)
 
#define OS_OPT_PEND_FLAG_CLR_ALL   (OS_OPT)(0x0001u) /* Wait for ALL the bits specified to be CLR */
 
#define OS_OPT_PEND_FLAG_CLR_AND   (OS_OPT)(0x0001u)
 
#define OS_OPT_PEND_FLAG_CLR_ANY   (OS_OPT)(0x0002u) /* Wait for ANY of the bits specified to be CLR */
 
#define OS_OPT_PEND_FLAG_CLR_OR   (OS_OPT)(0x0002u)
 
#define OS_OPT_PEND_FLAG_SET_ALL   (OS_OPT)(0x0004u) /* Wait for ALL the bits specified to be SET */
 
#define OS_OPT_PEND_FLAG_SET_AND   (OS_OPT)(0x0004u)
 
#define OS_OPT_PEND_FLAG_SET_ANY   (OS_OPT)(0x0008u) /* Wait for ANY of the bits specified to be SET */
 
#define OS_OPT_PEND_FLAG_SET_OR   (OS_OPT)(0x0008u)
 
#define OS_OPT_PEND_FLAG_CONSUME   (OS_OPT)(0x0100u) /* Consume the flags if condition(s) satisfied */
 
#define OS_OPT_PEND_BLOCKING   (OS_OPT)(0x0000u)
 
#define OS_OPT_PEND_NON_BLOCKING   (OS_OPT)(0x8000u)
 
#define OS_OPT_PEND_ABORT_1   (OS_OPT)(0x0000u) /* Pend abort a single waiting task */
 
#define OS_OPT_PEND_ABORT_ALL   (OS_OPT)(0x0100u) /* Pend abort ALL tasks waiting */
 
#define OS_OPT_POST_NONE   (OS_OPT)(0x0000u)
 
#define OS_OPT_POST_FLAG_SET   (OS_OPT)(0x0000u)
 
#define OS_OPT_POST_FLAG_CLR   (OS_OPT)(0x0001u)
 
#define OS_OPT_POST_FIFO   (OS_OPT)(0x0000u) /* Default is to post FIFO */
 
#define OS_OPT_POST_LIFO   (OS_OPT)(0x0010u) /* Post to highest priority task waiting */
 
#define OS_OPT_POST_1   (OS_OPT)(0x0000u) /* Post message to highest priority task waiting */
 
#define OS_OPT_POST_ALL   (OS_OPT)(0x0200u) /* Broadcast message to ALL tasks waiting */
 
#define OS_OPT_POST_NO_SCHED   (OS_OPT)(0x8000u) /* Do not call the scheduler if this is selected */
 
#define OS_OPT_TASK_NONE   (OS_OPT)(0x0000u) /* No option selected */
 
#define OS_OPT_TASK_STK_CHK   (OS_OPT)(0x0001u) /* Enable stack checking for the task */
 
#define OS_OPT_TASK_STK_CLR   (OS_OPT)(0x0002u) /* Clear the stack when the task is create */
 
#define OS_OPT_TASK_SAVE_FP   (OS_OPT)(0x0004u) /* Save the contents of any floating-point registers */
 
#define OS_OPT_TASK_NO_TLS   (OS_OPT)(0x0008u) /* Specifies the task DOES NOT require TLS support */
 
#define OS_OPT_TIME_DLY   DEF_BIT_NONE
 
#define OS_OPT_TIME_TIMEOUT   ((OS_OPT)DEF_BIT_01)
 
#define OS_OPT_TIME_MATCH   ((OS_OPT)DEF_BIT_02)
 
#define OS_OPT_TIME_PERIODIC   ((OS_OPT)DEF_BIT_03)
 
#define OS_OPT_TIME_HMSM_STRICT   ((OS_OPT)DEF_BIT_NONE)
 
#define OS_OPT_TIME_HMSM_NON_STRICT   ((OS_OPT)DEF_BIT_04)
 
#define OS_OPT_TIME_MASK
 
#define OS_OPT_TIME_OPTS_MASK
 
#define OS_OPT_TMR_NONE   (OS_OPT)(0u) /* No option selected */
 
#define OS_OPT_TMR_ONE_SHOT   (OS_OPT)(1u) /* Timer will not auto restart when it expires */
 
#define OS_OPT_TMR_PERIODIC   (OS_OPT)(2u) /* Timer will auto restart when it expires */
 
#define OS_OPT_TMR_CALLBACK   (OS_OPT)(3u) /* OSTmrStop() option to call 'callback' w/ timer arg */
 
#define OS_OPT_TMR_CALLBACK_ARG   (OS_OPT)(4u) /* OSTmrStop() option to call 'callback' w/ new arg */
 
#define OS_TMR_STATE_UNUSED   (OS_STATE)(0u)
 
#define OS_TMR_STATE_STOPPED   (OS_STATE)(1u)
 
#define OS_TMR_STATE_RUNNING   (OS_STATE)(2u)
 
#define OS_TMR_STATE_COMPLETED   (OS_STATE)(3u)
 
#define OS_PRIO_INIT   (OS_PRIO)(OS_CFG_PRIO_MAX)
 
#define OS_TICK_TH_INIT   (OS_TICK)(DEF_BIT ((sizeof(OS_TICK) * DEF_OCTET_NBR_BITS) - 1u))
 
#define OS_TICK_TH_RDY
 

Typedefs

typedef struct os_int_q OS_INT_Q
 
typedef void(* OS_TASK_PTR )(void *p_arg)
 
typedef void(* OS_TMR_CALLBACK_PTR )(void *p_tmr, void *p_arg)
 

Enumerations

enum  OS_ERR {
  OS_ERR_NONE = 0u, OS_ERR_A = 10000u, OS_ERR_ACCEPT_ISR = 10001u, OS_ERR_B = 11000u,
  OS_ERR_C = 12000u, OS_ERR_CREATE_ISR = 12001u, OS_ERR_D = 13000u, OS_ERR_DEL_ISR = 13001u,
  OS_ERR_E = 14000u, OS_ERR_F = 15000u, OS_ERR_FATAL_RETURN = 15001u, OS_ERR_FLAG_GRP_DEPLETED = 15101u,
  OS_ERR_FLAG_NOT_RDY = 15102u, OS_ERR_FLAG_PEND_OPT = 15103u, OS_ERR_FLUSH_ISR = 15104u, OS_ERR_G = 16000u,
  OS_ERR_H = 17000u, OS_ERR_I = 18000u, OS_ERR_ILLEGAL_CREATE_RUN_TIME = 18001u, OS_ERR_INT_Q = 18002u,
  OS_ERR_INT_Q_FULL = 18003u, OS_ERR_INT_Q_SIZE = 18004u, OS_ERR_INT_Q_STK_INVALID = 18005u, OS_ERR_INT_Q_STK_SIZE_INVALID = 18006u,
  OS_ERR_J = 19000u, OS_ERR_K = 20000u, OS_ERR_L = 21000u, OS_ERR_LOCK_NESTING_OVF = 21001u,
  OS_ERR_M = 22000u, OS_ERR_MEM_CREATE_ISR = 22201u, OS_ERR_MEM_FULL = 22202u, OS_ERR_MEM_INVALID_P_ADDR = 22203u,
  OS_ERR_MEM_INVALID_BLKS = 22204u, OS_ERR_MEM_INVALID_PART = 22205u, OS_ERR_MEM_INVALID_P_BLK = 22206u, OS_ERR_MEM_INVALID_P_MEM = 22207u,
  OS_ERR_MEM_INVALID_P_DATA = 22208u, OS_ERR_MEM_INVALID_SIZE = 22209u, OS_ERR_MEM_NO_FREE_BLKS = 22210u, OS_ERR_MSG_POOL_EMPTY = 22301u,
  OS_ERR_MSG_POOL_NULL_PTR = 22302u, OS_ERR_MUTEX_NOT_OWNER = 22401u, OS_ERR_MUTEX_OWNER = 22402u, OS_ERR_MUTEX_NESTING = 22403u,
  OS_ERR_N = 23000u, OS_ERR_NAME = 23001u, OS_ERR_NO_MORE_ID_AVAIL = 23002u, OS_ERR_O = 24000u,
  OS_ERR_OBJ_CREATED = 24001u, OS_ERR_OBJ_DEL = 24002u, OS_ERR_OBJ_PTR_NULL = 24003u, OS_ERR_OBJ_TYPE = 24004u,
  OS_ERR_OPT_INVALID = 24101u, OS_ERR_OS_NOT_RUNNING = 24201u, OS_ERR_OS_RUNNING = 24202u, OS_ERR_P = 25000u,
  OS_ERR_PEND_ABORT = 25001u, OS_ERR_PEND_ABORT_ISR = 25002u, OS_ERR_PEND_ABORT_NONE = 25003u, OS_ERR_PEND_ABORT_SELF = 25004u,
  OS_ERR_PEND_DEL = 25005u, OS_ERR_PEND_ISR = 25006u, OS_ERR_PEND_LOCKED = 25007u, OS_ERR_PEND_WOULD_BLOCK = 25008u,
  OS_ERR_POST_NULL_PTR = 25101u, OS_ERR_POST_ISR = 25102u, OS_ERR_PRIO_EXIST = 25201u, OS_ERR_PRIO = 25202u,
  OS_ERR_PRIO_INVALID = 25203u, OS_ERR_PTR_INVALID = 25301u, OS_ERR_Q = 26000u, OS_ERR_Q_FULL = 26001u,
  OS_ERR_Q_EMPTY = 26002u, OS_ERR_Q_MAX = 26003u, OS_ERR_Q_SIZE = 26004u, OS_ERR_R = 27000u,
  OS_ERR_REG_ID_INVALID = 27001u, OS_ERR_ROUND_ROBIN_1 = 27002u, OS_ERR_ROUND_ROBIN_DISABLED = 27003u, OS_ERR_S = 28000u,
  OS_ERR_SCHED_INVALID_TIME_SLICE = 28001u, OS_ERR_SCHED_LOCK_ISR = 28002u, OS_ERR_SCHED_LOCKED = 28003u, OS_ERR_SCHED_NOT_LOCKED = 28004u,
  OS_ERR_SCHED_UNLOCK_ISR = 28005u, OS_ERR_SEM_OVF = 28101u, OS_ERR_SET_ISR = 28102u, OS_ERR_STAT_RESET_ISR = 28201u,
  OS_ERR_STAT_PRIO_INVALID = 28202u, OS_ERR_STAT_STK_INVALID = 28203u, OS_ERR_STAT_STK_SIZE_INVALID = 28204u, OS_ERR_STATE_INVALID = 28205u,
  OS_ERR_STATUS_INVALID = 28206u, OS_ERR_STK_INVALID = 28207u, OS_ERR_STK_SIZE_INVALID = 28208u, OS_ERR_STK_LIMIT_INVALID = 28209u,
  OS_ERR_T = 29000u, OS_ERR_TASK_CHANGE_PRIO_ISR = 29001u, OS_ERR_TASK_CREATE_ISR = 29002u, OS_ERR_TASK_DEL = 29003u,
  OS_ERR_TASK_DEL_IDLE = 29004u, OS_ERR_TASK_DEL_INVALID = 29005u, OS_ERR_TASK_DEL_ISR = 29006u, OS_ERR_TASK_INVALID = 29007u,
  OS_ERR_TASK_NO_MORE_TCB = 29008u, OS_ERR_TASK_NOT_DLY = 29009u, OS_ERR_TASK_NOT_EXIST = 29010u, OS_ERR_TASK_NOT_SUSPENDED = 29011u,
  OS_ERR_TASK_OPT = 29012u, OS_ERR_TASK_RESUME_ISR = 29013u, OS_ERR_TASK_RESUME_PRIO = 29014u, OS_ERR_TASK_RESUME_SELF = 29015u,
  OS_ERR_TASK_RUNNING = 29016u, OS_ERR_TASK_STK_CHK_ISR = 29017u, OS_ERR_TASK_SUSPENDED = 29018u, OS_ERR_TASK_SUSPEND_IDLE = 29019u,
  OS_ERR_TASK_SUSPEND_INT_HANDLER = 29020u, OS_ERR_TASK_SUSPEND_ISR = 29021u, OS_ERR_TASK_SUSPEND_PRIO = 29022u, OS_ERR_TASK_WAITING = 29023u,
  OS_ERR_TCB_INVALID = 29101u, OS_ERR_TLS_ID_INVALID = 29120u, OS_ERR_TLS_ISR = 29121u, OS_ERR_TLS_NO_MORE_AVAIL = 29122u,
  OS_ERR_TLS_NOT_EN = 29123u, OS_ERR_TLS_DESTRUCT_ASSIGNED = 29124u, OS_ERR_TICK_PRIO_INVALID = 29201u, OS_ERR_TICK_STK_INVALID = 29202u,
  OS_ERR_TICK_STK_SIZE_INVALID = 29203u, OS_ERR_TICK_WHEEL_SIZE = 29204u, OS_ERR_TIME_DLY_ISR = 29301u, OS_ERR_TIME_DLY_RESUME_ISR = 29302u,
  OS_ERR_TIME_GET_ISR = 29303u, OS_ERR_TIME_INVALID_HOURS = 29304u, OS_ERR_TIME_INVALID_MINUTES = 29305u, OS_ERR_TIME_INVALID_SECONDS = 29306u,
  OS_ERR_TIME_INVALID_MILLISECONDS = 29307u, OS_ERR_TIME_NOT_DLY = 29308u, OS_ERR_TIME_SET_ISR = 29309u, OS_ERR_TIME_ZERO_DLY = 29310u,
  OS_ERR_TIMEOUT = 29401u, OS_ERR_TMR_INACTIVE = 29501u, OS_ERR_TMR_INVALID_DEST = 29502u, OS_ERR_TMR_INVALID_DLY = 29503u,
  OS_ERR_TMR_INVALID_PERIOD = 29504u, OS_ERR_TMR_INVALID_STATE = 29505u, OS_ERR_TMR_INVALID = 29506u, OS_ERR_TMR_ISR = 29507u,
  OS_ERR_TMR_NO_CALLBACK = 29508u, OS_ERR_TMR_NON_AVAIL = 29509u, OS_ERR_TMR_PRIO_INVALID = 29510u, OS_ERR_TMR_STK_INVALID = 29511u,
  OS_ERR_TMR_STK_SIZE_INVALID = 29512u, OS_ERR_TMR_STOPPED = 29513u, OS_ERR_U = 30000u, OS_ERR_V = 31000u,
  OS_ERR_W = 32000u, OS_ERR_X = 33000u, OS_ERR_Y = 34000u, OS_ERR_YIELD_ISR = 34001u,
  OS_ERR_Z = 35000u
}
 

Functions

void OSTaskCreate (OS_TCB *p_tcb, CPU_CHAR *p_name, OS_TASK_PTR p_task, void *p_arg, OS_PRIO prio, CPU_STK *p_stk_base, CPU_STK_SIZE stk_limit, CPU_STK_SIZE stk_size, OS_MSG_QTY q_size, OS_TICK time_quanta, void *p_ext, OS_OPT opt, OS_ERR *p_err)
 
OS_SEM_CTR OSTaskSemPend (OS_TICK timeout, OS_OPT opt, CPU_TS *p_ts, OS_ERR *p_err)
 
OS_SEM_CTR OSTaskSemPost (OS_TCB *p_tcb, OS_OPT opt, OS_ERR *p_err)
 
OS_SEM_CTR OSTaskSemSet (OS_TCB *p_tcb, OS_SEM_CTR cnt, OS_ERR *p_err)
 
void OS_TaskBlock (OS_TCB *p_tcb, OS_TICK timeout)
 
void OS_TaskInit (OS_ERR *p_err)
 
void OS_TaskInitTCB (OS_TCB *p_tcb)
 
void OS_TaskQPost (OS_TCB *p_tcb, void *p_void, OS_MSG_SIZE msg_size, OS_OPT opt, CPU_TS ts, OS_ERR *p_err)
 
void OS_TaskRdy (OS_TCB *p_tcb)
 
void OS_TaskReturn (void)
 
OS_SEM_CTR OS_TaskSemPost (OS_TCB *p_tcb, OS_OPT opt, CPU_TS ts, OS_ERR *p_err)
 
void OSTimeDly (OS_TICK dly, OS_OPT opt, OS_ERR *p_err)
 
OS_TICK OSTimeGet (OS_ERR *p_err)
 
void OSTimeSet (OS_TICK ticks, OS_ERR *p_err)
 
void OSTimeTick (void)
 
void OSInit (OS_ERR *p_err)
 
void OSIntEnter (void)
 
void OSIntExit (void)
 
void OSSched (void)
 
void OSSchedLock (OS_ERR *p_err)
 
void OSSchedUnlock (OS_ERR *p_err)
 
void OSStart (OS_ERR *p_err)
 
CPU_INT16U OSVersion (OS_ERR *p_err)
 
void OS_IdleTask (void *p_arg)
 
void OS_IdleTaskInit (OS_ERR *p_err)
 
void OS_StatTaskInit (OS_ERR *p_err)
 
void OS_TickTask (void *p_arg)
 
void OS_TickTaskInit (OS_ERR *p_err)
 
void OSInitHook (void)
 
void OSTaskCreateHook (OS_TCB *p_tcb)
 
void OSTaskDelHook (OS_TCB *p_tcb)
 
void OSIdleTaskHook (void)
 
void OSTaskReturnHook (OS_TCB *p_tcb)
 
void OSStatTaskHook (void)
 
CPU_STKOSTaskStkInit (OS_TASK_PTR p_task, void *p_arg, CPU_STK *p_stk_base, CPU_STK *p_stk_limit, CPU_STK_SIZE stk_size, OS_OPT opt)
 
void OSTaskSwHook (void)
 
void OSTimeTickHook (void)
 
void OSCfg_Init (void)
 
void OS_MsgPoolCreate (OS_MSG *p_msg, OS_MSG_QTY size)
 
void OS_MsgPoolInit (OS_ERR *p_err)
 
OS_MSG_QTY OS_MsgQFreeAll (OS_MSG_Q *p_msg_q)
 
void * OS_MsgQGet (OS_MSG_Q *p_msg_q, OS_MSG_SIZE *p_msg_size, CPU_TS *p_ts, OS_ERR *p_err)
 
void OS_MsgQInit (OS_MSG_Q *p_msg_q, OS_MSG_QTY size)
 
void OS_MsgQPut (OS_MSG_Q *p_msg_q, void *p_void, OS_MSG_SIZE msg_size, OS_OPT opt, CPU_TS ts, OS_ERR *p_err)
 
void OS_Pend (OS_PEND_DATA *p_pend_data, OS_PEND_OBJ *p_obj, OS_STATE pending_on, OS_TICK timeout)
 
void OS_PendAbort (OS_PEND_OBJ *p_obj, OS_TCB *p_tcb, CPU_TS ts)
 
void OS_PendAbort1 (OS_PEND_OBJ *p_obj, OS_TCB *p_tcb, CPU_TS ts)
 
void OS_PendObjDel (OS_PEND_OBJ *p_obj, OS_TCB *p_tcb, CPU_TS ts)
 
void OS_PendObjDel1 (OS_PEND_OBJ *p_obj, OS_TCB *p_tcb, CPU_TS ts)
 
void OS_Post (OS_PEND_OBJ *p_obj, OS_TCB *p_tcb, void *p_void, OS_MSG_SIZE msg_size, CPU_TS ts)
 
void OS_Post1 (OS_PEND_OBJ *p_obj, OS_TCB *p_tcb, void *p_void, OS_MSG_SIZE msg_size, CPU_TS ts)
 
void OS_PrioInit (void)
 
void OS_PrioInsert (OS_PRIO prio)
 
void OS_PrioRemove (OS_PRIO prio)
 
OS_PRIO OS_PrioGetHighest (void)
 
void OS_RdyListInit (void)
 
void OS_RdyListInsert (OS_TCB *p_tcb)
 
void OS_RdyListInsertHead (OS_TCB *p_tcb)
 
void OS_RdyListInsertTail (OS_TCB *p_tcb)
 
void OS_RdyListMoveHeadToTail (OS_RDY_LIST *p_rdy_list)
 
void OS_RdyListRemove (OS_TCB *p_tcb)
 
void OS_PendDataInit (OS_TCB *p_tcb, OS_PEND_DATA *p_pend_data_tbl, OS_OBJ_QTY tbl_size)
 
OS_PEND_LIST * OS_PendListGetPtr (OS_PEND_OBJ *p_obj)
 
void OS_PendListInit (OS_PEND_LIST *p_pend_list)
 
void OS_PendListInsertHead (OS_PEND_LIST *p_pend_list, OS_PEND_DATA *p_pend_data)
 
void OS_PendListInsertPrio (OS_PEND_LIST *p_pend_list, OS_PEND_DATA *p_pend_data)
 
void OS_PendListChangePrio (OS_TCB *p_tcb, OS_PRIO prio_new)
 
void OS_PendListRemove (OS_TCB *p_tcb)
 
void OS_PendListRemove1 (OS_PEND_LIST *p_pend_list, OS_PEND_DATA *p_pend_data)
 
void OS_TickListInit (void)
 
void OS_TickListInsert (OS_TCB *p_tcb, OS_TICK time, OS_OPT opt, OS_ERR *p_err)
 
void OS_TickListRemove (OS_TCB *p_tcb)
 
void OS_TickListResetPeak (void)
 
void OS_TickListUpdate (void)
 

Variables

OS_EXT OS_IDLE_CTR OSIdleTaskCtr
 
OS_EXT OS_TCB OSIdleTaskTCB
 
OS_EXT OS_NESTING_CTR OSIntNestingCtr
 
OS_EXT OS_STATE OSRunning
 
OS_EXT OS_PRIO OSPrioCur
 
OS_EXT OS_PRIO OSPrioHighRdy
 
OS_EXT OS_PRIO OSPrioSaved
 
CPU_DATA OSPrioTbl [OS_PRIO_TBL_SIZE]
 
OS_EXT OS_RDY_LIST OSRdyList [OS_CFG_PRIO_MAX]
 
OS_EXT OS_NESTING_CTR OSSchedLockNestingCtr
 
OS_EXT OS_CTX_SW_CTR OSTaskCtxSwCtr
 
OS_EXT OS_OBJ_QTY OSTaskQty
 
OS_EXT OS_TICK OSTickCtr
 
OS_EXT OS_TCB OSTickTaskTCB
 
OS_EXT CPU_TS OSTickTaskTimeMax
 
OS_EXT OS_TCB * OSTCBCurPtr
 
OS_EXT OS_TCB * OSTCBHighRdyPtr
 
CPU_STK *const OSCfg_IdleTaskStkBasePtr
 
CPU_STK_SIZE const OSCfg_IdleTaskStkLimit
 
CPU_STK_SIZE const OSCfg_IdleTaskStkSize
 
CPU_INT32U const OSCfg_IdleTaskStkSizeRAM
 
OS_INT_Q *const OSCfg_IntQBasePtr
 
OS_OBJ_QTY const OSCfg_IntQSize
 
CPU_INT32U const OSCfg_IntQSizeRAM
 
CPU_STK *const OSCfg_IntQTaskStkBasePtr
 
CPU_STK_SIZE const OSCfg_IntQTaskStkLimit
 
CPU_STK_SIZE const OSCfg_IntQTaskStkSize
 
CPU_INT32U const OSCfg_IntQTaskStkSizeRAM
 
CPU_STK *const OSCfg_ISRStkBasePtr
 
CPU_STK_SIZE const OSCfg_ISRStkSize
 
CPU_INT32U const OSCfg_ISRStkSizeRAM
 
OS_MSG_SIZE const OSCfg_MsgPoolSize
 
CPU_INT32U const OSCfg_MsgPoolSizeRAM
 
OS_MSG *const OSCfg_MsgPoolBasePtr
 
OS_PRIO const OSCfg_StatTaskPrio
 
OS_RATE_HZ const OSCfg_StatTaskRate_Hz
 
CPU_STK *const OSCfg_StatTaskStkBasePtr
 
CPU_STK_SIZE const OSCfg_StatTaskStkLimit
 
CPU_STK_SIZE const OSCfg_StatTaskStkSize
 
CPU_INT32U const OSCfg_StatTaskStkSizeRAM
 
CPU_STK_SIZE const OSCfg_StkSizeMin
 
OS_RATE_HZ const OSCfg_TickRate_Hz
 
OS_PRIO const OSCfg_TickTaskPrio
 
CPU_STK *const OSCfg_TickTaskStkBasePtr
 
CPU_STK_SIZE const OSCfg_TickTaskStkLimit
 
CPU_STK_SIZE const OSCfg_TickTaskStkSize
 
CPU_INT32U const OSCfg_TickTaskStkSizeRAM
 
OS_OBJ_QTY const OSCfg_TickWheelSize
 
CPU_INT32U const OSCfg_TickWheelSizeRAM
 
OS_PRIO const OSCfg_TmrTaskPrio
 
OS_RATE_HZ const OSCfg_TmrTaskRate_Hz
 
CPU_STK *const OSCfg_TmrTaskStkBasePtr
 
CPU_STK_SIZE const OSCfg_TmrTaskStkLimit
 
CPU_STK_SIZE const OSCfg_TmrTaskStkSize
 
CPU_INT32U const OSCfg_TmrTaskStkSizeRAM
 
OS_OBJ_QTY const OSCfg_TmrWheelSize
 
CPU_INT32U const OSCfg_TmrSizeRAM
 
CPU_STK OSCfg_IdleTaskStk []
 
CPU_STK OSCfg_ISRStk []
 
CPU_STK OSCfg_TickTaskStk []
 
OS_TICK_SPOKE OSCfg_TickWheel []
 

Macro Definition Documentation

#define OS_CRITICAL_ENTER ( )    CPU_CRITICAL_ENTER()

Definition at line 141 of file os.h.

#define OS_CRITICAL_ENTER_CPU_CRITICAL_EXIT ( )

Definition at line 143 of file os.h.

#define OS_CRITICAL_EXIT ( )    CPU_CRITICAL_EXIT()

Definition at line 145 of file os.h.

#define OS_CRITICAL_EXIT_NO_SCHED ( )    CPU_CRITICAL_EXIT()

Definition at line 147 of file os.h.

#define OS_EXT   extern

Definition at line 160 of file os.h.

#define OS_MSG_EN   (((OS_CFG_TASK_Q_EN > 0u) || (OS_CFG_Q_EN > 0u)) ? 1u : 0u)

Definition at line 166 of file os.h.

#define OS_OBJ_TYPE_FLAG   (OS_OBJ_TYPE)CPU_TYPE_CREATE('F', 'L', 'A', 'G')

Definition at line 242 of file os.h.

#define OS_OBJ_TYPE_MEM   (OS_OBJ_TYPE)CPU_TYPE_CREATE('M', 'E', 'M', ' ')

Definition at line 243 of file os.h.

#define OS_OBJ_TYPE_MUTEX   (OS_OBJ_TYPE)CPU_TYPE_CREATE('M', 'U', 'T', 'X')

Definition at line 244 of file os.h.

#define OS_OBJ_TYPE_NONE   (OS_OBJ_TYPE)CPU_TYPE_CREATE('N', 'O', 'N', 'E')

Definition at line 241 of file os.h.

#define OS_OBJ_TYPE_Q   (OS_OBJ_TYPE)CPU_TYPE_CREATE('Q', 'U', 'E', 'U')

Definition at line 245 of file os.h.

#define OS_OBJ_TYPE_SEM   (OS_OBJ_TYPE)CPU_TYPE_CREATE('S', 'E', 'M', 'A')

Definition at line 246 of file os.h.

#define OS_OBJ_TYPE_TASK_MSG   (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'M', 'S', 'G')

Definition at line 247 of file os.h.

#define OS_OBJ_TYPE_TASK_RESUME   (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'R', 'E', 'S')

Definition at line 248 of file os.h.

#define OS_OBJ_TYPE_TASK_SIGNAL   (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'S', 'I', 'G')

Definition at line 249 of file os.h.

#define OS_OBJ_TYPE_TASK_SUSPEND   (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'S', 'U', 'S')

Definition at line 250 of file os.h.

#define OS_OBJ_TYPE_TICK   (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'I', 'C', 'K')

Definition at line 251 of file os.h.

#define OS_OBJ_TYPE_TMR   (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'M', 'R', ' ')

Definition at line 252 of file os.h.

#define OS_OPT_DEL_ALWAYS   (OS_OPT)(0x0001u)

Definition at line 269 of file os.h.

#define OS_OPT_DEL_NO_PEND   (OS_OPT)(0x0000u)

Definition at line 268 of file os.h.

#define OS_OPT_NONE   (OS_OPT)(0x0000u)

Definition at line 260 of file os.h.

#define OS_OPT_PEND_ABORT_1   (OS_OPT)(0x0000u) /* Pend abort a single waiting task */

Definition at line 302 of file os.h.

#define OS_OPT_PEND_ABORT_ALL   (OS_OPT)(0x0100u) /* Pend abort ALL tasks waiting */

Definition at line 303 of file os.h.

#define OS_OPT_PEND_BLOCKING   (OS_OPT)(0x0000u)

Definition at line 293 of file os.h.

#define OS_OPT_PEND_FLAG_CLR_ALL   (OS_OPT)(0x0001u) /* Wait for ALL the bits specified to be CLR */

Definition at line 278 of file os.h.

#define OS_OPT_PEND_FLAG_CLR_AND   (OS_OPT)(0x0001u)

Definition at line 279 of file os.h.

#define OS_OPT_PEND_FLAG_CLR_ANY   (OS_OPT)(0x0002u) /* Wait for ANY of the bits specified to be CLR */

Definition at line 281 of file os.h.

#define OS_OPT_PEND_FLAG_CLR_OR   (OS_OPT)(0x0002u)

Definition at line 282 of file os.h.

#define OS_OPT_PEND_FLAG_CONSUME   (OS_OPT)(0x0100u) /* Consume the flags if condition(s) satisfied */

Definition at line 290 of file os.h.

#define OS_OPT_PEND_FLAG_MASK   (OS_OPT)(0x000Fu)

Definition at line 277 of file os.h.

#define OS_OPT_PEND_FLAG_SET_ALL   (OS_OPT)(0x0004u) /* Wait for ALL the bits specified to be SET */

Definition at line 284 of file os.h.

#define OS_OPT_PEND_FLAG_SET_AND   (OS_OPT)(0x0004u)

Definition at line 285 of file os.h.

#define OS_OPT_PEND_FLAG_SET_ANY   (OS_OPT)(0x0008u) /* Wait for ANY of the bits specified to be SET */

Definition at line 287 of file os.h.

#define OS_OPT_PEND_FLAG_SET_OR   (OS_OPT)(0x0008u)

Definition at line 288 of file os.h.

#define OS_OPT_PEND_NON_BLOCKING   (OS_OPT)(0x8000u)

Definition at line 294 of file os.h.

#define OS_OPT_POST_1   (OS_OPT)(0x0000u) /* Post message to highest priority task waiting */

Definition at line 319 of file os.h.

#define OS_OPT_POST_ALL   (OS_OPT)(0x0200u) /* Broadcast message to ALL tasks waiting */

Definition at line 320 of file os.h.

#define OS_OPT_POST_FIFO   (OS_OPT)(0x0000u) /* Default is to post FIFO */

Definition at line 317 of file os.h.

#define OS_OPT_POST_FLAG_CLR   (OS_OPT)(0x0001u)

Definition at line 315 of file os.h.

#define OS_OPT_POST_FLAG_SET   (OS_OPT)(0x0000u)

Definition at line 314 of file os.h.

#define OS_OPT_POST_LIFO   (OS_OPT)(0x0010u) /* Post to highest priority task waiting */

Definition at line 318 of file os.h.

#define OS_OPT_POST_NO_SCHED   (OS_OPT)(0x8000u) /* Do not call the scheduler if this is selected */

Definition at line 322 of file os.h.

#define OS_OPT_POST_NONE   (OS_OPT)(0x0000u)

Definition at line 312 of file os.h.

#define OS_OPT_TASK_NO_TLS   (OS_OPT)(0x0008u) /* Specifies the task DOES NOT require TLS support */

Definition at line 334 of file os.h.

#define OS_OPT_TASK_NONE   (OS_OPT)(0x0000u) /* No option selected */

Definition at line 330 of file os.h.

#define OS_OPT_TASK_SAVE_FP   (OS_OPT)(0x0004u) /* Save the contents of any floating-point registers */

Definition at line 333 of file os.h.

#define OS_OPT_TASK_STK_CHK   (OS_OPT)(0x0001u) /* Enable stack checking for the task */

Definition at line 331 of file os.h.

#define OS_OPT_TASK_STK_CLR   (OS_OPT)(0x0002u) /* Clear the stack when the task is create */

Definition at line 332 of file os.h.

#define OS_OPT_TIME_DLY   DEF_BIT_NONE

Definition at line 342 of file os.h.

#define OS_OPT_TIME_HMSM_NON_STRICT   ((OS_OPT)DEF_BIT_04)

Definition at line 348 of file os.h.

#define OS_OPT_TIME_HMSM_STRICT   ((OS_OPT)DEF_BIT_NONE)

Definition at line 347 of file os.h.

#define OS_OPT_TIME_MASK
Value:

Definition at line 350 of file os.h.

#define OS_OPT_TIME_MATCH   ((OS_OPT)DEF_BIT_02)

Definition at line 344 of file os.h.

#define OS_OPT_TIME_OPTS_MASK
Value:
OS_OPT_TIME_TIMEOUT | \
OS_OPT_TIME_PERIODIC | \
OS_OPT_TIME_MATCH | \
OS_OPT_TIME_HMSM_NON_STRICT)

Definition at line 355 of file os.h.

#define OS_OPT_TIME_PERIODIC   ((OS_OPT)DEF_BIT_03)

Definition at line 345 of file os.h.

#define OS_OPT_TIME_TIMEOUT   ((OS_OPT)DEF_BIT_01)

Definition at line 343 of file os.h.

#define OS_OPT_TMR_CALLBACK   (OS_OPT)(3u) /* OSTmrStop() option to call 'callback' w/ timer arg */

Definition at line 372 of file os.h.

#define OS_OPT_TMR_CALLBACK_ARG   (OS_OPT)(4u) /* OSTmrStop() option to call 'callback' w/ new arg */

Definition at line 373 of file os.h.

#define OS_OPT_TMR_NONE   (OS_OPT)(0u) /* No option selected */

Definition at line 367 of file os.h.

#define OS_OPT_TMR_ONE_SHOT   (OS_OPT)(1u) /* Timer will not auto restart when it expires */

Definition at line 369 of file os.h.

#define OS_OPT_TMR_PERIODIC   (OS_OPT)(2u) /* Timer will auto restart when it expires */

Definition at line 370 of file os.h.

#define OS_PRIO_INIT   (OS_PRIO)(OS_CFG_PRIO_MAX)

Definition at line 392 of file os.h.

#define OS_PRIO_TBL_SIZE   (((OS_CFG_PRIO_MAX - 1u) / DEF_INT_CPU_NBR_BITS) + 1u)

Definition at line 164 of file os.h.

#define OS_SCHED_LOCK_TIME_MEAS_START ( )

Definition at line 77 of file os.h.

#define OS_SCHED_LOCK_TIME_MEAS_STOP ( )

Definition at line 84 of file os.h.

#define OS_STATE_NOT_RDY   (CPU_BOOLEAN)(0u)

Definition at line 186 of file os.h.

#define OS_STATE_OS_RUNNING   (OS_STATE)(1u)

Definition at line 184 of file os.h.

#define OS_STATE_OS_STOPPED   (OS_STATE)(0u)

Definition at line 183 of file os.h.

#define OS_STATE_RDY   (CPU_BOOLEAN)(1u)

Definition at line 187 of file os.h.

#define OS_STATUS_PEND_ABORT   (OS_STATUS)( 1u) /* Pending aborted */

Definition at line 227 of file os.h.

#define OS_STATUS_PEND_DEL   (OS_STATUS)( 2u) /* Pending object deleted */

Definition at line 228 of file os.h.

#define OS_STATUS_PEND_OK   (OS_STATUS)( 0u) /* Pending status OK, !pending, or pending complete */

Definition at line 226 of file os.h.

#define OS_STATUS_PEND_TIMEOUT   (OS_STATUS)( 3u) /* Pending timed out */

Definition at line 229 of file os.h.

#define OS_TASK_PEND_ON_FLAG   (OS_STATE)( 1u) /* Pending on event flag group */

Definition at line 211 of file os.h.

#define OS_TASK_PEND_ON_MULTI   (OS_STATE)( 3u) /* Pending on multiple semaphores and/or queues */

Definition at line 213 of file os.h.

#define OS_TASK_PEND_ON_MUTEX   (OS_STATE)( 4u) /* Pending on mutual exclusion semaphore */

Definition at line 214 of file os.h.

#define OS_TASK_PEND_ON_NOTHING   (OS_STATE)( 0u) /* Pending on nothing */

Definition at line 210 of file os.h.

#define OS_TASK_PEND_ON_Q   (OS_STATE)( 5u) /* Pending on queue */

Definition at line 215 of file os.h.

#define OS_TASK_PEND_ON_SEM   (OS_STATE)( 6u) /* Pending on semaphore */

Definition at line 216 of file os.h.

#define OS_TASK_PEND_ON_TASK_Q   (OS_STATE)( 2u) /* Pending on message to be sent to task */

Definition at line 212 of file os.h.

#define OS_TASK_PEND_ON_TASK_SEM   (OS_STATE)( 7u) /* Pending on signal to be sent to task */

Definition at line 217 of file os.h.

#define OS_TASK_STATE_BIT_DLY   (OS_STATE)(0x01u) /* /-------- SUSPENDED bit */

Definition at line 191 of file os.h.

#define OS_TASK_STATE_BIT_PEND   (OS_STATE)(0x02u) /* | /----- PEND bit */

Definition at line 193 of file os.h.

#define OS_TASK_STATE_BIT_SUSPENDED   (OS_STATE)(0x04u) /* | | /--- Delayed/Timeout bit */

Definition at line 195 of file os.h.

#define OS_TASK_STATE_DEL   (OS_STATE)(255u)

Definition at line 207 of file os.h.

#define OS_TASK_STATE_DLY   (OS_STATE)( 1u) /* 0 0 1 Delayed or Timeout */

Definition at line 200 of file os.h.

#define OS_TASK_STATE_DLY_SUSPENDED   (OS_STATE)( 5u) /* 1 0 1 Suspended + Delayed or Timeout */

Definition at line 204 of file os.h.

#define OS_TASK_STATE_PEND   (OS_STATE)( 2u) /* 0 1 0 Pend */

Definition at line 201 of file os.h.

#define OS_TASK_STATE_PEND_SUSPENDED   (OS_STATE)( 6u) /* 1 1 0 Suspended + Pend */

Definition at line 205 of file os.h.

#define OS_TASK_STATE_PEND_TIMEOUT   (OS_STATE)( 3u) /* 0 1 1 Pend + Timeout */

Definition at line 202 of file os.h.

#define OS_TASK_STATE_PEND_TIMEOUT_SUSPENDED   (OS_STATE)( 7u) /* 1 1 1 Suspended + Pend + Timeout */

Definition at line 206 of file os.h.

#define OS_TASK_STATE_RDY   (OS_STATE)( 0u) /* 0 0 0 Ready */

Definition at line 199 of file os.h.

#define OS_TASK_STATE_SUSPENDED   (OS_STATE)( 4u) /* 1 0 0 Suspended */

Definition at line 203 of file os.h.

#define OS_TICK_TH_INIT   (OS_TICK)(DEF_BIT ((sizeof(OS_TICK) * DEF_OCTET_NBR_BITS) - 1u))

Definition at line 400 of file os.h.

#define OS_TICK_TH_RDY
Value:
((sizeof(OS_TICK) * DEF_OCTET_NBR_BITS) / 2u)))

Definition at line 403 of file os.h.

#define OS_TMR_STATE_COMPLETED   (OS_STATE)(3u)

Definition at line 384 of file os.h.

#define OS_TMR_STATE_RUNNING   (OS_STATE)(2u)

Definition at line 383 of file os.h.

#define OS_TMR_STATE_STOPPED   (OS_STATE)(1u)

Definition at line 382 of file os.h.

#define OS_TMR_STATE_UNUSED   (OS_STATE)(0u)

Definition at line 381 of file os.h.

#define OS_VERSION   30300u /* Version of uC/OS-III (Vx.yy.zz mult. by 10000) */

Definition at line 45 of file os.h.

Typedef Documentation

typedef struct os_int_q OS_INT_Q

Definition at line 648 of file os.h.

typedef void(* OS_TASK_PTR)(void *p_arg)

Definition at line 654 of file os.h.

typedef void(* OS_TMR_CALLBACK_PTR)(void *p_tmr, void *p_arg)

Definition at line 672 of file os.h.

Enumeration Type Documentation

enum OS_ERR
Enumerator:
OS_ERR_NONE 
OS_ERR_A 
OS_ERR_ACCEPT_ISR 
OS_ERR_B 
OS_ERR_C 
OS_ERR_CREATE_ISR 
OS_ERR_D 
OS_ERR_DEL_ISR 
OS_ERR_E 
OS_ERR_F 
OS_ERR_FATAL_RETURN 
OS_ERR_FLAG_GRP_DEPLETED 
OS_ERR_FLAG_NOT_RDY 
OS_ERR_FLAG_PEND_OPT 
OS_ERR_FLUSH_ISR 
OS_ERR_G 
OS_ERR_H 
OS_ERR_I 
OS_ERR_ILLEGAL_CREATE_RUN_TIME 
OS_ERR_INT_Q 
OS_ERR_INT_Q_FULL 
OS_ERR_INT_Q_SIZE 
OS_ERR_INT_Q_STK_INVALID 
OS_ERR_INT_Q_STK_SIZE_INVALID 
OS_ERR_J 
OS_ERR_K 
OS_ERR_L 
OS_ERR_LOCK_NESTING_OVF 
OS_ERR_M 
OS_ERR_MEM_CREATE_ISR 
OS_ERR_MEM_FULL 
OS_ERR_MEM_INVALID_P_ADDR 
OS_ERR_MEM_INVALID_BLKS 
OS_ERR_MEM_INVALID_PART 
OS_ERR_MEM_INVALID_P_BLK 
OS_ERR_MEM_INVALID_P_MEM 
OS_ERR_MEM_INVALID_P_DATA 
OS_ERR_MEM_INVALID_SIZE 
OS_ERR_MEM_NO_FREE_BLKS 
OS_ERR_MSG_POOL_EMPTY 
OS_ERR_MSG_POOL_NULL_PTR 
OS_ERR_MUTEX_NOT_OWNER 
OS_ERR_MUTEX_OWNER 
OS_ERR_MUTEX_NESTING 
OS_ERR_N 
OS_ERR_NAME 
OS_ERR_NO_MORE_ID_AVAIL 
OS_ERR_O 
OS_ERR_OBJ_CREATED 
OS_ERR_OBJ_DEL 
OS_ERR_OBJ_PTR_NULL 
OS_ERR_OBJ_TYPE 
OS_ERR_OPT_INVALID 
OS_ERR_OS_NOT_RUNNING 
OS_ERR_OS_RUNNING 
OS_ERR_P 
OS_ERR_PEND_ABORT 
OS_ERR_PEND_ABORT_ISR 
OS_ERR_PEND_ABORT_NONE 
OS_ERR_PEND_ABORT_SELF 
OS_ERR_PEND_DEL 
OS_ERR_PEND_ISR 
OS_ERR_PEND_LOCKED 
OS_ERR_PEND_WOULD_BLOCK 
OS_ERR_POST_NULL_PTR 
OS_ERR_POST_ISR 
OS_ERR_PRIO_EXIST 
OS_ERR_PRIO 
OS_ERR_PRIO_INVALID 
OS_ERR_PTR_INVALID 
OS_ERR_Q 
OS_ERR_Q_FULL 
OS_ERR_Q_EMPTY 
OS_ERR_Q_MAX 
OS_ERR_Q_SIZE 
OS_ERR_R 
OS_ERR_REG_ID_INVALID 
OS_ERR_ROUND_ROBIN_1 
OS_ERR_ROUND_ROBIN_DISABLED 
OS_ERR_S 
OS_ERR_SCHED_INVALID_TIME_SLICE 
OS_ERR_SCHED_LOCK_ISR 
OS_ERR_SCHED_LOCKED 
OS_ERR_SCHED_NOT_LOCKED 
OS_ERR_SCHED_UNLOCK_ISR 
OS_ERR_SEM_OVF 
OS_ERR_SET_ISR 
OS_ERR_STAT_RESET_ISR 
OS_ERR_STAT_PRIO_INVALID 
OS_ERR_STAT_STK_INVALID 
OS_ERR_STAT_STK_SIZE_INVALID 
OS_ERR_STATE_INVALID 
OS_ERR_STATUS_INVALID 
OS_ERR_STK_INVALID 
OS_ERR_STK_SIZE_INVALID 
OS_ERR_STK_LIMIT_INVALID 
OS_ERR_T 
OS_ERR_TASK_CHANGE_PRIO_ISR 
OS_ERR_TASK_CREATE_ISR 
OS_ERR_TASK_DEL 
OS_ERR_TASK_DEL_IDLE 
OS_ERR_TASK_DEL_INVALID 
OS_ERR_TASK_DEL_ISR 
OS_ERR_TASK_INVALID 
OS_ERR_TASK_NO_MORE_TCB 
OS_ERR_TASK_NOT_DLY 
OS_ERR_TASK_NOT_EXIST 
OS_ERR_TASK_NOT_SUSPENDED 
OS_ERR_TASK_OPT 
OS_ERR_TASK_RESUME_ISR 
OS_ERR_TASK_RESUME_PRIO 
OS_ERR_TASK_RESUME_SELF 
OS_ERR_TASK_RUNNING 
OS_ERR_TASK_STK_CHK_ISR 
OS_ERR_TASK_SUSPENDED 
OS_ERR_TASK_SUSPEND_IDLE 
OS_ERR_TASK_SUSPEND_INT_HANDLER 
OS_ERR_TASK_SUSPEND_ISR 
OS_ERR_TASK_SUSPEND_PRIO 
OS_ERR_TASK_WAITING 
OS_ERR_TCB_INVALID 
OS_ERR_TLS_ID_INVALID 
OS_ERR_TLS_ISR 
OS_ERR_TLS_NO_MORE_AVAIL 
OS_ERR_TLS_NOT_EN 
OS_ERR_TLS_DESTRUCT_ASSIGNED 
OS_ERR_TICK_PRIO_INVALID 
OS_ERR_TICK_STK_INVALID 
OS_ERR_TICK_STK_SIZE_INVALID 
OS_ERR_TICK_WHEEL_SIZE 
OS_ERR_TIME_DLY_ISR 
OS_ERR_TIME_DLY_RESUME_ISR 
OS_ERR_TIME_GET_ISR 
OS_ERR_TIME_INVALID_HOURS 
OS_ERR_TIME_INVALID_MINUTES 
OS_ERR_TIME_INVALID_SECONDS 
OS_ERR_TIME_INVALID_MILLISECONDS 
OS_ERR_TIME_NOT_DLY 
OS_ERR_TIME_SET_ISR 
OS_ERR_TIME_ZERO_DLY 
OS_ERR_TIMEOUT 
OS_ERR_TMR_INACTIVE 
OS_ERR_TMR_INVALID_DEST 
OS_ERR_TMR_INVALID_DLY 
OS_ERR_TMR_INVALID_PERIOD 
OS_ERR_TMR_INVALID_STATE 
OS_ERR_TMR_INVALID 
OS_ERR_TMR_ISR 
OS_ERR_TMR_NO_CALLBACK 
OS_ERR_TMR_NON_AVAIL 
OS_ERR_TMR_PRIO_INVALID 
OS_ERR_TMR_STK_INVALID 
OS_ERR_TMR_STK_SIZE_INVALID 
OS_ERR_TMR_STOPPED 
OS_ERR_U 
OS_ERR_V 
OS_ERR_W 
OS_ERR_X 
OS_ERR_Y 
OS_ERR_YIELD_ISR 
OS_ERR_Z 

Definition at line 421 of file os.h.

Function Documentation

void OS_IdleTask ( void *  p_arg)

Definition at line 781 of file os_core.c.

void OS_IdleTaskInit ( OS_ERR p_err)

Definition at line 816 of file os_core.c.

void OS_MsgPoolCreate ( OS_MSG *  p_msg,
OS_MSG_QTY  size 
)
void OS_MsgPoolInit ( OS_ERR p_err)
OS_MSG_QTY OS_MsgQFreeAll ( OS_MSG_Q *  p_msg_q)
void* OS_MsgQGet ( OS_MSG_Q *  p_msg_q,
OS_MSG_SIZE p_msg_size,
CPU_TS p_ts,
OS_ERR p_err 
)
void OS_MsgQInit ( OS_MSG_Q *  p_msg_q,
OS_MSG_QTY  size 
)
void OS_MsgQPut ( OS_MSG_Q *  p_msg_q,
void *  p_void,
OS_MSG_SIZE  msg_size,
OS_OPT  opt,
CPU_TS  ts,
OS_ERR p_err 
)
void OS_Pend ( OS_PEND_DATA *  p_pend_data,
OS_PEND_OBJ *  p_obj,
OS_STATE  pending_on,
OS_TICK  timeout 
)

Definition at line 873 of file os_core.c.

void OS_PendAbort ( OS_PEND_OBJ *  p_obj,
OS_TCB *  p_tcb,
CPU_TS  ts 
)

Definition at line 927 of file os_core.c.

void OS_PendAbort1 ( OS_PEND_OBJ *  p_obj,
OS_TCB *  p_tcb,
CPU_TS  ts 
)

Definition at line 1033 of file os_core.c.

void OS_PendDataInit ( OS_TCB *  p_tcb,
OS_PEND_DATA *  p_pend_data_tbl,
OS_OBJ_QTY  tbl_size 
)

Definition at line 1098 of file os_core.c.

void OS_PendListChangePrio ( OS_TCB *  p_tcb,
OS_PRIO  prio_new 
)

Definition at line 1276 of file os_core.c.

OS_PEND_LIST* OS_PendListGetPtr ( OS_PEND_OBJ *  p_obj)
void OS_PendListInit ( OS_PEND_LIST *  p_pend_list)

Definition at line 1319 of file os_core.c.

void OS_PendListInsertHead ( OS_PEND_LIST *  p_pend_list,
OS_PEND_DATA *  p_pend_data 
)

Definition at line 1373 of file os_core.c.

void OS_PendListInsertPrio ( OS_PEND_LIST *  p_pend_list,
OS_PEND_DATA *  p_pend_data 
)

Definition at line 1461 of file os_core.c.

void OS_PendListRemove ( OS_TCB *  p_tcb)

Definition at line 1564 of file os_core.c.

void OS_PendListRemove1 ( OS_PEND_LIST *  p_pend_list,
OS_PEND_DATA *  p_pend_data 
)

Definition at line 1639 of file os_core.c.

void OS_PendObjDel ( OS_PEND_OBJ *  p_obj,
OS_TCB *  p_tcb,
CPU_TS  ts 
)

Definition at line 1693 of file os_core.c.

void OS_PendObjDel1 ( OS_PEND_OBJ *  p_obj,
OS_TCB *  p_tcb,
CPU_TS  ts 
)

Definition at line 1795 of file os_core.c.

void OS_Post ( OS_PEND_OBJ *  p_obj,
OS_TCB *  p_tcb,
void *  p_void,
OS_MSG_SIZE  msg_size,
CPU_TS  ts 
)

Definition at line 1844 of file os_core.c.

void OS_Post1 ( OS_PEND_OBJ *  p_obj,
OS_TCB *  p_tcb,
void *  p_void,
OS_MSG_SIZE  msg_size,
CPU_TS  ts 
)

Definition at line 1970 of file os_core.c.

OS_PRIO OS_PrioGetHighest ( void  )

Definition at line 85 of file os_prio.c.

void OS_PrioInit ( void  )

Definition at line 59 of file os_prio.c.

void OS_PrioInsert ( OS_PRIO  prio)

Definition at line 115 of file os_prio.c.

void OS_PrioRemove ( OS_PRIO  prio)

Definition at line 143 of file os_prio.c.

void OS_RdyListInit ( void  )

Definition at line 2040 of file os_core.c.

void OS_RdyListInsert ( OS_TCB *  p_tcb)

Definition at line 2074 of file os_core.c.

void OS_RdyListInsertHead ( OS_TCB *  p_tcb)

Definition at line 2141 of file os_core.c.

void OS_RdyListInsertTail ( OS_TCB *  p_tcb)

Definition at line 2222 of file os_core.c.

void OS_RdyListMoveHeadToTail ( OS_RDY_LIST *  p_rdy_list)

Definition at line 2299 of file os_core.c.

void OS_RdyListRemove ( OS_TCB *  p_tcb)

Definition at line 2386 of file os_core.c.

void OS_StatTaskInit ( OS_ERR p_err)
void OS_TaskBlock ( OS_TCB *  p_tcb,
OS_TICK  timeout 
)

Definition at line 2598 of file os_core.c.

void OS_TaskInit ( OS_ERR p_err)

Definition at line 1923 of file os_task.c.

void OS_TaskInitTCB ( OS_TCB *  p_tcb)

Definition at line 1957 of file os_task.c.

void OS_TaskQPost ( OS_TCB *  p_tcb,
void *  p_void,
OS_MSG_SIZE  msg_size,
OS_OPT  opt,
CPU_TS  ts,
OS_ERR p_err 
)
void OS_TaskRdy ( OS_TCB *  p_tcb)

Definition at line 2636 of file os_core.c.

void OS_TaskReturn ( void  )

Definition at line 2292 of file os_task.c.

OS_SEM_CTR OS_TaskSemPost ( OS_TCB *  p_tcb,
OS_OPT  opt,
CPU_TS  ts,
OS_ERR p_err 
)

Definition at line 2342 of file os_task.c.

void OS_TickListInit ( void  )

Definition at line 166 of file os_tick.c.

void OS_TickListInsert ( OS_TCB *  p_tcb,
OS_TICK  time,
OS_OPT  opt,
OS_ERR p_err 
)

Definition at line 220 of file os_tick.c.

void OS_TickListRemove ( OS_TCB *  p_tcb)

Definition at line 337 of file os_tick.c.

void OS_TickListResetPeak ( void  )

Definition at line 386 of file os_tick.c.

void OS_TickListUpdate ( void  )

Definition at line 415 of file os_tick.c.

void OS_TickTask ( void *  p_arg)

Definition at line 61 of file os_tick.c.

void OS_TickTaskInit ( OS_ERR p_err)

Definition at line 104 of file os_tick.c.

void OSCfg_Init ( void  )

Definition at line 240 of file os_cfg_app.c.

void OSIdleTaskHook ( void  )

Definition at line 63 of file os_cpu_c_m0.c.

void OSInit ( OS_ERR p_err)

Definition at line 55 of file os_core.c.

void OSInitHook ( void  )

Definition at line 86 of file os_cpu_c_m0.c.

void OSIntEnter ( void  )

Definition at line 266 of file os_core.c.

void OSIntExit ( void  )

Definition at line 300 of file os_core.c.

void OSSched ( void  )

Definition at line 387 of file os_core.c.

void OSSchedLock ( OS_ERR p_err)

Definition at line 444 of file os_core.c.

void OSSchedUnlock ( OS_ERR p_err)

Definition at line 505 of file os_core.c.

void OSStart ( OS_ERR p_err)

Definition at line 706 of file os_core.c.

void OSStatTaskHook ( void  )

Definition at line 114 of file os_cpu_c_m0.c.

void OSTaskCreate ( OS_TCB *  p_tcb,
CPU_CHAR p_name,
OS_TASK_PTR  p_task,
void *  p_arg,
OS_PRIO  prio,
CPU_STK p_stk_base,
CPU_STK_SIZE  stk_limit,
CPU_STK_SIZE  stk_size,
OS_MSG_QTY  q_size,
OS_TICK  time_quanta,
void *  p_ext,
OS_OPT  opt,
OS_ERR p_err 
)

Definition at line 249 of file os_task.c.

void OSTaskCreateHook ( OS_TCB *  p_tcb)

Definition at line 137 of file os_cpu_c_m0.c.

void OSTaskDelHook ( OS_TCB *  p_tcb)

Definition at line 162 of file os_cpu_c_m0.c.

void OSTaskReturnHook ( OS_TCB *  p_tcb)

Definition at line 188 of file os_cpu_c_m0.c.

OS_SEM_CTR OSTaskSemPend ( OS_TICK  timeout,
OS_OPT  opt,
CPU_TS p_ts,
OS_ERR p_err 
)

Definition at line 1262 of file os_task.c.

OS_SEM_CTR OSTaskSemPost ( OS_TCB *  p_tcb,
OS_OPT  opt,
OS_ERR p_err 
)

Definition at line 1497 of file os_task.c.

OS_SEM_CTR OSTaskSemSet ( OS_TCB *  p_tcb,
OS_SEM_CTR  cnt,
OS_ERR p_err 
)

Definition at line 1570 of file os_task.c.

CPU_STK* OSTaskStkInit ( OS_TASK_PTR  p_task,
void *  p_arg,
CPU_STK p_stk_base,
CPU_STK p_stk_limit,
CPU_STK_SIZE  stk_size,
OS_OPT  opt 
)

Definition at line 229 of file os_cpu_c_m0.c.

void OSTaskSwHook ( void  )

Definition at line 283 of file os_cpu_c_m0.c.

void OSTimeDly ( OS_TICK  dly,
OS_OPT  opt,
OS_ERR p_err 
)

Definition at line 80 of file os_time.c.

OS_TICK OSTimeGet ( OS_ERR p_err)

Definition at line 457 of file os_time.c.

void OSTimeSet ( OS_TICK  ticks,
OS_ERR p_err 
)

Definition at line 494 of file os_time.c.

void OSTimeTick ( void  )

Definition at line 528 of file os_time.c.

void OSTimeTickHook ( void  )

Definition at line 340 of file os_cpu_c_m0.c.

CPU_INT16U OSVersion ( OS_ERR p_err)

Definition at line 745 of file os_core.c.

Variable Documentation

CPU_STK OSCfg_IdleTaskStk[]

Definition at line 55 of file os_cfg_app.c.

CPU_STK* const OSCfg_IdleTaskStkBasePtr

Definition at line 89 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_IdleTaskStkLimit

Definition at line 90 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_IdleTaskStkSize

Definition at line 91 of file os_cfg_app.c.

CPU_INT32U const OSCfg_IdleTaskStkSizeRAM

Definition at line 92 of file os_cfg_app.c.

OS_INT_Q* const OSCfg_IntQBasePtr

Definition at line 104 of file os_cfg_app.c.

OS_OBJ_QTY const OSCfg_IntQSize

Definition at line 105 of file os_cfg_app.c.

CPU_INT32U const OSCfg_IntQSizeRAM

Definition at line 106 of file os_cfg_app.c.

CPU_STK* const OSCfg_IntQTaskStkBasePtr

Definition at line 107 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_IntQTaskStkLimit

Definition at line 108 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_IntQTaskStkSize

Definition at line 109 of file os_cfg_app.c.

CPU_INT32U const OSCfg_IntQTaskStkSizeRAM

Definition at line 110 of file os_cfg_app.c.

CPU_STK OSCfg_ISRStk[]
CPU_STK* const OSCfg_ISRStkBasePtr

Definition at line 119 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_ISRStkSize

Definition at line 120 of file os_cfg_app.c.

CPU_INT32U const OSCfg_ISRStkSizeRAM

Definition at line 121 of file os_cfg_app.c.

OS_MSG* const OSCfg_MsgPoolBasePtr

Definition at line 132 of file os_cfg_app.c.

OS_MSG_SIZE const OSCfg_MsgPoolSize

Definition at line 130 of file os_cfg_app.c.

CPU_INT32U const OSCfg_MsgPoolSizeRAM

Definition at line 131 of file os_cfg_app.c.

OS_PRIO const OSCfg_StatTaskPrio

Definition at line 144 of file os_cfg_app.c.

OS_RATE_HZ const OSCfg_StatTaskRate_Hz

Definition at line 145 of file os_cfg_app.c.

CPU_STK* const OSCfg_StatTaskStkBasePtr

Definition at line 146 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_StatTaskStkLimit

Definition at line 147 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_StatTaskStkSize

Definition at line 148 of file os_cfg_app.c.

CPU_INT32U const OSCfg_StatTaskStkSizeRAM

Definition at line 149 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_StkSizeMin

Definition at line 153 of file os_cfg_app.c.

OS_RATE_HZ const OSCfg_TickRate_Hz

Definition at line 156 of file os_cfg_app.c.

OS_PRIO const OSCfg_TickTaskPrio

Definition at line 157 of file os_cfg_app.c.

CPU_STK OSCfg_TickTaskStk[]

Definition at line 74 of file os_cfg_app.c.

CPU_STK* const OSCfg_TickTaskStkBasePtr

Definition at line 158 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_TickTaskStkLimit

Definition at line 159 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_TickTaskStkSize

Definition at line 160 of file os_cfg_app.c.

CPU_INT32U const OSCfg_TickTaskStkSizeRAM

Definition at line 161 of file os_cfg_app.c.

OS_TICK_SPOKE OSCfg_TickWheel[]

Definition at line 75 of file os_cfg_app.c.

OS_OBJ_QTY const OSCfg_TickWheelSize

Definition at line 162 of file os_cfg_app.c.

CPU_INT32U const OSCfg_TickWheelSizeRAM

Definition at line 163 of file os_cfg_app.c.

CPU_INT32U const OSCfg_TmrSizeRAM
OS_PRIO const OSCfg_TmrTaskPrio

Definition at line 176 of file os_cfg_app.c.

OS_RATE_HZ const OSCfg_TmrTaskRate_Hz

Definition at line 177 of file os_cfg_app.c.

CPU_STK* const OSCfg_TmrTaskStkBasePtr

Definition at line 178 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_TmrTaskStkLimit

Definition at line 179 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_TmrTaskStkSize

Definition at line 180 of file os_cfg_app.c.

CPU_INT32U const OSCfg_TmrTaskStkSizeRAM

Definition at line 181 of file os_cfg_app.c.

OS_OBJ_QTY const OSCfg_TmrWheelSize

Definition at line 182 of file os_cfg_app.c.

OS_EXT OS_IDLE_CTR OSIdleTaskCtr

Definition at line 1115 of file os.h.

OS_EXT OS_TCB OSIdleTaskTCB

Definition at line 1116 of file os.h.

OS_EXT OS_NESTING_CTR OSIntNestingCtr

Definition at line 1119 of file os.h.

OS_EXT OS_PRIO OSPrioCur

Definition at line 1168 of file os.h.

OS_EXT OS_PRIO OSPrioHighRdy

Definition at line 1169 of file os.h.

OS_EXT OS_PRIO OSPrioSaved

Definition at line 1170 of file os.h.

Definition at line 41 of file os_prio.c.

OS_EXT OS_RDY_LIST OSRdyList[OS_CFG_PRIO_MAX]

Definition at line 1184 of file os.h.

OS_EXT OS_STATE OSRunning

Definition at line 1124 of file os.h.

OS_EXT OS_NESTING_CTR OSSchedLockNestingCtr

Definition at line 1197 of file os.h.

OS_EXT OS_CTX_SW_CTR OSTaskCtxSwCtr

Definition at line 1224 of file os.h.

OS_EXT OS_OBJ_QTY OSTaskQty

Definition at line 1228 of file os.h.

OS_EXT OS_TCB* OSTCBCurPtr

Definition at line 1253 of file os.h.

OS_EXT OS_TCB* OSTCBHighRdyPtr

Definition at line 1254 of file os.h.

OS_EXT OS_TICK OSTickCtr

Definition at line 1235 of file os.h.

OS_EXT OS_TCB OSTickTaskTCB

Definition at line 1236 of file os.h.

OS_EXT CPU_TS OSTickTaskTimeMax

Definition at line 1237 of file os.h.