Μitron 4.0 Specification (Ver. 4.03.00) TEF024-S001-04.03.00/En July 2010 Copyright © 2010 by T-Engine Forum
Total Page:16
File Type:pdf, Size:1020Kb
μITRON 4.0 Specification Ver. 4.03.00 TEF024-S001-04.03.00/en July 2010 μITRON 4.0 Specification (Ver. 4.03.00) TEF024-S001-04.03.00/en July 2010 Copyright © 2010 by T-Engine Forum. This “μITRON 4.0 Specification (Ver. 4.03.00)” was originally released by TRON ASSOCIATION which has been integrated into T-Engine Forum since January 2010. The same specification now has been released by T-Engine Forum as its own specification without modification of the content after going through the IPR procedures. T-Engine Forum owns the copyright of this specification. Permission of T-Engine Forum is necessary for copying, republishing, posting on servers, or redistribution to lists of the contents of this specification. The contents written in this specification may be changed without a prior notice for improvement or other reasons in the future. About this specification, please refer to follows; Publisher T-Engine Forum The 28th Kowa Building 2-20-1 Nishi-gotanda Shinagawa-Ward Tokyo 141-0031 Japan TEL:+81-3-5437-0572 FAX:+81-3-5437-2399 E-mail:[email protected] TEF024-S001-04.03.00/en µITRON4.0 Specification Ver. 4.03.00 Supervised by Ken Sakamura Edited and Published by TRON ASSOCIATION µITRON4.0 Specification (Ver. 4.03.00) The copyright of this specification document belongs to TRON Association. TRON Association grants the permission to copy the whole or a part of this specification document and to redistribute it intact without charge or at cost. However, when a part of this specification document is redistributed, it must clearly state (1) that it is a part of the µITRON4.0 Specification document, (2) which part was taken, and (3) the method to obtain the whole specification document. See Section 6.1 for more information on the conditions for using this specification and this specification document. Any questions regarding this specification and this specification document should be directed to the following: ITRON Specification Study Group, TRON Association Katsuta Building 5F 3-39, Mita 1-chome, Minato-ku, Tokyo 108-0073, JAPAN TEL: +81-3-3454-3191 FAX: +81-3-3454-3224 § TRON is the abbreviation of "The Real-time Operating system Nucleus." § ITRON is the abbreviation of "Industrial TRON." § µITRON is the abbreviation of "Micro Industrial TRON." § BTRON is the abbreviation of "Business TRON." § CTRON is the abbreviation of "Central and Communication TRON." § TRON, ITRON, µITRON, BTRON, CTRON, and T-Kernel do not refer to any specific product or products. Copyright(C)2007 by TRON ASSOCIATION µITRON4.0 Specification Ver. 4.03.00 A Word from the Project Leader Twenty-two years have passed since the ITRON Sub-Project was established as a part of the TRON Project: a real-time operating system specification for embedded systems. In this period, since the T-Engine Project commenced in 2001, activities for the standardization of a leading-edge real-time OS within the TRON Project have moved on to the T-Kernel Series as the next-generation ITRON Specification. However, that the conventional µITRON-specification OS remains the most used OS for embedded systems in Japan is an undeniable fact. This is because the technological advantages of the ITRON Specifications such as real- time response, compactness to maximize the efficiency of system resources, flexible adaptability in specification, and open architecture policy are strongly supported. While this is very pleasing to ITRON's exponents, migration to the T-Kernel is believed to be crucial for supporting the increasingly advanced and complex functions of large-scale embedded systems. From here, we will seek to expand the "TRON Community" formed by the developers and users of both ITRON and the T-Kernel while promoting migration to the T-Kernel. The revisions leading to this version, 4.03, were carried out for this purpose. One objective was to make ease the comprehensibility of parts that were difficult to understand without making large changes to the specification itself. Another objective was to create a mechanism that facilitates migration from µTRON to the T-Kernel. Activities towards the former objective included accommodating users by listing the descriptions on implementation-defined items scattered throughout the specification. A Basic Profile has been introduced specifically for the latter objective. The Basic Profile specifies the service calls that have the same functionality in µITRON3.0, µITRON4.0, and the T-Kernel. Middleware or applications that operate within this profile can be easier to port from µTRON to the T-Kernel. In these ways, the µITRON4.0 Specification Ver. 4.03 is expected to achieve the apparently contradictory goals of further improving the services for current users of µITRON while at the same time providing a good bridge to the T-Kernel. December, 2006 Ken Sakamura Project Leader, TRON Project i µITRON4.0 Specification Ver. 4.03.00 Organization of the Specification Document This document is the specification of the µITRON4.0 (or the µITRON4.0 Real-Time Kernel) C-Language API Specification. The version number of specification is printed on the cover and the top-right of each page. The organization of this document is as follows. In Chapter 1, a summary of the TRON Project and the ITRON Sub-Project and design policies of the ITRON Specifications are introduced. The position of the µITRON4.0 Specification is also described. This chapter describes the background information of the µITRON4.0 Specification and is not the main body of the µITRON4.0 Specification. In Chapter 2, the common rule of the µITRON4.0 Specification and the software components that are standardized to be consistent with the µITRON4.0 Specification is described. In Chapter 3, the various concepts and the common definitions for various features of the µITRON4.0 Specification are shown. In Chapter 4, each feature of the µITRON4.0 Specification is described. In Chapter 5, the additional specifications are described. In Chapter 6, the reference information, such as the maintenance of specification and reference documents, is described. In Chapter 7, the lists and other information that may be helpful in reading this specification is shown. These lists are the contents of Chapter 2 to Chapter 5, as seen from a different point of view. Chapter 6 and Chapter 7 are not the main body of the µITRON4.0 Specification. ii µITRON4.0 Specification Ver. 4.03.00 Description Format of the Specification Document The following description format is used in this specification document. [Standard Profile] The specifications of the Standard Profile of the µITRON4.0 Specification are described here. The scope of functionalities that the Standard Profile requires to support, the rule that is not applied to the Standard Profile but is included in the functional descriptions of the services calls and static APIs which the Standard Profile requires to support, and the rule that is not described in the µITRON4.0 Specification but applied to the Standard Profile are described here. [Supplemental Information] Supplemental explanations of items difficult to understand are described here to avoid misunderstanding. This is not the main body of the µITRON4.0 Specification. [Differences from the µITRON3.0 Specification] The differences of the µITRON4.0 Specification from the µITRON3.0 Specification and their reasons are described here. The major differences and modifications from the µITRON3.0 Specification are mainly described, but not the additions or clarification made in the µITRON4.0 Specification. This is not the main body of the µITRON4.0 Specification. [Rationale] The reasons for the specification decision are described here, when further explanations are necessary. This is not the main body of the µITRON4.0 Specification. The functional descriptions of service calls and static APIs in Chapter 4 use the format described below. The functional description of each service call or static API is started with the following header. API Name API Description Profile "API Name" is a service call or a static API name. "API description" is a simple statement about the functionality of this service call or static API. If [S] is placed at the "Profile" field, the Standard Profile requires support for the service call or static API. [B] stands for the Basic Profile. iii µITRON4.0 Specification Ver. 4.03.00 [Static API] This shows the description format of a static API in the system configuration file. [C Language API] This shows the invocation format of a service call in the C Language. [Parameter] This lists all of the parameters for this service call or static API. It also includes a simple description, the data type, and the name of each parameter. [Return Parameter] This lists all of the return parameters for this service call. It also includes a simple description, the data type, and the name of each return parameter. [Error Code] This lists all of the main error codes that this service call returns. It also includes a simple description of the cause of each error code. However, the main error codes that many service calls may return due to the same cause are not described for each service call (see Section 2.1.6). [Functional Description] This describes the functionality of this service call or static API. Italic characters within the names of service calls and constants represent other characters. For example, cre_yyy (yyy are italic characters) can be cre_tsk, cre_sem, cre_flg, and so on. For some parameters, such as object attributes or service call operational modes where specific values are chosen, the following format is used: [x] x may or may not be specified x | y Bitwise OR expression x || y Logical OR expression For example, ((TA_HLNG || TA_ASM) | [TA_ACT]) can take one of the following four values. TA_HLNG TA_ASM (TA_HLNG | TA_ACT) (TA_ASM | TA_ACT) iv µITRON4.0 Specification Ver.