- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OSEK规范及其在嵌入式软件开发中应用
OSEK规范及其在嵌入式软件开发中应用摘要 本文旨在介绍车载嵌入式开发领域先进的行业规范OSEK规范。本文首先简要介绍了OSEK的历史和主要内容,然后重点分析了这个规范相对于传统开发模式的优势,最后用一个例子展示了OSEK应用程序的开发流程。OSEK规范为车载软件的协同开发定义了清晰统一的应用程序接口和规范化的开发流程,熟悉和灵活运用这个规范对提高我国汽车电子行业软件开发水平具有积极意义。
关键词 OSEK规范;嵌入式开发;汽车电子
中图分类号TP31 文献标识码A 文章编号 1674-6708(2012)77-0222-03
1 OSEK规范的起源及其主要内容
1.1 OSEK规范的起源
得益于汽车电子的快速发展,汽车中电子控制单元(ECU)的使用越来越广泛,从车窗的自动升降到发动机控制系统,都是由不同的ECU控制的。这些多种多样的ECU由不同的生产商,依照不同的规范和协议生产,相互之间可能并不兼容。这种不兼容性给汽车软件的研发带来了一系列的困难,花费了大量时间和经费为一个ECU开发的软件不能运行在另一个厂商开发的类似功能的ECU上,需要重复开发以应对不同的ECU软硬件平台,造成了巨额的研发支出。已有的工作成果无法被有效利用,汽车的研发周期延长、成本上升。
为了解决这些问题,上世纪九十年代中期,德国汽车工业界成立了一个名为OSEK的合作项目,OSEK是德文中“汽车电子领域的开放系统和对应的接口”的首字母缩写。大约同一时期,法国工业界提出了一个名为VDX(Vehicle Distributed eXecutive)的合作计划。这两个计划非常类似,所以在1995年,这两个组织相互合并,形成了一个名为OSEK/VDX的组织[1]。为了简洁起见,人们通常简称OSEK/VDX为OSEK,并将其所制定的一些列规范称为OSEK规范。2002年,OSEK规范被国际标准化组织接受,形成ISO-17356标准。
OSEK规范是欧洲汽车行业先进开发经验的总结,各种汽车电子设备通过这个规范可以有机地结合在一起,汽车软件的开发也可以互相兼容和可重用,最终提高汽车行业软件的开发效率,降低整个汽车的研发成本。
1.2 OSEK规范的主要内容
OSEK规范通过定义操作括操作系统(OS)、通信(COM)、网络管理(NM)三部分的应用程序接口(API)来实现应用程序的可移植和可重用[2]。
这三部分中,操作系统(OS)规范提供了许多系统服务的接口定义操作系统内核的实现机制。具体来说,包括任务管理、事件管理、资源管理、时钟、定时器以及错误处理等方面应用程序接口和实现机制。这些系统服务为并发实时应用提供了基本的执行环境。
通信(COM)规范定义了一种基于消息的通信机制,这种机制隐藏了ECU内部通信和外部通信的区别,也隐藏了不同硬件网络和协议的区别。这种通信机制方便了任务之间的数据传输,并且提高应用软件模型的可移植性。
网络管理(NM)规范的目标是要确保ECU间通信网络的安全和可靠。通信网络中,本地节点的行为会影响也会依赖网络中其他节点的状态,这种相互的影响和依赖要求提供一种机制来监控网络和节点的状态。网络管理提供的机制使得某个节点出现故障时,使用该节点数据的其他节点能够得知这个状态,并有选择地缩减部分功能以继续执行关键任务。
OSEK的这三个规范是分开定义的,也是可以分开实现的,这给了用户很大的选择权。例如,这三个模块可以由不同的供应商提供,最后由应用开发者将三者集成到一起。这样做有很多好处,对于OSEK规范的使用者来说,统一的接口意味着应用程序的更好的移植性和更高的代码重用率,每个模块可以选择单独的供应商也可以避免完全依赖于某一单一供应商;对OSEK规范的实现者来说,可以集中精力于自己擅长的方面。最终使得各个不同的供应商 “在规范上合作,在实现上竞争”。
1.3 OSEK规范的应用范围
OSEK成为ISO规范之后,得到了很大程度的支持。现在已经有若干商用的实现,比较著名的有德国Vector公司开发的osCAN系统, Metroworks公司开发的OSEKturbo等。在OSEK操作系统方面,也有一些开源的实现,例如由法国通信研究所(IRCCyN) 实时系统组发起的Trampoline项目,本文第三部分的例子就是使用Trampoline OS实现的。
虽然OSEK规范是由欧洲汽车工业界开发的,但它不仅仅是一个只能用于汽车行业的实时操作系统。基于这个标准的系统能够并且已经用于其它应用中,这些应用是被静态地定义并且需要一个紧凑的分布式实时系统。理想的应用将是控制领域(制造、加工、汽车、太空)内,但其它小型电子设备,例如电子玩具等应用也能从这个标准受益[3]。
2 OSEK规范的优势
基于OSEK规
文档评论(0)