Supported OS
Download Box
0 item(s)

T-Kernel 2.0 Extension(T2EX)


T-Kernel 2.0

Overview and Positioning of T2EX

Detailed spscification of T2EX

Development Environment/Emulator of T2


What is the difference between T-Kernel and ITRON specification OS?

  • T-Kernel enhances the compatibility by “strong standardization” to improve the reusability of middleware and device drivers. Thus, the software development efficiency has improved very much.
  • T-Kernel has a single source, and its source code is provided by T-Engine Forum.
  • ITRON specification OS adopted the policy of “loose standardization.” You can implement it/develop the source freely.
  • Both T-Kernel and ITRON specification OS have high real-time performance and small memory footprint, and their specifications are open. Kernel API sets have much in common (in case of T-Kernel: T-Kernel/OS).

What is the basic configuration of T-Kernel?

  • T-Kernel consists of the following;
    - T-Kernel/OS which provides the basic functions of real-time OS as kernel
    - T-Kernel/SM which provides the management functions of the overall systems such as device drivers and memory management
    - T-Kernel/DS used by development tools such as debugger
  • Within a system developed using T-Kernel, many software components run such as T-Kernel itself, applications, device driver, middleware, and the software such as T-Monitor which initializes the hardware and boots T-Kernel at start-up, etc.

What are T0, T1 and T2?

  • The history of the 30 years of TRON evolution is classified into three generations in the road map; T0: The first generation from the inception of ITRON specification OS in 1984
    T1: T-Kernel before T-Kernel 2.0
    T2: T-Kernel 2.0 and beyond

What is T2 one stop service?

  • T-Kernel 2.0 offers T-Kernel, device driver, development environment, etc. in a single package so that you can start programming application on T-Kernel immediately only with this package and PC. This is called “one stop service.
  • The package includes T-Kernel 2.0, T-Monitor, the source code of device drivers, a development environment, an emulator based on QEMU, and documents both in Japanese and English.
  • The device drivers are available for the clock (RTC), serial port, touch panel, screen (LCD), and system disk (SD/SDHC card) on the T-Engine referenc
  • The development environment includes GNU-based development tools such as gcc, gdb and binutils, Cygwin, and Eclipse IDE.
  • QEMU emulator on Windows PC emulates the hardware of T-Engine reference board and the CPU of ARM11 core. Application development is possible using QEMU without the real T-Engine reference board.

T-Kernel 2.0

What is the difference between T-Kernel 2.0 and T-Kernel 1.0?

  • T-Kernel 2.0 has been developed as an upward compatible real-time OS based on T-Kernel 1.0 to meet the requirement for more enhanced performance and larger storage capacity of embedded devices, etc. of today.
  • Device management functions to support 64 bit data, etc. have been added.
  • The time-related functions have been enhanced by adding time management functions which can specify time with microsecond resolution, support for SOC physical timers, etc.
  • Device drivers, T-Monitor, support software such as development environment, etc. are all provided in one stop service.

On which board and CPU T-Kernel 2.0 runs?

  • The source code of T-Kernel 2.0 released by T-Engine Forum can be easily ported to many types of CPUs.
  • The operation of the released source code is verified on the T-Engine reference board (model number: U00B0021-02) which has ARM11 core CPU.
  • Generally, device manufacturers, etc. port the source code to the CPU and hardware of their embedded devices.

Is physical timer implemented in the reference code?

  • The code to support SOC physical timer is included.
  • The target is T-Engine reference board (em1d).

Which development environment supports T-Kernel 2.0?

  • The reference code can be complied by GNU tool chain.
  • TK2 package includes gcc and Eclipse IDE as development tool and environment.
  • Please consult with us if you wish to use different tool chain and development environment, etc.

3What is the difference of the execution speed between the cases using 32 bits and 64 bits for specifying temporal resolution, etc.?

  • As 64 bits are used internally for implementation for both cases, there is little difference.
  • However, there may be a slight difference depending on the used hardware.

Overview and Positioning of T2EX

What are the objectives and positioning of T2EX?

  • T2EX is the middleware to meet the requirement for today’s embedded devices such as the needs for file management and network communication while still keeping intact the lightweight advantage of T-Kernel 2.0 as a real-time OS.
  • As T2EX does not use processes and multiple logical address spaces, it has low overhead.

What are the expected use cases of T2EX?

  • T2EX can be used for the devices which have stronger demand for “lightweight,” “small memory footprint” and “resource efficient” properties than can be met by Android, linux, etc. among the embedded devices which use file management and network communication.
  • For example, digital home electronic appliances, health care devices, etc.

What are the advantages of T2EX in comparison with linux?

  • T2EX has small memory footprint as a whole and is light weight. In another word, very resource-efficient. For example, the program size of its file management function is smaller than 100 KB. Meanwhile, linux needs several MB or larger memory at least to run it. Thus, the memory footprint required for T2EX is one order of magnitude smaller than linux.
  • The real-time performance of T-Kernel, the RTOS kernel, is better.
  • As T2EX does not use processes and multiple logical address spaces, it runs on CPUs without MMU.

What is the difference between T2EX and T-Kernel Standard Extension (TKSE)?

  • TKSE is designed based on processes, multiple logical address spaces, MMU, etc., and suitable for making large-scale systems by combining relatively highly independent program modules and processes. On the other hand, T2EX is suited to building systems without processes. The characteristics and sizes of the targets are different between T2EX and TKSE.

Why does T2EX have POSIX-like API specification?

  • POSIX-like API specification has been adopted for T2EX with a view on the portability and compatibility of other systems and existing programs written in C.
  • Please note, however, T2EX API call name has prefixes such as “fs_” for the file management function and “so_” for network communication function. They are POSIX-like API, but not exactly the same.

How is T2EX portable to support other CPUs and hardware?

  • T2EX released by T-Engine forum is implemented for ARM11 core, but it does not depend on particular features of the CPU except some functions such as memory protection function. T2EX source code itself can be easily ported by those who are willing to do so.
  • Porting of T-Kernel and device drivers for the target CPU and hardware is required separately.
  • You can freely use T2EX on any CPUs for your business deployment.

Which license covers T2EX?

  • T2EX is covered under T-License 2.0 which is suitable for the development of embedded devices. T2EX uses the source code traceability service in the same manner as T-Kernel 2.0 and μT-Kernel (the version released under T-License 2.0).
  • Some modules such as standard C compatible library, etc. are covered partially by BSD license.
  • As T-License 2.0 is not GPL, you do not need to publish the source of your modified parts and relevant programs.

Can I take function modules out of T2EX and use them separately?

  • Basically, you can.
  • But there are some obvious restrictions due to dependency. For example, file management module is required for using standard I/O library.

Detailed spscification of T2EX

What are the features of T2EX file management?

  • Its API has high degree of compatibility with POSIX. However, API names have prefix “fs_,” e.g. fs_open() for opening files and fs_read() for reading.
  • The POSIX-compatible standard I/O functions (fopen(), fprintf(), etc.) can be also used.
  • The file system supports FAT by default.
  • fs_break() is a function unique to T2EX and forces the running file operations to abort.
  • Users can define the program which processes file system requests (the file system implementation part) for themselves.
  • For example, this feature is useful when using the devices specially designed for embedded systems and the file systems specially designed for such devices.
  • You can issue requests using the common API to multiple file system implementation parts from the application.

What type of file format is supported by the file management function?

  • The file system formats of FAT12, FAT16, and FAT32 are supported by the basic FAT file system implementation part included in T2EX source code package. The long file name of VFAT can be used.
  • Other file formats also can be used if users register the program of the file system implementation part that support such formats.

What is the character encoding when file names in Japanese are specified as API call parameter?

  • UTF-8 encoding is used to enhance the portability with the environments where UTF-8 is used as in the latest Linux distributions, etc.
  • The API calls which take the file name (path name) as argument are fs_open(), fs_creat(), fs_rename(), fs_unlink(), fs_truncate() for the file management function, and fopen() for standard C compatible library.

What are the features of T2EX network communication function?

  • It supports TCP/IP.
  • T2EX supports so-called socket interface API which has high degree of compatibility with POSIX. However, API names have prefix with “so_,” e.g. so_connect() for socket connection and so_recv() for message reception. so_select() for checking the readiness of communication is available.
  • so_break() is a function unique to T2EX and forces the running communication operations to abort.

What are offered as part of the network communication?

  • The protocol stack of TCP/IP and the system calls of socket interface API are provided. The functions of DHCP and DNS are also provided.
  • Applications such as ftp are not included. They may be offered as samples in the future.
  • The functions of IPv6, IPsec, multicast and UNIX domain socket are not supported.

Does T2EX provide LAN drivers?

  • T2EX source code package provides a driver for LANC (SMSC LAN9221) of T-Engine reference board. This LANC is very popular and compatible with many devices.

Which devices are used for standard I/O of T2EX?

  • The console (communication terminal) connected to the serial port is used in the case of the T-Engine reference board in the same manner as the consoles of T-Monitor and T-Kernel when T-Kernel 2.0 is built and executed.
  • telnet of development PC, etc. are used in the case of emulator.
    →Please click here for more details

Does T2EX provide tools such as Shell or Command processor?

  • A simple shell-like application is included which executes the commands such as file operations interactively, and can be studied as a sample program as well.

Development Environment/Emulator of T2

Is gcc the only compiler supported for the development environment of T-Kernel 2.0 and T2EX? Are any other compilers also supported?

  • gcc is used as reference compiler for the source code released by T-Engine Forum since it is open source, can be used for various types of CPUs, and has established itself as a good compiler.
  • T-Engine Forum encourages manufacturers and vendors to support other compilers, and there have been some such cases.

Can T-Monitor console be used when QEMU is used?

  • QEMU emulator has a function to make the serial port on the emulated target board to be accessed from the virtual network inside the development PC. Thus, you can access T-Monitor debugger console inside the emulated environment using the telnet of the development PC.
  • You can operate T2EX standard I/O in a similar manner when T-Kernel and T2EX run on the emulator.

Can QEMU emulate an SD card?

  • Yes, it can. It can also emulate the FAT file system on the SD card when T2EX is used.
  • However, please note that QEMU operates on the virtual disk image file on the PC instead of the physical SD card attached to the PC.
T2EX Release Note
T2EX Release Note
Sort By:
T-Kernel 2.0 Extension (T2EX 2.00.00)
T-Kernel 2.0 Extension (T2EX 2.00.00)

T-Kernel 2.0 Extension (T2EX 2.01.00)
T-Kernel 2.0 Extension (T2EX 2.01.00)