t-engine: an open platform for real-time embedded system...

24
T T - - Engine: An Open Engine: An Open Platform for Real Platform for Real - - Time Time Embedded System Design Embedded System Design Shinsuke Kobayashi University of Tokyo YRP Ubiquitous Networking Lab. Shinsuke Shinsuke Kobayashi Kobayashi University of Tokyo University of Tokyo YRP Ubiquitous Networking Lab. YRP Ubiquitous Networking Lab.

Upload: others

Post on 14-Sep-2019

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

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.

Page 2: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

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.

Page 3: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

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.

Page 4: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

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

Page 5: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

TT--EngineEngine

Page 6: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

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.

Page 7: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

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))

Page 8: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

8

TT--Engine LineupEngine Lineup

TT--EngineEngine μμTT--EngineEngine nTnT--EngineEngine pTpT--EngineEngine

Page 9: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

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

Page 10: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

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

Page 11: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

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

Page 12: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

TT--KernelKernel

Page 13: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

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

Page 14: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

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

Page 15: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

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

Page 16: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

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

Page 17: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

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

Page 18: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

Design Reuse FrameworkDesign Reuse Framework

Page 19: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

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.

Page 20: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

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)

Page 21: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

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

Page 22: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

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

Page 23: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

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

Page 24: T-Engine: An Open Platform for Real-Time Embedded System ...spacewire.esa.int/WG/SpaceWire/SpW-SnP-WG-Mtg5-Proceedings... · 2 Embedded System Increasing complexity of application

24

TT--Engine ForumEngine Forum

TT--Engine ForumEngine Forum

http://www.thttp://www.t--engine.orgengine.org