T-Kernel 2.0 Specification

T-Kernel Specification Version 2.00.03

Copyright © 2011-2013 by T-Engine Forum

You should not transcribe the content, duplicate a part of this specification, etc. without the consent of T-Engine Forum.

For improvement, etc., information in this specification is subject to change without notice.

For information about this specification, please contact the following:

          T-Engine Forum Secretariat
          In YRP Ubiquitous Networking Laboratory
          28th Kowa Building, 2-20-1 Nishi-gotanda
  Japan 141-0031
          TEL: +81-(0)-3-5437-0572
          FAX: +81-(0)-3-5437-2399

Table of Contents
API Notation
API Name - Description
Index of T-Kernel/OS System Calls
Index of T-Kernel/SM Extended SVC and Libraries
Index of T-Kernel/DS System Calls
T-Kernel Overview
Position of T-Kernel
T-Kernel 2.0 Overview
T-Kernel Concepts
Meaning of Basic Terminology
Task States and Scheduling Rules
Interrupt Handling
Task Exception Handling
System States
Common Rules of T-Kernel
Data Types
System Calls
High-Level Language Support Routines
T-Kernel/OS Functions
Task Management Functions
Task Synchronization Functions
Task Exception Handling Functions
Synchronization and Communication Functions
Extended Synchronization and Communication Functions
Memory Pool Management Functions
Time Management Functions
Interrupt Management Functions
System Management Functions
Subsystem Management Functions
T-Kernel/SM Functions
System Memory Management Functions
Address Space Management Functions
Device Management Functions
Interrupt Management Functions
I/O Port Access Support Functions
Power Management Functions
System Configuration Information Management Functions
Memory Cache Control Functions
Physical Timer Functions
Utility Functions
Subsystem and Device Driver Starting
T-Kernel/DS Functions
Kernel Internal State Acquisition Functions
Trace Functions
Specification Related to Device Drivers to be Used as Reference
List of C Language Interface
List of Error Codes
List of Tables
1. State Transitions Distinguishing Invoking Task and Other Tasks
1. Target Task State and Execution Result (tk_ter_tsk)
2. Values of tskwait and wid
3. Target Task State and Execution Result (tk_rel_wai)
1. Whether Concurrent Open of Same Device is Allowed or NOT
List of Figures
1. Positioning for T-Kernel
1. Task State Transition Diagram
2. Precedence in Initial State
3. Precedence After Task B Goes To RUNNING State
4. Precedence After Task B Goes To WAITING State
5. Precedence After Task B WAITING State Is Released
6. Classification of System States
7. Interrupt Nesting and Delayed Dispatching
8. Address Space
1. Behavior of High-Level Language Support Routine
1. Multiple Tasks Waiting for One Event Flag
2. Format of Messages Using a Mailbox
3. Synchronous Communication by Message Buffer
4. Synchronous Communication Using Message Buffer of bufsz = 0
5. Rendezvous operation between a client task and server task
6. Rendezvous Operation
7. Sample Ada-like Program Using select Statement
8. Using Rendezvous to Implement Ada select Function
9. Server Task Operation Using tk_fwd_por
10. Precedence Before Issuing tk_rot_rdq
11. Precedence After Issuing tk_rot_rdq (tskpri = 2)
12. maker Format
13. prid Format
14. spver Format
15. T-Kernel Subsystems
16. Dependency and Priority of Subsystems
17. Subsystems and Resource Groups
1. Device Management Functions
List of Examples
1. Example of Using Parameters Notation
1. Example of API for 64-bit microseconds
2. Example of API with 64-bit Parameters
1. Description Example of CONST
2. Example of Enabling const
1. Example of Device Name
2. Example of Device ID
3. Example of Device-specific Data
4. Sample Usage of isDI
5. Example of Format of System Configuration Information
6. Example of Storage Order of More than One Numeric Value
7. Sample Usage of SetOBJNAME
1. tk_wai_sem(ID semid, INT cnt, TMO tmout)