Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

There are a number of convention changes from µC/OS-II to µC/OS-III. The most notable is the use of CPU-specific data types. Table C-3 shows The table below shows the differences between the data types used in both kernels.

Another convention change is the use of the acronym “ CFG ” which stands for configuration. Now, all #define configuration constants and variables have the “ CFG ” or “ Cfg ” acronym in them as shown in Table C-4. Table C-4 the table below. This table shows the configuration constants that have been moved from os_cfg.h to os_cfg_app.h . This is done because µC/OS-III is configurable at the application level instead of just at compile time as with µC/OS-II.


Table C-5 shows The table belowshows additional configuration constants added to os_cfg.h , while several µC/OS-II constants were either removed or renamed.

...

.

...

µC/OS-III (os_cfg.h)

...

Note

...

OS_APP_HOOKS_EN

...

OS_CFG_APP_HOOKS_EN

...

OS_ARG_CHK_EN

...

OS_CFG_ARG_CHK_EN

...

OS_CFG_CALLED_FROM_ISR_CHK_EN

...

OS_DEBUG_EN

...

OS_CFG_DBG_EN

...

(1)

...

OS_EVENT_MULTI_EN

...

OS_CFG_PEND_MULTI_EN

...

OS_EVENT_NAME_EN

...

(2)

...

OS_CFG_ISR_POST_DEFERRED_EN

...

OS_MAX_EVENTS

...

(3)

...

OS_MAX_FLAGS

...

(3)

...

OS_MAX_MEM_PART

...

(3)

...

OS_MAX_QS

...

(3)

...

OS_MAX_TASKS

...

(3)

...

OS_CFG_OBJ_TYPE_CHK_EN

...

OS_LOWEST_PRIO

...

OS_CFG_PRIO_MAX

...

OS_CFG_SCHED_LOCK_TIME_MEAS_EN

...

OS_CFG_SCHED_ROUND_ROBIN_EN

...

OS_CFG_STK_SIZE_MIN

...

OS_FLAG_EN

...

OS_CFG_FLAG_EN

...

OS_FLAG_ACCEPT_EN

...

(6)

...

OS_FLAG_DEL_EN

...

OS_CFG_FLAG_DEL_EN

...

OS_FLAG_WAIT_CLR_EN

...

OS_CFG_FLAG_MODE_CLR_EN

...

OS_FLAG_NAME_EN

...

(2)

...

OS_FLAG_NBITS

...

(4)

...

OS_FLAG_QUERY_EN

...

(5)

...

OS_CFG_PEND_ABORT_EN

...

OS_MBOX_EN

...

OS_MBOX_ACCEPT_EN

...

(6)

...

OS_MBOX_DEL_EN

...

OS_MBOX_PEND_ABORT_EN

...

OS_MBOX_POST_EN

...

OS_MBOX_POST_OPT_EN

...

OS_MBOX_QUERY_EN

...

(5)

...

OS_MEM_EN

...

OS_CFG_MEM_EN

...

OS_MEM_NAME_EN

...

(2)

...

OS_MEM_QUERY_EN

...

(5)

...

OS_MUTEX_EN

...

OS_CFG_MUTEX_EN

...

OS_MUTEX_ACCEPT_EN

...

(6)

...

OS_MUTEX_DEL_EN

...

OS_CFG_MUTEX_DEL_EN

...

OS_CFG_MUTEX_PEND_ABORT_EN

...

OS_MUTEX_QUERY_EN

...

(5)

...

OS_Q_EN

...

OS_CFG_Q_EN

...

OS_Q_ACCEPT_EN

...

(6)

...

OS_Q_DEL_EN

...

OS_CFG_Q_DEL_EN

...

OS_Q_FLUSH_EN

...

OS_CFG_Q_FLUSH_EN

...

OS_CFG_Q_PEND_ABORT_EN

...

OS_Q_POST_EN

...

(7)

...

OS_Q_POST_FRONT_EN

...

(7)

...

OS_Q_POST_OPT_EN

...

(7)

...

OS_Q_QUERY_EN

...

(5)

...

OS_SCHED_LOCK_EN

...

OS_SEM_EN

...

OS_CFG_SEM_EN

...

OS_SEM_ACCEPT_EN

...

(6)

...

OS_SEM_DEL_EN

...

OS_CFG_SEM_DEL_EN

...

OS_SEM_PEND_ABORT_EN

...

OS_CFG_SEM_PEND_ABORT_EN

...

OS_SEM_QUERY_EN

...

(5)

...

OS_SEM_SET_EN

...

OS_CFG_SEM_SET_EN

...

OS_TASK_STAT_EN

...

OS_CFG_STAT_TASK_EN

...

OS_TASK_STK_CHK_EN

...

OS_CFG_STAT_TASK_STK_CHK_EN

...

OS_TASK_CHANGE_PRIO_EN

...

OS_CFG_TASK_CHANGE_PRIO_EN

...

OS_TASK_CREATE_EN

...

OS_TASK_CREATE_EXT_EN

...

OS_TASK_DEL_EN

...

OS_CFG_TASK_DEL_EN

...

OS_TASK_NAME_EN

...

(2)

...

OS_CFG_TASK_Q_EN

...

OS_CFG_TASK_Q_PEND_ABORT_EN

...

OS_TASK_QUERY_EN

...

(5)

...

OS_TASK_PROFILE_EN

...

OS_CFG_TASK_PROFILE_EN

...

OS_CFG_TASK_REG_TBL_SIZE

...

 

...

OS_TASK_SUSPEND_EN

...

OS_CFG_TASK_SUSPEND_EN

...

OS_TASK_SW_HOOK_EN

...

OS_TICK_STEP_EN

...

(8)

...

OS_TIME_DLY_HMSM_EN

...

OS_CFG_TIME_DLY_HMSM_EN

...

OS_TIME_DLY_RESUME_EN

...

OS_CFG_TIME_DLY_RESUME_EN

...

OS_TIME_GET_SET_EN

...

OS_TIME_TICK_HOOK_EN

...

OS_TMR_EN

...

OS_CFG_TMR_EN

...

OS_TMR_CFG_NAME_EN

...

(2)

...

OS_TMR_DEL_EN

...

 

...

Table C-5 µC/OS-III uses “CFG” in configuration

TC-5(1) DEBUG is replaced with DBG.

TC-5(2) In µC/OS-II, all kernel objects can be assigned ASCII names after creation. In µC/OS-III, ASCII names are assigned when the object is created.

TC-5(3) In µC/OS-II, it is necessary to declare the maximum number of kernel objects (number of tasks, number of event flag groups, message queues, etc.) at compile time. In µC/OS-III, all kernel objects are allocated at run time so it is no longer necessary to specify the maximum number of these objects. This feature saves valuable RAM as it is no longer necessary to over allocate objects.

TC-5(4) In µC/OS-II, event-flag width must be declared at compile time through OS_FLAG_NBITS. In µC/OS-III, this is accomplished by defining the width (i.e., number of bits) in os_type.h through the data type OS_FLAG. The default is typically 32 bits.

TC-5(5) µC/OS-III does not provide query services to the application.

TC-5(6) µC/OS-III does not directly provide “accept” function calls as with µC/OS-II. Instead, OS???Pend() functions provide an option that emulates the “accept” functionality by specifying OS_OPT_PEND_NON_BLOCKING.

TC-5(7) In µC/OS-II, there are a number of “post” functions. The features offered are now combined in the OS???Post() functions in µC/OS-III.

TC-5(8) The µC/OS-View feature OS_TICK_STEP_EN is not present in µC/OS-III since µC/OS-View is an obsolete product and in fact, was replaced by µC/Probe.