The ITRON Project: Overview and Recent Results

RTCSA'98

T
Thhee IITTRROONNP
Prroojjeecctt :: OOveerrvvieew
w aannddR
Reecceenntt RReessu
ullttss
2288tthh O
Occtt.. 11999988
H
Hiirrooaakkii TTaakkaaddaa
D
Deepptt.. ooff IInnffoorrm
maattiioonn aanndd C
Coommppuutteerr S
Scciieenncceess
TTooyyoohhaasshhii U
Unniivv.. ooff TTeecchhnnoollooggyyYYuukkiikkaazzuu NNaakkaam
moottooK
Kiiiicchhiirroo TTaammaarruu

NNE
EC
CC
Coorrppoorraattiioonn

TTOOSSHHIIBBAACCoorrppoorraattiioonn

Hiroaki Takada

The ITRON Project: Overview and Recent Results

ITRON Project
one of the subprojects of the TRON Projecta project to standardize real-time operating system
and related specifications for embedded systems(esp. small-scale embedded systems)

a joint project of industry and academia(non-government !)core members:
Fujitsu, Hitachi, Mitsubishi Electric,NEC, Toshiba, Oki Electric Industry,
Univ. of Tokyo, Toyohashi Univ. of Technology

open specification policy
2nd phase started recently
1st phase (1984 –)2nd phase (1996 –)Hiroaki Takada

The ITRON Project: Overview and Recent Results

ITRON Project – 1st Phase
focused on real-time kernel specifications
Only kernel functions are necessary formany small-scale embedded systems.
for 32-bit MPUs
first ITRONkernel spec.

enha

ilitybalacnced s

HFDS support

ITRON2ITRON1µITRON
3.0µITRON
4.0

1st phase

2nd phase

IMTRONµITRON(ver. 2)for 8-bit and16-bit MCUs
1984

1987

Hiroaki Takada

1989 1992 1993 1996

1998

21st century

The ITRON Project: Overview and Recent Results

Requirements on Standard RTOS Specification
deriving maximum performance from hardwarereducing 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

The ITRON Project: Overview and Recent Results

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

The ITRON Project: Overview and Recent Results

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
no I/O management functionsref) K. Sakamura Ed., “µITRON3.0: An Open and Portable Real-Time Operating System for Embedded Systems”, IEEE CSPress, 1997.
Hiroaki Takada

The ITRON Project: Overview and Recent Results

Implementation Status! We do not know how many kernels are
implemented based on the ITRON specifications.
about 45 registered implementations for about 35
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
recently announced producteCos : a free real-time kernel conformant to µITRON
specification by Cygus Solutions
Hiroaki Takada

The ITRON Project: Overview and Recent Results

Implementation Examples
Two µITRON-specification kernels implemented
for a 16-bit 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 call
None

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-bit
0.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

Hiroaki Takada

The ITRON Project: Overview and Recent Results

Typical 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, wordprocessors, ...

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

The ITRON Project: Overview and Recent Results

Application Statuswidely used for various application fields
de-facto real-time kernel standard in Japan

Application Examples
two application examples to small-scale systems
Application

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

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

The ITRON Project: Overview and Recent Results

Real-Time OS Used in Embedded Systems
OS not used because
it is unnecessary
21.3%
OS not used becauseof some problems

In-house original OS

3.7%

17.6%

Other Commercial OS
Accelerated Technology

Commercial ITRONspecification OS
16.4%

12.3%

In-house ITRONspecification OS

Windows
DOS and compatibles
Wind Rivers
Integrated Systems (ISI)
CTRON-specification OS
Microware Systems

Real-Time OS used in Embedded Systems( TRON Association Survey, 1997–1998, in Japan )Hiroaki Takada

100%
90%
80%
70%
60%
50%
40%
30%
20%
10%0%

Hiroaki Takada
inCTRONEntertainment,education
PC peripheral,
office equipment
Industrialcontrol, FA
Medicalequipment
O ther commercialequipment
Other measuring
instrument
TransportationrelatedHome appliance

Audio/visualequipment
Electricequipment
Communication(network)

Other

Personal inform ation
appliance
Communication(terminal)

The ITRON Project: Overview and Recent Results

OS not usednaorigi
es-houl OS

other commercial OS

ITRON-specification OS

Real-Time OS Usage vs. Application Fields

The ITRON Project: Overview and Recent Results
100%

100%

90%

90%

80%

80%

70%

70%

60%

60%

50%

50%

40%

40%30%

30%

20%

20%

10%

10%0%0%

4bit

8bit

16bit

32bit

OS Usage vs. CPU Type

< 64KB

64KB 256KB< 256KB < 1MB

OS Usage vs. Program Size

(TRON Association Survey, 1997-1998, Japan)
Hiroaki Takada

1MBThe ITRON Project: Overview and Recent Results

ITRON Project – 2nd Phase
broaden the scope of the standardization torelated aspects listed below
software components (software IP)- satisfying the preconditions for promoting the development and circulation of software components- standard API for software components
development environments- interface between real-time kernel and development environmentseg) language binding, debugging support
application-specific standards- satisfying application-specific requirements
several standardization activities are in progress
Hiroaki Takada

The ITRON Project: Overview and Recent Results

Importance of Software Components
Embedded systems is growing larger and morecomplex.
eg) digital camera
automotive applications

Some hardware components can now be implementedwith software.
eg) software modem
voice compression/decompression
JPEG, MPEG

Development of a system from scratch becomes moreand more difficult.
Lack of expertise is a serious problem.

Hiroaki Takada

The ITRON Project: Overview and Recent Results

Standardization for Software Components(1) satisfying the preconditions for the circulation
and use of software components(2) standard interface for software components inspecific fields
Standard Interface for Software Components
Standardization should be done for each kind ofsoftware components.
eg) communication protocols (such as TCP/IP),
file system, MPEG, ....

started from most important fields
ITRON TCP/IP API Specification
JTRON Specification (Java on ITRON)
Hiroaki Takada

The ITRON Project: Overview and Recent Results

Preconditions for the Circulation and Use! “Loose standardization” policy is an obstacle
for the portability of software components.
The standardization level should 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 with
their own real-time constraints
application design guidelines for R-T systems
Hiroaki Takada

The ITRON Project: Overview and Recent ResultsµITRON4.0: next generation µ ITRON kernel Spec.
issue:
improving software portability while keeping
the advantage of “loose standardization”
standard profile:the set of kernel functions
extendedstrictly defined for raisinglevel Esoftware portability
standard
extended functions:level S
optional features
vehiclesubsetting:controlvehicle control profile
level R
µITRON3.0
real-time kernel specification
minimumµITRON4.0
without wait state
Hiroaki Takada

The ITRON Project: Overview and Recent Results

Application Design Guidelines
a framework to satisfy the real-time constraintsof software components
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
succeededapplication software

Hiroaki Takada}based on RMA

The ITRON Project: Overview and Recent Results

ITRON TCP/IP API Specification
TCP/IP protocol stack is one of the mostimportant software components, today.
The socket interface is not suitable for (esp. smallscale) embedded systems.
necessity of dynamic memory management within
the protocol stackErrors occurred within the protocol stack is
not notified to the application.

difference between UNIX process model and
ITRON (or real-time kernel) task modelStandard TCP/IP API suitable for embedded system isrequired.
ITRON TCP/IP API Specification
Hiroaki Takada

The ITRON Project: Overview and Recent Results

approach:based on the socket interface
The socket interface can be implemented
as a library on the new API.
differences with the socket interface:
TCP API and UDP API are separately defined.
“End point” abstraction is adopted instead of“socket” abstraction. TCP end point for waiting forconnection requests and TCP connection end point
are handled as different objects.
TCP APIs for reducing data copies are also defined.
Non-blocking calls and callbacks are supported.
The callback routine is used for receiving UDPpackets.
etc.
Hiroaki Takada

The ITRON Project: Overview and Recent Results

JTRON Specificationa practical approach for applying Java
technology to embedded real-time systems
implementing Java runtime environment on realtime OStaking the advantages of both environment
modules requiring real-time property... implemented on real-time OS
downloadable module, GUI... implemented on Java runtime environment

Communication interface between real-time tasks andJava applications should be standardized.
JTRON Specification
Hiroaki Takada

The ITRON Project: Overview and Recent Results

three types of communication interfaces:
Type 1: attach classes
Java applications can access real-time OS
resources through attach classes.
Type 2: shared object
Real-time tasks can access shared objects
exported from the Java application.
explicit locking/unlocking mechanism
Java application must explicitly call theunshare method on the object.
Type 3: stream interface
Real-time tasks and Java applications cancommunicate through stream interface.
Hiroaki Takada

The ITRON Project: Overview and Recent Results

Other Activities
standardization activities targeted forautomotive control applications

finished

the first application-specific activity

Requiremens on real-time kernel in automotive
control applications have been clarified.
reflected to µITRON4.0
device driver design guidelines
current
hierarchical model of DIC (device interface component)

debugging interface of real-time kernel

futurestandard interface between ITRON-specification kerneland debugging tools, including software debuggers,
ICE, and logic analyzerC++ (incl. EC++) language binding
Hiroaki Takadafuture

The ITRON Project: Overview and Recent Results

SummaryµITRON real-time kernel is a de-facto industry
standard in Japan.
several 2nd phase activities
ITRON TCP/IP API Specification
JTRON2.0 SpecificationµITRON4.0 Real-Time Kernel Specification etc.
continue the effort to meet industry's needs
ITRON Project is an open activity and is waiting
for your contributions.
ITRON Home Page
http://www.itron.gr.jp/
Hiroaki Takada