What is µT-Kernel 2.0 ?

uT2ロゴ
µT-Kernel 2.0 is the most widely used version of the real-time OS, µT-Kernel, whose specification was published by TRON Forum to the world in 2013. µT-Kernel 2.0 focuses on the compatibility among T2 series OSes (T-Kernel 2.0, μT-Kernel 2.0, MP T-Kernel 2.0, etc.) to facilitate the software distribution (IEEE 2050-2018 IEEE Standard for a Real-Time Operating System (RTOS) for Small-Scale Embedded Systems). UC Technology provides µT-Kernel 2.0 development kits.

The Main Three Features of µT-Kernel 2.0

Ⅰ. Introducing service profiles

The information on a μT-Kernel 2.0 implementation specification is written in a machine-readable format.

μT-Kernel 2.0 is targeted at small-scale embedded systems and can be implemented in small memory footprints by subsetting the available features.

To accommodate the subsetting in this way and to maintain highly efficient distribution and portability of middleware and application, μT-Kernel 2.0 has introduced a mechanism called a service profile. The service profile allows developers to understand the differences between the various implementations of μT-Kernel 2.0.

Middleware developers can facilitate the distribution of middleware software packages by appropriately using the service profile mechanism and improving portability.

The list of the service profiles for µT-Kernel 2.0  is provided as a header file using C language macro definitions.
Example: showing the support of user buffer specification  (TA_USERBUF):

#define TK_SUPPORT_USERBUF TRUE

➡Find more about the service profile list.

Coding with service profiles helps to absorb the difference among µT2 implementations on different MCUs and permits sharing of middleware or application code.

Ⅱ. Drastically expanded the standardization scope in contrast to µT-Kernel

The expanded standardization scope permits the sharing of middleware and application codes among T2 series OSes.

  • Added specification
    • Physical timer management function
    • Microwait
    • Fast lock and multi-lock
    • Others

Ⅲ. Updated specification for optimization and tuning

Adding CONST (conforming to T-Kernel 2.0 specification)

  • Variables for reference only are indicated clearly in API specification.
    ID tskid = tk_cre_tsk( CONST T_CTSK *pk_ctsk );
  • Placing read-only variables in the ROM area is possible.
  • Reducing consumption in both ROM and RAM is possible.
  • The value has been decreased from 140 (μT1) to 16 or more (μT2).
  • Scheduler can search for the available highest priority task efficiently in a system with a small number of tasks.
  • Reducing the usage of RAM
  • The concept of “interrupt number” is introduced to consolidate “interrupt handler number” and “interrupt vector number”.