嵌入式系统开发的课题
和TOPPERS技术TOPPERS技术高田広章（TAKADA HIROAKI）
名古屋大学教授
嵌入式系统研究中心主任
非营利法人TOPPERS协会会长
hiro@ertl.jp
http://www.toppers.jp/cn/
2010.11.9
Copyright © 2010 TOPPERS Project

自己介绍

本职工作
– 名古屋大学 研究生院信息科学研究科 信息系统学专业／附属嵌入式系统研究中心 主任

教授

其他主要职务
– TOPPERS协会会长– 宇宙航空研究开发机构（JAXA）客座教授– 车载嵌入式系统Forum（ASIF）会长
– 信息处理学会 嵌入式系统研究会 首任主查

研究领域
– （嵌入式系统的）实时操作系统
– 实时性解析和调度理论– 系统层级设计（软件/硬件协同设计）– 节能优化技术– 车载嵌入式系统和车载网络Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.2讲演的内容嵌入式系统开发的课题和方向– 嵌入式系统的多样性和技术的分化– 嵌入式系统/软件开发的课题– 嵌入式系统的开发效率及质量保证• 提升设计的抽象度• 促进设计资产的重用• 构建并应用面向不同应用领域的平台及平台的共通化– 今后嵌入式系统的演化

TOPPERS技术
– TOPPERS是什么？TOPPERS的目标– 主要成果、主要应用事例、TOPPERS版权
– 正在进行的软件开发、新一代TOPPERS内核– TECS（TOPPERS嵌入式组件系统：TOPPERS Embedded
Component System）

Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.3嵌入式系统开发的课题和方向

Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.4嵌入式系统开发的环境变化

嵌入式系统的大规模化和复杂化– 机器的复杂化/数字化/网络化
– 控制要素里信息处理要素的渗透– 计算机控制带来的高功能化/高附加价值化嵌入式系统的应用领域的扩大– 计算机的小型化/低价格化带来的应用领域的扩大开发时间的缩短以及低成本化– 产品早期投入市场对利润的影响– 世界是平的⇒低成本的要求⇒QCD（质量、成本、交货期）的三要素同时满足的困难（单一的）处理器的高速化瓶颈
– 消耗电能（＝发热量）成为最大的制约条件Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.5嵌入式系统的多样性和技术的分化

嵌入式系统的多样性– 嵌入式系统从系统规模、性质等多个侧面变得非常多样电饭锅的控制～核电控制～手机嵌入式系统/软件技术的分化– 嵌入式系统/软件技术至少在下面三个领域有非常大的不同• 控制类嵌入式系统
• 信息类嵌入式系统
• SoC（专用硬件）的嵌入式软件

– 但是，某一种机械/机器中，往往融合了许多不同领域的嵌入式系统/软件技术

Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.6嵌入式系统/软件开发的课题
嵌入式系统 软件开发的课题设计质量的保证和提高– 系统的大规模化带来的dependability（可靠性、安全性<Safety>、信息安全<Security>、…）的困难开发的效率提升– 系统的复杂化和质量要求所带来的开发效率的降低

其他的主要课题
– 新的硬件技术（如：多核）– 超出以前的可靠性、安全性的要求– 低耗能化– 信息安全

在此背景下的深刻的问题嵌入式系统技术人才的不足

Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.7

嵌入式系统的开发效率和质量的提升

为满足QCD（质量、成本、交货期）的嵌入式系统/软件开发的措施（互相关联）
提高设计的抽象度– 使用较少的代码数来描述设计对象– 从设计的早期阶段（上游开发工程）进行测试/验证促进设计资产的重用– 通过对过去的设计资产的重用，减少新开发的部分– 对以差分开发为中心的嵌入式系统开发非常有效构建并应用面向不同应用领域的平台及平台的共通化– 面向不同应用领域，在不同的硬件上动作的实时OS及中间件所构成的平台已经得到广泛应用
Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.8提高设计的抽象度

软件开发– 模型驱动开发• 通过描述软件模型，自动生成程序，降低代码行数
• 在建模阶段进行设计验证硬件（电路）设计
– 动作级别的设计（≒程序语言描述）• 寄存器传送级别（RTL）设计减少描述量系统设计
– 系统层级设计（ESL）：计算机的硬件（电路）和软件
的一体化设计
– 包含结构设计的系统全体的模型驱动设计
技术例：SysML

Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.9促进设计资产的重用设计资产的质量提升– 设计资产的重用非常重要，但同时也必须避免枯朽化（Legacy）（设计文档非常重要）– 在公司内部积累高质量的设计资产非常重要，但在非竞争领域积累行业级别的设计资产更为有效

以重用为前提的开发流程– 为维持设计资产的质量，必须从开发流程和开发组织层面思考⇒产品线（Product line）型软件开发促进软件的组件化– 以容易重用的形态（组件）进行软件开发– 软件的组件化技术非常重要
Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.10构建并应用面向不同应用领域的平台及平台的共通化

构建面向不同应用领域的平台– 嵌入式系统的多样化使得单一的平台无法覆盖多种需求– 确定合理（这点非常难）的应用范围，构建相应的平台通过应用平台，降低成本、提高质量– 多个应用使用同一个平台可以降低（每个应用的）开
发成本– 将开发的资源集中到决定系统质量的关键部分的平台上，更易于提高系统的质量– 平台的共通化和标准化非常重要

Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.11

平台共通化和标准化的事例

公司内部的通用平台例）松下电器的UniPhier– 由处理器和Video Codec构成的系统LSI，以及各类中间件、OS等
软件构成的面向数字家电的综合平台行业内的平台标准化活动（汽车控制系统的平台/工具的标准化）例）AUTOSAR（Automotive Open System Architecture ->http://www.autosar.org/– 世界的主要汽车厂家、电子装备厂家、IT厂家联合起来，共同开发汽车的E/E（Electric/Electronics）架构标准的组织例）JASPAR -> http://www.jaspar.jp– 以日本的汽车厂家为中心，共同开发汽车控制系统的网络技术、中间件、软件平台行业内的系统平台的“De facto standard”– 可以预计手机平台将收敛为2~3种
Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.12嵌入式系统今后的演化！嵌入式系统的基础设施化
控制和信息处理的融合– 嵌入式系统和信息系统的融合（例：智能电网）• 不同的开发文化间的磨合– Dependability要求的深化• 信息安全<Security>和安全性<Safety>的共存网络所带来的功能再配置☜云计算– 各个系统的复杂性会进一步加大– 所有的机器都接入网络后，就不再需要所有的机器都具有通用性和多功能了！把握科学革命（Paradigm Change）发生的时期非常困难节电性能的提升– 需要引入新的硬件技术
Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.13

TOPPERS技术
技术
ｰｰTOPPERS协会的研究工作及成果

Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.14什么是TOPPERS什么是

以ITRON的技术为基础，开发各种高质量的开放源代码的嵌
入式软件，用以构建各类嵌入式系统。同时，提供相关的技术。
目标成为在嵌入式领域中类似Linux地位的OS协会的推进主体– 由产业界/学术界/政府的团体和个人组成的项目型团体– 2003年9月注册为非营利组织（NPO）– 其前身是以名古屋大学（2002年为止丰桥技术科学大学）高田研究室为中心的非正式组织开展活动
Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.15

参考：规格是什么？
参考：ITRON规格是什么规格是什么？

TRON– TRON项目（坂村健<东京大学教授>）制定的嵌入式系统的实时操作系统的标准规格• 1984年开始
• 1999年发表µITRON4.0规格书
• 2010年作为ITRON规格的标准化团体的TRON协会解散任何人都可以按照此公开规格开发自己的内核– 按照ITRON规格开发的内核不一定是开源的

从1990年代后半起，日本开发的嵌入式系统的
30%采用了ITRON内核（日本经济产业部和TRON协会的调查结果）

Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.16

TOPPERS协会的组织和会员协会的组织和会员团体正会员：105– 企业：104；其他：1– 集中了主要的芯片厂商、汽车厂商、电子电器厂商、 嵌入式开发平台厂商和电控仪器设备厂商。 瑞萨、东芝、丰田、日产、本田、电装、富士通、Altera、Xlinx等都是它的成员。
– 个人正会员：11
准会员（个人）：70
特别会员：29– 团体：20；个人：9------------------------------------合计：215（2010/10/30）
Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.17

TOPPERS工程的目标
工程的目标

开发终极版的ITRON规格实时操作系统
– 减少基于ITRON开发的“过剩投资”和“过多的多样性”研究新一代的实时操作系统技术
– 充分满足嵌入式系统的需求，继承 ITRON 技术的优秀特征，进
行下一代嵌入式操作系统技术的研究开发

绝不等同于重复开发第二个 Linux！
– 通过开放源代码的理念，有效地集合了产业界、学术界、政府等
各类团体以及个人的智慧和力量

研究嵌入式系统的开发技术及开发工具– 提升嵌入式系统开发的质量和效率

推动嵌入式系统开发人才的培养– 利用开放式源代码软件的优势，通过提供教材，进行各种的形式
的普及教育，为嵌入式系统开发人员的培养做出贡献

Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.18

TOPPERS与嵌入式系
与嵌入式系统
与嵌入式系统平台

TOPPERS工程的任务之一就是开发嵌入式系统的
平台！TOPPERS的第二个“P”就是Platform（平台）的“P”

但TOPPERS并不是开发面向各个领域的系统平台
，而是提供构建各应用系统平台所需的组件– 作为特例，TOPPERS工程直接参与汽车控制系统的平
台同时，也开发将各种部件组合在一起构建系统平台的技术
– TECS：面向嵌入式系统的组件系统积累了众多可以直接应用于产业界的高质量的设计资产Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.19

TOPPERS的主要开发成果的主要开发成果<第一代内核的主要开发成果 第一代内核>
第一代内核

TOPPERS/JSP内核

最初的开发成果– 符合µITRON4.0规格的“Standard Profile”的实时内核

TOPPERS/FI4内核

IPA– 实现了µITRON4.0规格规定的所有功能的实时内核

TOPPERS/ATK1内核（汽车内核 Version1）– 符合汽车控制系统领域的国际标准OSEK/VDX规格的实时内核

TOPPERS/FDMP内核 IPA– 面向功能分散型多核系统的扩张实时内核

TOPPERS/HRP内核

与JAXA共同开发
共同开发

– 面向高可靠系统扩张了内存保护功能的实时内核– 通过了宇宙航空研究开发机构（JAXA）的质量检验

Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.20

TOPPERS的主要的主要开发的主要开发成果开发成果<新一代内核和
成果 新一代内核和TECS>
新一代内核和TOPPERS/ASP内核 新一代内核的起点– 相对于JSP内核，从可靠性/安全性/软件可移植性等方面进行了多种扩张和改良

TOPPERS/FMP– 以ASP内核为基础进行了多核的扩张

TOPPERS新一代内核的综合规格– 基于µITRON4.0，为满足近10年来的新的需求而改良/扩张的内核
规格– 正在制定过程中，已经完成了ASP和FMP内核的规格定义TECS（TOPPERS嵌入式组件系统：TOPPERS Embedded
Component System）– 将各软件模块封装为组件，通过将必要的组件结合在一起，快速构建大规模嵌入式软件的技术（规格和工具）

Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.21

TOPPERS的主要开发成果的主要开发成果<中间件的主要开发成果 中间件、中间件、工具>
工具TINET 经济产业部 地方联合体– 符合ITRON TCP/IP API规格的紧凑型IP协议栈。支持IPv6FatFs for TOPPERS– 支持FAT12/16/32的文件系统

CAN/LIN中间件包 经济产业部 地方联合体
– 支持CAN和LIN的通讯中间件

RLL（Remote Link Loader） IPA
DLM（Dynamic Loading Manager）– 上述的两个都是实现动态调用的中间件。但所使用的实现方式不同TLV（TraceLogVisualizer）– 实时内核的Trace log的可视化工具

Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.22

TOPPERS的主要开发成果的主要开发成果<教材的主要开发成果 教材>
教材

初级开发讲座的教材

提供中英文版本– 通过动手实践，学习在RTOS上进行嵌入式软件开发的基础– 包括讲义、环境设定程序、试验板等– 提供中文教材，并于2005/9/20~23在北京软件产业促进中心培训学校开办培训课程中级开发讲座的教材

提供中文版本– RTOS上的网络编程及系统设计手法

基础1开发研修的教材– 学习小规模嵌入式系统的开发和RTOS的基础

基础2开发研修的教材– RTOS的讲解和Service Call（内核调用）的开发体验其他– TOPPERS版压水车
– TOPPERS直立行走机器人教材
Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.23

Application Example of TOPPERS OS

Consumer Applications

IPSiO GX e3300 (Ricoh)

PM-A970 (EPSON)
DO!KARAOKE（PANASONIC）

GT-541 (Brother)

UA-101 (Roland)
Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

24Page.24

Application Example of TOPPERS OS

Industrial and Other Applications

AP-X (Kyowa
MEDIX)

Kizashi (SUZUKI)

OSP-P200 (Okuma)

ASTRO-H (JAXA) ... under development
Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术DP-350 (Daihen)
25

Page.25

TOPPERS的许可证
的许可证

TOPPERS工程中开发的软件使用独自的软件许可证基本出发点– 考虑嵌入式系统的各方面的要求，提供相对于GNU
GPL、BSD等更为开发的许可证条件– 通过开发成果的实际使用事例，向相关方面证明开发成果对社会的贡献，已获得进一步的开发资金。为此
，希望获得在什么领域被如何使用的信息许可证的内容– TOPPERS软件的派生物没有必要作为开放源代码公开
（可用于商用目的）– 在嵌入式设备中使用本软件时，仅需要向TOPPERS协
会报告即可－－Reportware－－Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.26

TOPPERS的主要的主要开发
的主要开发成果
开发成果<正在进行的开发
成果 正在进行的开发>
正在进行的开发

TOPPERS下一代内核– 通过TOPPERS技术讨论会议等进行规格的制定– 名古屋大学进行相关的开发工作面向多核的RTOS和开发工具– 以名古屋大学为中心的联合体型研究

TOPPERS嵌入式组件系统（TECS：TOPPERS EmbeddedComponent System）– TOPPERS组件规格工作组进行相关的扩展和产品化开发

TOPPERS的社会公开征集项目– 嵌入式系统的USB协议栈的开发– 面向嵌入式开发人员的TECS教材的制作– 最小功能集内核的开发

功能安全平台Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.27

TOPPERS新一代内核的路线图
新一代内核的路线图

Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.28

TECS及其必要性及其必要性

TECS（TOPPERS嵌入式组件系统：TOPPERS
Embedded Component System）– 将各软件模块封装为组件，通过将必要的组件结合在
一起，快速构建大规模嵌入式软件的技术（规格和工具）– 支持多核系统/分散系统的RPC（远程调用：RemoteProcedure Call）

使用组件技术的优点– 大规模嵌入式软件的内部可见性• 通过软件构造的可见性，系统的可读性/可理解性提高，能够促进软件有体系的重用• 组件间的调用可见化大幅地简化测试，提高产品的质量– 提升软件组件的流通性– 提供分布式框架，提高分布式系统的开发效率Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.29TECS的背景
的背景

软件组件化是必然的趋势– 促进软件的重用性– 提高设计的抽象度– 通用系统的组件技术（如：Windows COM、DCOM）
不能适应于嵌入式系统
– 催生了面向嵌入式系统的组件技术

同时期产生了众多的同类技术
– AUTOSAR的框架中，软件是以组件为基础实现• 许多方面和TECS有相似性（如：静态生成）– 其他与TECS类似的技术还有nesC等Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.30

TECS的特征和途径
的特征和途径通过静态生成优化组件间结合– 组件间的静态结合为基本– 根据需要使用工具生成组件间的接口（接口生成）– 因为overhead小，可以将组件粒度控制得很小系统内的所有软件作为组件
– 包括平台也可以使用组件构建– 可以对应多种平台（处理器、OS、网络等）通过工具生成远程调用的组件– 使用RPC生成工具，跨越网络生成可进行远程调用的组件

Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.31TECS的组件模型
的组件模型

基本的组件模型组件的实例组件的类（型）
Cell: Cell type

Cell: Cell type

属性

属性
呼口

单纯的函数调用

应口

函数的宣言的集合

结合 ．．． 连接同样署名的调用口和被调口！类似UML中的实例图，但记述的内容更为详细
Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.32TECS的组件模型
的组件模型

与（单纯的）单纯的）软件模块的区别软件模块：从其他模块中调用的接口也需要清晰地定义，但模块的调用是在程序中直接记述⇒被调模块发生变更时，需要重写调用部分的代码（面向对象语言中，使用虚拟方法调用）TECS：被调模块称为应口，调用模块成为呼口。
对其他模块的调用是使用呼口名进行调用– 呼口和应口间连接的接口程序使用工具生成⇒被调模块发生变化时，仅重写相应组件部分，不需要
重写程序

Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术Page.33

欢迎利用TOPPERS的成果并参与
的成果并参与TOPPERS工程
工程
欢迎利用的成果并参与

TOPPERS的开发成果可以从WEB上自由下载，欢
迎使用
希望参与TOPPERS工程的有志之士，愿意为
TOPPERS活动提供支持的认识，请参加到TOPPERS协会中来TOPPERS工程为嵌入式系统开发提供高质量的开源软件和教育资源
为嵌入式系统开发提出新的标准

http://www.toppers.jp/cn/
Copyright © 2010 TOPPERS Project

嵌入式系统开发的课题和TOPPERS技术

Page.34