T-Engine 2O11
Total Page:16
File Type:pdf, Size:1020Kb
T-Engine 2O11 by Ken SAKAMURA Professor, The University of Tokyo Interfaculty Initiative in Information Studies Graduate School of The University of Tokyo Chair, T-Engine Forum / uID Center Chairman,YRP Ubiquitous Networking Laboratory IEEE Fellow Contact T-Engine Forum The 28th KOWA Bldg. 2-20-1, Nishi Gotanda, Shinagawa, Tokyo 141-0031 Japan TEL: +81-3-5437-0572 / FAX: +81-3-5437-2399 E-mail: [email protected] Contents T2 2 1 Evolving TRON 2 1.1 μT-Kernel 3 1.2 MP T-Kernel 3 2 From T-Kernel 1.0 to T-Kernel 2.0 4 2.1 Significant Enhancement of Time Control Functions 4 2.2 Large Capacity Device Support 5 2.3 Enhancement of System Management Functions and Utility Functions 5 2.4 Upward Compatibility of T-Kernel 1.0 6 3 One Stop Service 6 4 Electronic Document of the T-Kernel 2.0 Specification 6 5 T2 7 T-License 2.0 8 T-Kernel Traceability Service 9 The TRON Engineer Certification Examination 10 Questionnaire Survey on Embedded Real-time OS Usage Trend 11 Adoption example / Application example 11 Products with T-Kernel μITRON specification OS (including JTRON) 11 T-Kernel, μT-Kernel specification OS and Development Environment 15 Middleware and Development Kit with T-Kernel 17 T-Engine Related Software 19 T-Kernel Related Products 19 μITRON specification OS and Development Tools 20 BTRON, etc. 21 T-Engine Forum Admission Guide 22 Member Organization List 31 T-Engine T2 —T-Engine Project on to the Second Stage specification OS requiring peripheral functions such as 1 Evolving TRON file management and device management increased, and companies began to enhance ITRON with their The TRON Project, launched in 1984, is a own middleware. As a result, new problems such as the development project for new computer systems decreased compatibility and reusability of middleware covering areas from hardware, mostly microprocessors, due to incompatible unique extensions arose. to applications with real-time processing at its core. T-Engine and T-Kernel were developed in this In 1987, the TRON Project released its ITRON background. specification for real-time operating systems. At the While we attempted to unify the development time, hardware resources were extremely limited and environment including hardware with T-Engine, we system optimization that touches operating systems aimed to standardize the middleware development was essential. Therefore, for ITRON, only specification environment by making T-Kernel extensible utilizing the was released so that anyone could implement it freely high performance real-time functions of ITRON thereby permitting customization in accordance with specification. In addition, we have released not only the hardware. As a result, the ITRON specification operating T-Kernel specification but also the source code free of systems running on many types of processors were charge in order to enhance the portability and created, and it became the de facto standard of real- reusability of software. Furthermore, the specification time operating systems for embedded devices. and source code of basic middleware, T-Kernel Standard However, in the 10 years or so since the release of Extension, have been released so that typical functions the ITRON specification, requests for ITRON-based of general information processing operating systems applications became diversified with the improvement could be added easily to T-Kernel. Using this system of hardware performance. Application of ITRON design approach, a real-time operating system T0 T1 T2 1984 2003 2011 SMP T-Kernel MP T-Kernel AMP T-Kernel T-Kernel T-Kernel 2.0 ITRON2 μT-Kernel ITRON1 μITRON3.0 μITRON4.0 μITRON Figure 1. Milestones of TRON/T-Kernel 2 Copyright © 2011 T-Engine Forum T-Engine supporting embedded devices that require both high- KB 100.0 level function and high performance can be provided. 90.0 In fact, the adoption of T-Kernel in high-end 80.0 embedded devices such as car navigation systems, 70.0 advanced printers, and handy terminals for business 60.0 use has been steadily increasing. 50.0 In addition, to meet market needs, we have released 40.0 μT-Kernel tuned to support small embedded devices 30.0 easily along with AMP T-Kernel and SMP T-Kernel that 20.0 support multiprocessors and multi-core processors. 10.0 0.0 ) ) g g g g . n n n n g g i i i i i i t t t t 1.1 μT-Kernel f f t t t t n n e e e e o o s s s s c c l l d d e e r r m m n n a a r r u u d d e e n n m m i i K K a a - - t t μT-Kernel is a version of T-Kernel for small n n i i T T s s l l m m μ μ e e ( ( l l n n r r embedded systems. It is designed so that performance e e e e n n r r K K - - e e T T K K can be maximized even in environments with few - - T T μ μ resources, such as 16-bit single chip microcomputers. ROM Usage RAM Usage μT-Kernel has realized the fine balance of the rich Figure 2. ROM/RAM Usage by μT-Kernel API compatible with T-Kernel and the sufficiently small Source: T.Nguyen, B. Anh, S. Tan: “REAL-TIME OPERATING size of required ROM and RAM. In particular, μT-Kernel SYSTEMS FOR SMALL MICROCONTROLLERS,” IEEE MICRO Sept./Oct 2009 pp.30-45 features small RAM size that results in energy-saving. 25 At the same time, advanced real-time performance is realized by a fast context switch and scheduling based 20 EmbOS on priority as in T-Kernel. 15 µITRON It is important for small-scale systems to perform EmbOS optimization or adaption depending on products. For 10 this reason, reference μT-Kernel source code has been µITRON µC/OS-II µC/OS-II released with more relaxed terms of use (μT-License) 5 µT-Kernel µT-Kernel ▲ than the regular license for T-Kernel. Redistribution of ▲ μT-Kernel is permitted after porting it to their systems 0 Task switch Task activation by manufacturers and vendors. Since T-Kernel and time from interrupt μT -Kernel are highly compatible, porting of applications Figure 3. Execution time benchmark for four RTOSs to either OSs only involves recompiling the source code ROM/RAM Usage (KB)Data size (RAM) in bytes if only functions common to both OSs are used. RAM サイズ(KB) 2,000 1.2 MP T-Kernel 1,500 MP T-Kernel is real-time OS very suited to the 1,000 embedded system with multi-core processors. Since MP T-Kernel has a good compatibility with 500 Data size (RAM) in bytes T-Kernel, most of the real-time functions of T-Kernel can be used on multiprocessors. Moreover, as MP 0 μC/OS-II μT-Kernel EmbOS μITRON T-Kernel supports the Standard Extension to extend the Figure 4. Benchmarking results for the four RTOSs: function of T-Kernel, process management and file comparisons of data size Copyright © 2011 T-Engine Forum 3 T-Engine Application Application Application Application 2 From T-Kernel 1.0 to T-Kernel 2.0 AMP AMP AMP AMP T-Kernel T-Kernel T-Kernel T-Kernel After the debut of T-Kernel, the performance of the Processor Processor Processor Processor processors of embedded devices has progressed 1 2 3 4 significantly in comparison to the performance of then Figure 5. AMP T-Kernel available CPUs when T-Kernel was designed. In addition, since the development of products using T-Kernel got Application popular, we received many feature requests for T-Kernel. From this background, the previous T-Kernel SMP T-Kernel (T-Kernel 1.0) has been upgraded to T-Kernel 2.0 in line with the new era as well as to support future progress Processor Processor Processor Processor 1 2 3 4 adequately while maintaining the basic design concept Figure 6. SMP T-Kernel of T-Kernel. system are available. 2.1 Significant Enhancement of Time Multiprocessor systems can be classified into two Control Functions types: AMP (Asymmetric Multiple Processor) and SMP (Symmetric Multiple Processor). AMP assigns specific A time control function and physical timer control functions to each processor and implements programs function using microsecond unit have been added to on each CPU accordingly. Its merit is the ease of T-Kernel 2.0. utilizing the software resources and know-how of In T-Kernel 1.0, the time of day can be specified in existing single processor. SMP dynamically assigns one millisecond while in T-Kernel 2.0 an API which functions to each processor, achieving good utilization enables the time of day to be specified in one of processor resources. Process allocation is conducted microsecond has been newly added. For example, the by OS so that application program does not need to be use of a cyclic handler that starts at 250 microsecond aware of the number of processors. intervals, and specifying 15 microseconds for the As the embedded systems are diversified, AMP or semaphore timeout are now possible. SMP is selected based on the respective system Internally, the system timer interrupt interval that requirements. conducts cyclic handler startup and wait release on Both AMP T-Kernel (Fig. 5) and SMP T-Kernel (Fig. 6) timeout can now be specified in microseconds. It is are provided by MP T-Kernel to support various natural that overhead will increase accordingly if the systems. system timer interrupt interval becomes shorter; however, a more precise time specification is essential for certain the applications.