Recent Activities of the ITRON Project

ITRON Internatinal Meeting '99

Recent Activities of the ITRON Project229t
9thh S
Seepp.. 11999999
H
Hiirrooaakkii TTaakkaaddaa
IITTRROONNC
Coommmmiitttteeee,, TTR
ROONNA
Assssoocciiaattiioonn
TTooyyoohhaasshhii U
Unniivv.. ooff TTeecchhnnoollooggyy

ITRON Project Home Page
http://www.itron.gr.jp/
Hiroaki Takada

Recent Activities of the ITRON Project

IITTR
ROONNP
Prroojjeecctt –– 22nndd PPhhaasseea project to standardize RTOS and related
specifications for embedded systems
1st Phase (1984– )
focused on real-time kernel specifications
2nd Phase (1996– )
broaden the scope of the standardization effort
to related aspects
software components (software IP)
development environments
application-specific standards
Several standardization activities are in progress.
Hiroaki Takada

Recent Activities of the ITRON Project

2nd Phase Activities
Preconditions for software componentsµITRON4.0 Specification released in June. 1999
Conformance Testing Method near future
Application Design Guidelines
Standard API for software components
ITRON TCP/IP API Specification released in May 1998
JTRON2.0 Specification released in Oct. 1998
Device Driver Design Guidelines current
Development environmentsµITRON4.0 Debugging Interface Specification current
C++/EC++ Language Binding near future
Application-specific standards
reflected to µITRON4.0
RTOS for Automotive Control Application
Hiroaki Takada

Recent Activities of the ITRON ProjectµIµITTRROON
N44..00 –– W
Whhaatt aanndd W
Whhyy??
µITRON4.0 is the next generation µITRON
real-time kernel specification.
Why it is necessary?
raising software portability
Our “loose standardization” policy often
condradicts with software portability.
functions for independently-developped software
componentsincorporating the results of our recent investigations
hard real-time system supports
requirements for automotive control applications
following the advancement of microprocessor
technology
Hiroaki Takada

Recent Activities of the ITRON ProjectP
Poorrttaabbiilliittyy vvss.. AAddaappttaabbiilliittyy
Software portability can be raised if we
define the kernel functions more strictly.
Adaptability (incl. scalability) is the most important
advantage of µITRON, and we should keep it.
standard profile
the set of kernel functions strictly defined for
raising software portabilityµITRON4.0— loose standardization
standard profile — strict standardiation
Subsetting is still acceptable for small systems.
Extended functions are also defined.
Hiroaki Takada

Recent Activities of the ITRON Project

S
Sttaannddaarrdd P
Prrooffiillee –– O
Ovveerrvviieew
w
Target Systemtarget processor: high-end 16bit to 32bit
kernel size: 10KB to 20KB with all functions
The whole software is linked to one module.
Kernel objects are statically defined.
Function Overview
including almost all level S functions of µITRON3.0
incorporating some level E functions of µITRON3.0
some newly introduced functions
some modifications and more strict definitions
based on µITRON3.0

Hiroaki Takada

Recent Activities of the ITRON ProjectS
Sttaannddaarrdd P
Prrooffiillee –– FFuunnccttiioonn OOvveerrvviieeww ((11))
Level S of µITRON3.0
basic task management and synchronizations
semaphore, eventflag, mailbox
interrupt management, basic time management
From Level E of µITRON3.0
fixed-sized memory pool, cyclic handler
service calls with timeout
Major Modifications / More Strict Definitions
act_tsk with queueing instead of sta_tsk
some terminologies and service call names
how to write an interrupt handler in C language
service calls used in an interrupt handler
Hiroaki Takada

Recent Activities of the ITRON ProjectS
Sttaannddaarrdd P
Prrooffiillee –– FFuunnccttiioonn O
Ovveerrvviieeww ((22))
Newly Introduced Functions
data queue (queue for one word messages)
exception handling mechanism
task exception routine, CPU exception handler
system state reference
can_act, isig_tim
Static API
Standard description (in a system configurationfile) for defining kernel objects statically.
cre_tsk(...)— service call for creating a task
CRE_TSK(...) — static API for creating a task
common parameters
Hiroaki Takada

Recent Activities of the ITRON ProjectB
Brrooaaddeerr S
Sccaallaabbiilliittyy
New Functions not Included in µITRON3.0
data queue
extendedtask exception handlinglevel Esystem state reference
standard
interrupt service routine
level S
hard real-time support
automotive
automatic ID assignment
controllevel R
Automotive Control ProfileµITRON3.0
minimuma smaller profile definitionµITRON4.0
especiall suitable for automotive control applications
Minimum Requirements
Dormant state instead of waiting state is mandatory.
Hiroaki Takada

Recent Activities of the ITRON Project

FFuunnccttiioonnss SSuuppppoorrtteedd iinn µIµITTRRO
ONN44..00 SSppeecciiffiiccaattiioonn
task managementtask-dependent synchronization
task exception management
basic synchronization and communication( semaphore, eventflag, data queue, mailbox )extended synchronization and communication( mutex, message buffer, rendezvous )memory pool management( fixed-sized, variable-sized )time management( cyclic handler, alarm handler, overrun handler )system state management
interrupt management
service call management
system configuration management
Hiroaki Takada

Recent Activities of the ITRON ProjectDebugging Interface Specification! Currently, each debugging tool (debugger, ICE,etc.) must support each µITRON-specification
kernel separately.

With standardized interface between µITRONspecification kernels and debugging tools, µITRON
support becomes easy.
Scope of the Specification
the interace between µITRON-specification kernels
and the RTOS-support functions of debugging tools
kernel object state referencetask-aware breakpoint and steppingkernel traceetc.
Hiroaki Takada

Recent Activities of the ITRON Project

Goal
Run-time overhead should be minimal.
Most part of the specification should be common todifferent kind of debugging tools (debugger, ICE).
The basic concept/architecture should be applicableto other RTOS and software components.
HostArchitecture
Targetdebugging environment

user

RTOS access interface
Hiroaki Takada

target access interface
RTOS interface module (RIM)

Recent Activities of the ITRON Project

ScheduleµITRON4.0 Specification
Ver. 4.00.00 released in June 1999
now translating into English (takes about a half year)µITRON4.0 Debugging Interface Specification
Prelimimary “request for comment” version will be
released soon. The validation stage will follow.
proposing the joint work with the OSEK/VDX Project
ITRON TCP/IP API Specification
Ver. 1.00.01 released in May 1998
Preliminary English version is now ready.
JTRON2.0 Specification
Ver. 2.00.00 released in Oct. 1998
English version has been just released.
Hiroaki Takada

Recent Activities of the ITRON Project

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 andITRON (or real-time kernel) task modelStandard TCP/IP API suitable for embedded system isrequired.
ITRON TCP/IP API Specification
Hiroaki Takada

Recent Activities of the ITRON Projectapproach: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 UDP
packets.
etc.
Hiroaki Takada

Recent Activities of the ITRON Project

JTRON Specificationa practical approach for applying Java
technology to embedded real-time systems
implementing Java runtime environment on realtime OS
taking 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

Recent Activities of the ITRON Project

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

Recent Activities of the ITRON Project

Other Recent 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
hierarchical model of DIC (device interface component)
design guidelines for the portability of DIC

debugging interface of real-time kernel
standard interface between ITRON-specification kerneland debugging tools, including software debuggers,
ICE, and logic analyzer
Hiroaki Takada