What is µT-Kernel 2.0 ?
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.
Relaxed specification related to the maximum value of task priority
- 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
Reorganized specification related to interrupt
- The concept of “interrupt number” is introduced to consolidate “interrupt handler number” and “interrupt vector number”.