t-engine: an open platform for real-time embedded system...
TRANSCRIPT
TT--Engine: An Open Engine: An Open Platform for RealPlatform for Real--Time Time Embedded System DesignEmbedded System Design
Shinsuke Kobayashi
University of Tokyo
YRP Ubiquitous Networking Lab.
ShinsukeShinsuke KobayashiKobayashi
University of TokyoUniversity of Tokyo
YRP Ubiquitous Networking Lab.YRP Ubiquitous Networking Lab.
2
Embedded SystemEmbedded System
■■ Increasing complexity of applicationIncreasing complexity of application
Growing software size is a problem.Growing software size is a problem.
■■HIGH design cost while a SHORT life cycleHIGH design cost while a SHORT life cycle
Improvement of design cost is required.Improvement of design cost is required.
3
Concept of TConcept of T--EngineEngine
■■Common design platformCommon design platformThe common platform does not exist in embedded system The common platform does not exist in embedded system design.design.
■■Platform based designPlatform based designThe cost of design can be improved by using the common The cost of design can be improved by using the common platform.platform.
Distribution of software on the platform to reduce the cost of Distribution of software on the platform to reduce the cost of software development. software development.
4
Technology GoalTechnology Goal
■■ Improvement of the following factors Improvement of the following factors in embedded system design by the in embedded system design by the standardization of architecture and OSstandardization of architecture and OSReusabilityReusability
ProductivityProductivity
MaintainabilityMaintainability
““Distribution of middlewareDistribution of middleware””
■■ Realization of interoperability by Realization of interoperability by using HW/SW design platformusing HW/SW design platform
TT--EngineEngine
6
TT--EngineEngine
■■Open standardOpen standardOpen license for embedded systemsOpen license for embedded systems
■■CommercialCommercial--OffOff--TheThe--Shelf (COTS) Shelf (COTS) Cost effectiveCost effective
■■ChipChip--free architecturefree architectureSoftware is isolated from hardware implementation by the Software is isolated from hardware implementation by the layer structure architecture.layer structure architecture.
7
TT--Engine SeriesEngine Series
■■Development platform for embedded Development platform for embedded systemsystemStandard TStandard T--EngineEngine
μμTT--Engine (micro)Engine (micro)
■■Execution platform for ubiquitous Execution platform for ubiquitous computingcomputingnTnT--Engine (Engine (nanonano))
pTpT--Engine (Engine (picopico))
8
TT--Engine LineupEngine Lineup
TT--EngineEngine μμTT--EngineEngine nTnT--EngineEngine pTpT--EngineEngine
9
TT--Engine Software ArchitectureEngine Software Architecture
WindowsWindowsCE .NETCE .NET
Microsoft.Microsoft.
TT--InteIntegratorgratorNexWaveNexWave
TT--BusBus
TT--KernelKernelEnterpriseEnterprise--ExtensionExtension
TT--KernelKernelTinyTiny--ExtensionExtension
TT--EngineEngineμμTT--EngineEngine
TT--MonitorMonitor
TT--KernelKernel
TT--KernelKernelStandardStandard--ExtensionExtension
TT--WirelessWirelessNTT NTT DoCoMoDoCoMo
TT--JavaJavaSun, Sun, AplixAplix, ..., ...
10
TT--Engine BoardsEngine Boards(1)(1)
2002/12
8MB
32MB
72MHz
ARM720T (ARM)
Standard T-Engine
Yokogawa Digital
Computer Corporation
y101
2003/062002/112002/112002/092002/07Release Time
16MB16MB16MB4MB8MBFlash
64MB32MB64MB16MB32MBRAM
266MHz200MHz400MHz216MHz96MHzClock
MB93403 (FR-V)
VR4131-200 (MIPS)
VR5500-400 (MIPS)
M32104 (M32R)
SH7727 (SH3-DSP)CPU
μT-EngineμT-EngineStandard T-EngineμT-EngineStandard
T-EngineSpecification
FUJITSU LIMITED & Yokogawa
Digital Computer
Corporation
NEC Corporation
NEC Corporation
RenesasTechnology
Corp.
RenesasTechnology
Corp. &Hitachi ULSI Systems Co.
Ltd.
Vendor
f301n301Mn101d301h101Model
11
TT--Engine BoardsEngine Boards(2)(2)
2004/5E
16MB
128MB(SDRAM)
400MHz
TX4956 (MIPS4)
Standard T-Engine
TOSHIBACORPORATIO
N
t101
TBDTBD2003/05E2004/04ERelease Time
TBD1MB8MB16MBFlash
TBD1MB(SRAM)
64MB(SDRAM)
64MB (SDRAM)RAM
TBD50MHz240MHz200MHzClock
ML7101 (ARM9 core)
(OKI)SH7145 (SH2)SH7751R
(SH4)
MC9328MX1 (ARM9 core) (Motorolla)
CPU
Standard T-EngineμT-EngineStandard T-
EngineStandard T-
EngineSpecification
Yokogawa Digital Computer
Corporation
RenesasTechnology Corp.
&Hitachi ULSI Systems Co. Ltd.
RenesasTechnology Corp.
&Hitachi ULSI Systems Co. Ltd.
Yokogawa Digital Computer
CorporationVendor
y103h301h102y102Model
TT--KernelKernel
13
TT--KernelKernel
■■RealReal--time OS for embedded systemstime OS for embedded systems
■■Open standardOpen standardThe infrastructure for embedded system designThe infrastructure for embedded system design
■■Not only specification but also source Not only specification but also source codecodeDistribution of software by TDistribution of software by T--Engine ForumEngine Forum
14
Objects of TObjects of T--KernelKernel
■■TaskTask
■■Synchronization, CommunicationSynchronization, Communication
Semaphore, Event flag, and MailboxSemaphore, Event flag, and Mailbox
■■Extended synchronization, CommunicationExtended synchronization, Communication
MutexMutex, Message buffer, and Rendezvous port, Message buffer, and Rendezvous port
■■Memory pool managerMemory pool manager
Fixed/Variable size memory poolFixed/Variable size memory pool
■■Time managerTime manager
Cyclic handler, and Alarm handlerCyclic handler, and Alarm handler
15
RealReal--timetime
■■RealReal--timetimeThe time constraints to execute tasks are kept.The time constraints to execute tasks are kept.
■■RealReal--time applicationtime applicationRealReal--time execution required.time execution required.
Ex. Engine control, Attitude control Ex. Engine control, Attitude control ……
■■RealReal--time OStime OSThe function to keep realThe function to keep real--time executiontime execution
High speed context switching and task switchingHigh speed context switching and task switching
PriorityPriority--based schedulingbased scheduling
16
PriorityPriority--Based Scheduling vs. Round Based Scheduling vs. Round Robin SchedulingRobin Scheduling
EventEvent
Task 1Task 1
Task 2Task 2
Task 3Task 3
Round RobinRound Robin
PriorityPriority--BasedBasedDelayDelay
Task 1Task 1
Task 2Task 2
Task 3Task 3
EventEventPriority orderPriority order No DelayNo Delay
UnixUnix--based OSbased OS
(Linux, BSD (Linux, BSD ……))
TT--KernelKernel
17
Why Can TWhy Can T--Kernel Be Used In Critical Kernel Be Used In Critical Applications?Applications?
■■High performance of realHigh performance of real--time executiontime execution
Several microSeveral micro--seconds for context switchingseconds for context switching
■■High reliability of source codeHigh reliability of source code
■■Safe intellectual property Safe intellectual property The otherThe other’’s (dangerous) codes are not included.s (dangerous) codes are not included.
■■Open multiOpen multi--vendorvendor
Independent from a particular vendorIndependent from a particular vendor
■■CommunityCommunity
Many engineers, and education programsMany engineers, and education programs
Design Reuse FrameworkDesign Reuse Framework
19
Design Method Using TDesign Method Using T--EngineEngine
■■Rapid prototypingRapid prototypingTT--Engine can be used as a prototype board.Engine can be used as a prototype board.
A target system can be evaluated by designer in early phase A target system can be evaluated by designer in early phase of design.of design.
■■Design reuseDesign reuseA lot of middleware is provided by TA lot of middleware is provided by T--Engine platform.Engine platform.
The cost of design and test is reduced by the design reuse.The cost of design and test is reduced by the design reuse.
20
Middleware DistributionMiddleware Distribution
■■ Middleware distribution frameworkMiddleware distribution framework
Device drivers can be easily designed due to that hardware, and Device drivers can be easily designed due to that hardware, and especially interfaces are standardized.especially interfaces are standardized.
Porting is easy because each TPorting is easy because each T--Engine has the same interfaces.Engine has the same interfaces.
Hitachi h101 Hitachi h101 (SH)(SH)
NEC n101 NEC n101 (MIPS)(MIPS)
YDC y101 YDC y101 (ARM)(ARM)
21
Software Design ReuseSoftware Design Reuse
■■Common platform for embedded Common platform for embedded software reusesoftware reuse
■■The productivity of design can be The productivity of design can be improved by reusing software designimproved by reusing software design
Software ASoftware A
Software BSoftware BSoftware CSoftware C
Software DSoftware D
Software ESoftware ET-Engine
Open Real Time Platform
T-EngineOpen Real Time Platform
22
Middleware ExamplesMiddleware Examples::Ported ExtensionsPorted Extensions
■■TT--Wireless Wireless ((NTT NTT DoCoMoDoCoMo, Inc., Inc.))
3G Mobile Communication Middleware that works on T3G Mobile Communication Middleware that works on T--KernelKernel
■■TT--Java Java ((Sun Microsystems Inc, Sun Microsystems Inc, AplixAplixCorporationCorporation))
Java Execution Environment for TJava Execution Environment for T--KernelKernel
■■TT--Integrator Integrator ((NexWaveNexWave SolutionSolution))
Middleware for Consumer Electronics by Middleware for Consumer Electronics by NexWaveNexWave
■■Windows CE .NET Windows CE .NET ((Microsoft CorporationMicrosoft Corporation))
Windows CE .NET for TWindows CE .NET for T--KernelKernel
23
ConclusionConclusion
■■TT--EngineEngineOpen standard platform for embedded system designOpen standard platform for embedded system design
■■TT--KernelKernelWellWell--defined realdefined real--time OS for embedded systemtime OS for embedded system
High performance of realHigh performance of real--time executiontime execution
24
TT--Engine ForumEngine Forum
TT--Engine ForumEngine Forum
http://www.thttp://www.t--engine.orgengine.org