Introduction
CurrentActivities toof the ITRON Project

ITRON Supporters' Meeting

Current Activities of the ITRON Project
1–Oct.–1997

Hiroaki Takada(( ITRON
ITRON TechnicalTechnical Committee
Committee // University
University ofof TokyoTokyo ))hiro@is.s.u-tokyo.ac.jp
hiro@is.s.u-tokyo.ac.jp§ TRON is an abbreviation of “The Real-time Operating system Nucleus.”§ ITRON is an abbreviation of “Industrial TRON.”

Hiroaki Takada

ITRON Technical Committee

Introduction to the ITRON Project

What is the ITRON Project?
a project to standardize real-time operating
system and related specifications for embeddedsystems
one of the subproject of the TRON project
A series of the ITRON real-time kernel specifications
have been published and are widely used.
de-facto industry standard in JapanµITRON specifications are designed for small-scale
embedded systems using MCUs with limited
hardware resources.
The ITRON specifications are open in that anyone isfree to implement and sell products based on them.
Hiroaki Takada

ITRON Technical Committee

Introduction to the ITRON Project

Requirements on Standard RTOS Specification
deriving maximum performance from hardware
reducing the cost of final products
improving software productivity
easy training of software engineers
facilitating the reuse of software components
applicable to various scales and types of processors
scalability 8-bit to 32-bit MCUs/MPUs
truly open standard
The ITRON specifications have been designed tomeet these requirements.
Hiroaki Takada

ITRON Technical Committee

Introduction to the ITRON Project

Design Principles of the ITRON Specifications
design concept: loose standardization
maximum performance cannot be obtained withstrict standardization
design principles- allow for adaptation to hardware, avoiding
excessive hardware virtualization- allow for adaptation to the application- emphasize software engineer training ease- organize specification series and divide into levels- provide a wealth of functions

Hiroaki Takada

ITRON Technical Committee

Introduction to the ITRON Project

Functions provided in µITRON specification
Task
MemoryProcessor-dependent
OthersEventflag Semaphore Mailbox
management
pool
functionsOS developer selects functions based on theprocessor and the target applicationsµITRON specification adapted to processor X
Taskmanagement

Semaphore Mailbox

MemoryProcessor-dependent
Otherspool
functionsApplication developer selects suitablefunctions for the applicationµITRON specification adapted to application A
Taskmanagement

Semaphore

OthersProcessor-dependentfunctionsTwo-Step Adaptation in µITRON Specifications
Hiroaki Takada

ITRON Technical Committee

Introduction to the ITRON Project

History of the ITRON Specifications
HFDS support

for 32-bit MPUs
first ITRON
kernel spec.

ITRON2µITRON
3.0

ITRON1for 8-bit and16-bit MCUs

1984

1987

Hiroaki TakadaµITRON
4.0

IMTRONµITRON(ver. 2)ITRON/FILE
1989 1992 1993

softwarecomponents

1998

21st century

ITRON Technical Committee

Introduction to the ITRON Project

Functions Supported in µITRON3.0 Specification
task managementtask-dependent synchronization
basic synchronization and communication( semaphore, eventflag, mailbox )extended synchronization and communication( message buffer, rendezvous )interrupt management
memory pool management
time management
system management( network support )The whole specification can be downloaded fromthe ITRON Home Page.
Hiroaki Takada

ITRON Technical Committee

Introduction to the ITRON Project

Implementation Status! We do not know how many RTOS are

implemented based on the ITRON specifications.

more than 40 registered implementations for about
30 processors
several non-registered commercial implementations
implemented for almost all major processors
8-bit to 32-bit MCUs/MPUs
many in-house implementations
some freely distributed implementations
incl. an implementation by Univ. of Tokyo( for research and educational use )Hiroaki Takada

ITRON Technical Committee

Introduction to the ITRON Project

Implementation Examples
Two µITRON-specification kernels for an MCU
OS typeNo. of system calls
Scheduling
System call interface
Exception management

Single-chip
Task part: 29
Non-task part: 15
Fixed priority
1 task per priority
Subroutine callNone

General-purpose
Task part: 36
Non-task part: 27
Variable priority

Software interrupt
Exit exception,CPU exception
Max. 15
Wakeup request countMax. 255
Max. 255
Semaphore countMax. 65,535
32-bitSystem timer
48-bit0.6–
4.4
KB
Program size
1.9 – 5.3 KB
200 Bytes
Typical RAM use*
640 Bytes
17µS
Task switching time**
32.5µS
Max. interrupt masking time** 9µS
9.5µS* OS work area and various stack areas in the following configuration
tasks: 10, semaphores: 2, eventflags: 2, mailboxes: 2, external interrupts: 2 levels** Clock 16 MHz, using on-chip memory
Hiroaki Takada

ITRON Technical Committee

Introduction to the ITRON Project

Application Statuswidely used for various application areas
most popular RTOS specification in Japan

Application Examples
Application

FAX machine
MCU Type
16-bit
2 KB
RAM size
32 KB
ROM size
Used Memory RAM
1346 Bytes
ROM
28.8 KB
6
No. of Tasks
No. of Interrupt Handlers 6
No. of Used System Calls 12
Kernel Size RAM (ratio)
250 Bytes (19%)
ROM (ratio)
2.5 KB (8.7%)
Hiroaki Takada

CD player
8-bit
512 Bytes
32 KB
384 Bytes
17.8 KB
967146 Bytes (38%)
2.3 KB (13%)

ITRON Technical Committee

Introduction to the ITRON ProjectTypical ITRON-specification Kernel Applications
Audio/Visual Equipment, Home ApplianceTVs, VCRs, digital cameras, settop box, audio components,
microwave ovens, rice cookers, air-conditioners, washing machines, ...

Personal Information Appliance, Entertainment/Education
PDAs (Personal Digital Assistants), personal organizers,
car navigation systems, game gear, electronic musical instruments

PC Peripheral, Office Equipment
printers, scanners, disk drives, CD-ROM drives, copiers, FAX, word
processors, ...

Communication Equipment
answer phones, ISDN telephones, cellular phones, PCS terminals, ATMswitches, broadcasting equipment, wireless systems, satellites, ...

Transportation, Industrial Control, and Others
automobiles, plant control, industrial robots, elevators, vendingmachines, medical equipment, ...
Hiroaki Takada

ITRON Technical Committee

Introduction to the ITRON Project
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%

OS not used

ITRON-spec. OSCTRONRTOS used in Embedded Systems( TRON Association Survey, 1996–1997, in Japan )Hiroaki Takada

ITRON Technical Committee

Current Activities of the ITRON Project

ITRON Project – 2nd Stage
1st stage: real-time kernel specification
2nd stage: related standards for embedded systems
software components (software IP)- infrastructure for the use of software components- standard API for software components
development tools- interface between kernel and development toolseg) language binding, debugger support
application-specific standards- satisfying application-specific requirements
several standardization activities are in progress
Hiroaki Takada

ITRON Technical Committee

Current Activities of the ITRON Project

Necessity of Software Components
Embedded systems is growing large and morecomplex.
eg) digital camera
Some hardware components can be implemented withsoftware.
eg) software modem
voice compression/decompression
JPEG, MPEG
Lack of expertise is the largest problem.
Development from scratch becomes more and moredifficult.
Hiroaki Takada

ITRON Technical Committee

Current Activities of the ITRON Project

Standardization for Software Components(1) promoting the development, circulation,and use of software components(2) standard API for software components inspecific fields
Standard API for Software Components
Standardization should be done for each kind of
software components.
eg) communication protocols (TCP/IP)
file system, MPEG
begun from the most important field

Hiroaki Takada

ITRON Technical Committee

Current Activities of the ITRON Project

Promoting the Use of Software Components
Loose standardization is an obstacle for theportability of sofware components.
The level of standardization is necessary to be raised.
next generation µITRON kernel specification
Software components with hard real-time constraints
should be supported.
eg) software modem, MPEG
coexistence of software components with applications
while satisfying their real-time constraints
enabling use of multiple software components withtheir own real-time needs
Hiroaki Takada

ITRON Technical Committee

Current Activities of the ITRON Project

Next Generation µITRON Kernel Spec.
improving software portability while keeping
the advantage of loose standardization
issue: the tradeoff between performanceand software portability
observation:
larger system ... larger software size
larger processing power (32 or 64-bit)
Software portability is relatively important.
smaller system ... smaller software size
smaller processing power (8 or 16-bit)
Performance is relatively important.

Hiroaki Takada

ITRON Technical Committee

Current Activities of the ITRON Projectsolution:defining some profiles (for larger system)
profile = a standard set of kernel functions
for a specific range of applications
at first ... standard profile
later ... extended profile,profile for vehicle control applications
subsetting is still acceptable (for smaller system)
standard profile:
Application systems in which the whole software islinked to one module are assumed.
Kernel objects (task, semaphore, etc.) are staticallydefined.
Hiroaki Takada

ITRON Technical Committee

Current Activities of the ITRON Project

Next Generation µITRON Kernel (cont.)
hard real-time support (out of the standard profile)- priority inheritance- overrun detection and exception handlingstandard performance metric of the kernel
for hard real-time systems
standard description for kernel configurations
cre_tsk( ...) ... system call (dynamic API) to createtask
CRE_TSK( ...) ... kernel configuration description(static API) to create task
µITRON4.0 real-time kernel specification
expected to be completed in 1998
Hiroaki Takada

ITRON Technical Committee

Current Activities of the ITRON Project

Design Guidelines for Real-Time Applications
two purposes:
guaranteeing real-time constraints of both
software components and application based onreal-time scheduling theoriesRMA (rate monotonic analysis) is adopted.
providing novice system designers a good guidelines
to design a real-time applications
How to devide a system into tasks?
How to assign priorities to tasks?

Hiroaki Takada

ITRON Technical Committee

Current Activities of the ITRON Project

Framwork of the Design Guidelines
application code fragments
grouping code fragments
into tasks/handlers

guidelines for the grouping
software components

extracting parametersof each task

standardized
parameters of tasks

assigning priorities
tuning process

failedschedulability analysis}

based on RMA

succeededapplication software
Hiroaki Takada

ITRON Technical Committee

Current Activities of the ITRON Project

Standard TCP/IP API for Embedded Systems
the first standardization activity in specific fields
TCP/IP protocol stack is one of the mostimportant software components, today.
The socket interface is not suitable for embeddedsystems.
necessity of dynamic memory management
within the protocol stackErrors occured within the protocol stack
is not notified to the appication.
difference of UNIX process model and
ITRON (RTOS) task model
Hiroaki Takada

ITRON Technical Committee

Current Activities of the ITRON Project

TCP/IP API under Discussion (subject to change)
based on the socket interface with following
modifications
UDP:
Received packets are handled with callback.
TCP:
Multiple tasks can wait connections on a port.
“fork” is not necessary!
Application program is allowed to access the windowbuffer directly (faster version of read/write).
One copy may be saved.
Callbacks are used for non-blocking calls.
“select” can be realized with callbacks!
Hiroaki Takada

ITRON Technical Committee

Current Activities of the ITRON Project

How to Implement Multi-threaded Server?
TCP_LISTEN(listen_port, <protocol info.>)passive open

listen_port

TCP_CRE_POR(port);for (;;) {TCP_CRE_POR(port);
tcp_accept(listen_port, port);for (;;) {tcp_accept(listen_port,port);
service routine, here
TCP_CRE_POR(port);
routine, herefor (;;)service{ tcp_disconnect(port);
tcp_accept(listen_port,port);}
tcp_disconnect(port);}
serviceroutine, here
tcp_disconnect(port);}* API names will be harmonized with ITRON kernel specification.
Hiroaki Takada

ITRON Technical Committee

Current Activities of the ITRON Project

Standardization for Automotive Applications
the first application-specific activity
widely used for car navigation systems, alreadySome car makers/suppliers are investigating its
application to engine management systems.
µITRON is still too large to vehicle control.
µITRON profile for vehicle control applications
standard API for software components forautomotive applications- ITRON API for OSEK/VDX COM and NM protocols- angle management, etc.

Hiroaki Takada

ITRON Technical Committee

Current Activities of the ITRON ProjectActivities which will be started shortly
standard C++ language binding for ITRON
standardization for “Java on ITRON”
standard interface between ITRON-specification
kernel and debugging tools- software debuggers- ICE- logic analyzer
Tool support becomes easy!

Hiroaki Takada

ITRON Technical Committee

Current Activities of the ITRON Project

In Conclusion
ITRON Project is an open activity.
We are waiting for your contributions!
ITRON Technical Committee (in TRON Association)
Hard Real-Time Support Study Group
Kernel Specification WG
Application Design Guidelines WG“Java on ITRON” Technical Committee
Embedded TCP/IP Technical Committee
RTOS Automotive Application Technical Committee

Hiroaki TakadaITRON Technical Committee