OSEK/VDX汽车电子嵌入式软件编程技术
基本信息
- 原书名: Programming in the OSEK/VDX Environment
- 原出版社: CMP Books
- 作者: (美)Joseph Lemieux
- 译者: 罗克露等
- 丛书名: 嵌入式系统译丛
- 出版社:北京航空航天大学出版社
- ISBN:7810774557
- 上架时间:2004-7-28
- 出版日期:2004 年6月
- 开本:16开
- 页码:342
- 版次:1-1
- 所属分类:
计算机 > 计算机组织与体系结构 > 嵌入式计算机
内容简介回到顶部↑
本书通过一个示例程序的开发,生动、系统、详细地介绍了由欧洲汽车行业制定、将各种先进汽车电子设备有机集合在一起、网络化嵌入式计算机系统的开发规范OSEK/VDX,主要包括操作系统、通信、网络管理和OSEK实现语言等四个标准。全书分为3个部分,共16章。第一部分(第1~9章)描述了OSEK/VDX操作系统标准,该标准不使用符合类的概念,定义了一个可缩放的操作系统;第二部分(第10~13章)介绍了OSEK/VDX通信标准,定义了交互层、网络层和数据链路层;第三部分(第14~16章)描述了OSEK/VDX网络管理标准,介绍了管理网络的直接方法和间接方法。每章都包含了示例程序中的相应编码,并提供了动手实践的练习题。
本书可供从事汽车电子软件开发的程序设计人员使用,也可作为高校计算机专业与嵌入式系统相关课程的参考书。
本书可供从事汽车电子软件开发的程序设计人员使用,也可作为高校计算机专业与嵌入式系统相关课程的参考书。
目录回到顶部↑
第0章 概论
第一部分 操作系统
第1章 实现启动
1.1 系统引导9
1.2 主模块12
1.3 osek/vdx实现语言14
1.4 示例程序18
1.4.1 模块19
1.4.2 配置文件21
1.5 练习21
1.6 小结22
第2章 启动和结束
2.1 应用程序模式23
2.2 启动25
2.3 关闭26
2.4 示例程序28
2.5 练习28
2.6 小结28
第一部分 操作系统
第1章 实现启动
1.1 系统引导9
1.2 主模块12
1.3 osek/vdx实现语言14
1.4 示例程序18
1.4.1 模块19
1.4.2 配置文件21
1.5 练习21
1.6 小结22
第2章 启动和结束
2.1 应用程序模式23
2.2 启动25
2.3 关闭26
2.4 示例程序28
2.5 练习28
2.6 小结28
译者序回到顶部↑
今天,汽车已不再是纯机电的交通工具,在汽车中大量采用了微处理器,汽车已进入智能化时代。为了在生产出质量更高、效率更高和更加安全的汽车的同时,解决汽车中软件含量增加、在操作系统和通信网络方面重复开发、软件工程师的工作效率不能满足高质量产品的要求等诸多问题,欧洲汽车行业在20世纪90年代中期开发了一个用于汽车电子、带有接口的开放式系统OSEK/VDX(Offene Systeme und deren Schnittstellen fur die E1ektronik im Kraftfahrzeug/Vehicle Distributed eXecutive)。这是用于分布式实时结构的一组标准,主要包括操作系统(OS)、通信(COM)、网络管理(NM)和OSEK实现语言(0IL)等四个标准。这些标准是欧洲汽车行业先进开发技术的总结,提供了将各种先进汽车电子设备有机集合在一起的网络化嵌入式计算机系统的开发规范,使汽车行业的各种软件能够兼容与协作开发,有利于提高汽车软件的开发效率。
现在,随着全国交通的迅速发展,我国已成为汽车应用大国和汽车制造基地,高档汽车的研制和生产已提到日程,以网络化的嵌入式计算机为核心的汽车电子是高档汽车制造中的关键。如何在汽车电子软件开发中了解OSEK/VDX标准,使我国汽车行业顺利发展并打入国际市场,是我国汽车生产所面临的一个紧迫任务。
欧洲独立OSEK/VDX工作组成员和Joseph Lemieux编写了《OSEK/VDX汽车电子嵌入式软件编程技术》一书。作者在书中以开发一个21点扑克牌电子游戏为例,从程序设计人员的角度对OSEK/VDX的OS、COM、NM等主要标准作了详细描述。全书共分16章,第1~9章描述了OSEK/VDX操作系统标准,该标准使用符合类的概念,定义了一个可缩放的操作系统,并详细讨论了标准中的对象,如任务、报警、资源、事件和内部消息等。第10~13章介绍了OSEK/VDX通信标准,该标准定义了三层;交互层、网络层和数据链路层,并集中讨论了惟一可见的交互层。第14~16章描述了OSEK/VDX网络管理标准,该标准介绍了管理网络的两种方法:直接方法和间接方法。各章都包含了应用程序实例中的若干段编码,并在最后部分用相应的API子程序来描述本章整个应用例程的编码。各章后都附有练习,为读者提供了动手实践的机会。
我们向读者推荐此书,以期解决如何用网络化嵌入式计算机实现运输平台智能化的问题。正如作者在书中指出的那样,OS—EK/VDX不只是一个用于汽车的实时操作系统,基于这个标准的系统能够并且将要用于其他应用中,这些应用被静态地定义,且需要一个紧凑的分布式实时系统,例如在制造、加工、汽车、太空等控制领域内的应用。我们希望本书能对我国民用、军用运输工具的智能化有所裨益。
该书由电子科技大学计算机学院嵌入式实时系统研究室翻译。其中序、前言、概论、第l章和第2章由罗克露翻译,第3~6章由陆鑫翻译,第7~10章由李巧勤翻译,第11~13章由刘辉翻译,第14—16章由郭文生翻译,附录A、B、C由袁姝翻译,全书由罗克露统稿。电子科技大学的熊光泽教授、桑楠副教授和北航出版社的马广云博士始终热情关心和支持本书的翻译工作,并提出了宝贵的意见,在此谨向他们表示诚挚的谢意。
由于我们对汽车电子了解肤浅,在翻译中难免出错,恳请广大读者不吝指正。
现在,随着全国交通的迅速发展,我国已成为汽车应用大国和汽车制造基地,高档汽车的研制和生产已提到日程,以网络化的嵌入式计算机为核心的汽车电子是高档汽车制造中的关键。如何在汽车电子软件开发中了解OSEK/VDX标准,使我国汽车行业顺利发展并打入国际市场,是我国汽车生产所面临的一个紧迫任务。
欧洲独立OSEK/VDX工作组成员和Joseph Lemieux编写了《OSEK/VDX汽车电子嵌入式软件编程技术》一书。作者在书中以开发一个21点扑克牌电子游戏为例,从程序设计人员的角度对OSEK/VDX的OS、COM、NM等主要标准作了详细描述。全书共分16章,第1~9章描述了OSEK/VDX操作系统标准,该标准使用符合类的概念,定义了一个可缩放的操作系统,并详细讨论了标准中的对象,如任务、报警、资源、事件和内部消息等。第10~13章介绍了OSEK/VDX通信标准,该标准定义了三层;交互层、网络层和数据链路层,并集中讨论了惟一可见的交互层。第14~16章描述了OSEK/VDX网络管理标准,该标准介绍了管理网络的两种方法:直接方法和间接方法。各章都包含了应用程序实例中的若干段编码,并在最后部分用相应的API子程序来描述本章整个应用例程的编码。各章后都附有练习,为读者提供了动手实践的机会。
我们向读者推荐此书,以期解决如何用网络化嵌入式计算机实现运输平台智能化的问题。正如作者在书中指出的那样,OS—EK/VDX不只是一个用于汽车的实时操作系统,基于这个标准的系统能够并且将要用于其他应用中,这些应用被静态地定义,且需要一个紧凑的分布式实时系统,例如在制造、加工、汽车、太空等控制领域内的应用。我们希望本书能对我国民用、军用运输工具的智能化有所裨益。
该书由电子科技大学计算机学院嵌入式实时系统研究室翻译。其中序、前言、概论、第l章和第2章由罗克露翻译,第3~6章由陆鑫翻译,第7~10章由李巧勤翻译,第11~13章由刘辉翻译,第14—16章由郭文生翻译,附录A、B、C由袁姝翻译,全书由罗克露统稿。电子科技大学的熊光泽教授、桑楠副教授和北航出版社的马广云博士始终热情关心和支持本书的翻译工作,并提出了宝贵的意见,在此谨向他们表示诚挚的谢意。
由于我们对汽车电子了解肤浅,在翻译中难免出错,恳请广大读者不吝指正。
前言回到顶部↑
1998年我首次得悉OSEK/VDX标准。在我的雇主所属的欧洲技术中心的一次会议上,我提到自己正在美国重新设计源程序的组成部分的软件结构。一位欧洲工程师问到新的结构是否应遵从OSEK标准。由于不了解OSEK/VDX的任何情况,我像任何一个负责任的工程师一样,借口许多选择正在调查之中而回避了这个问题。回到美国后,我立刻和负责新软件结构的软件工程师谈到了这件事,并着手了解OSEK/VDX是什么,而更重要的,它不是什么。
像许多规格说明一样,读懂OSEK/VDX标准是困难的,这是因为这些标准是由母语不是英语的委员会成员所写的。对于许多词组,我必须读三次或四次以搞懂它们的含义。此外,在许多不同的章节中往往定义了特别功能,需要我去理解。通过这些努力,我为嵌入式系统程序设计杂志写了两篇论文,它们提供了规格说明的概述。刊登在2000年3月和4月杂志上的两篇论文,一篇是《OSEK/VDX标准:操作系统和通信》,另一篇是《OSEK/VDX网络管理程序和实现语言》。后来,我把这两篇论文归为一类,并把它们提交到嵌入式系统会议上。这两篇论文和有关资料的成果就是这本书,我希望这本书有助于缩短您在实现OSEK/VDX标准上所花费的时间。
OSEK/VDX是什么?
OSEK/VDX是用于分布式实时结构的一组标准,由欧洲汽车制造商和供应商的一个社团与德国Karlsruhe大学共同开发。它包含四个标准:操作系统(OS)、通信 (COM)、网络管理(NM)和OSEK实现语言 (OIL)。在开发过程中又附加了三个标准:OSEK/VDX实时接口(ORTI)、OSEK/VDX时间触发操作系统(也称为OSEK计时)和OSEK/VDX容错通信规格说明。在用第三方工具进行应用开发时,ORTI定义了一个实时接口。OSEK计时是一个现有标准的扩展,它描述了在汽车中如线控启动和线控刹车等实时应用的特性。OSEK/VDX容错通信规格说明也用于包括实时通信这样的实时应用。在这些方面我没有下功夫,而它们还在发展,因此,目前我不可能对其有所评论。
OSEK/VDX不是什么?
虽然OSEK/VDX是由欧洲汽车工业开发的,但它不只是一个用于汽车的实时操作系统。基于这个标准的系统能够并且将要用于其他应用中,这些应用是被静态地定义且需要一个紧凑的分布式实时系统,这些系统必须和最小资源相适应。理想的应用将是在控制领域(制造、加工、汽车、太空)内,使用带有8~512 KB ROM和1~32 KB RAM的8位、16位和32位的微控制器,但像小型购物电子设备和电子玩具等应用也能从这个标准中受益。在广告中,我曾看见过基本核小到800字节的应用。
OSEK/VDX也不仅仅是一个操作系统。虽然OS是标准的一个部分,但有一些基于OSEK/VDX的应用完全不使用操作系统,它们使用一个循环调度程序来实现COM和NM标准。
致谢
首先,我衷心感谢来自我的家庭(我的妻子Jennifer和我的两个亲爱的孩子Megan和Kyle)的支持。在许多书中,我注意到首先应感谢家庭,我总是认为这是对家庭的爱的最好表示。直到写这本书,我才理解当一个家庭成员写书时,其家庭所付出的如此巨大的牺牲。当我集中精力写书而不能帮助照顾家庭时,我的妻子给了我极大的支持,非常感激Jennifer!
第二个主要支持者是 Wind River System公司。在这本书中,我使用了该公司所提供的所有软件和一些硬件来开发应用程序。这些软件包括Tornado开发环境、符合OSEK/VDX标准的OSEKWorks实现、用于Motorola Power PC MPC555处理器的Diab 工具系列和带有VisionClik软件的EST VisionProbe 调试接口。程序实例的开发给我提供了一个机会,使我更深入地理解每项服务的实际操作。在回答关于OSEKWorks的作用和对标准的解释等问题时,Wind River技术支持部是非常负责的。他们也纠正了我对标准的某些误解。特别地,我要感谢Wind River 在底特律地区的商务开发部经理Michael ODonnell、OSEKWorks产品销售部经理Gary Bourdon及来自Wind River技术支持部的Venkat Viswanathan和Thomas Yu。他们的支持确保我有合适的软件和设备并知道如何使用它们,这对本书的成功是非常重要的。
在这本书中提到的硬件是由Axiom Manufacturing提供的,感谢他们打折提供了设备,使我能更快地着手工作。Axiom Manufacturing针对多种处理器开发了一系列低价开发主板,这对于硬件和软件系统的评估和原型化是很理想的。
我也要感谢Frank Leonhardt,从1997年起,他一直是OSEK/VDX技术委员会的成员,对于标准的背景,特别是通信标准的背景,他表现出了深刻的洞察力。Leonhardt先生也校阅了全书,以确保技术上准确的描述,并在许多方面提供了有价值的补充。
最后,我还要感谢我的雇主Electronic Data System(EDS)的Applied Engineering Solutions 组织,在关键的时候,他们提供时间让我写完这本书。特别地,我要感谢我的顶头上司Mohamed Ashmawey在我写书时对我的支持和关怀,也要感谢客户联系执行部的John Huth,他分配给我一项可以在家里工作的项目,以便我能够集中精力写这本书。
像许多规格说明一样,读懂OSEK/VDX标准是困难的,这是因为这些标准是由母语不是英语的委员会成员所写的。对于许多词组,我必须读三次或四次以搞懂它们的含义。此外,在许多不同的章节中往往定义了特别功能,需要我去理解。通过这些努力,我为嵌入式系统程序设计杂志写了两篇论文,它们提供了规格说明的概述。刊登在2000年3月和4月杂志上的两篇论文,一篇是《OSEK/VDX标准:操作系统和通信》,另一篇是《OSEK/VDX网络管理程序和实现语言》。后来,我把这两篇论文归为一类,并把它们提交到嵌入式系统会议上。这两篇论文和有关资料的成果就是这本书,我希望这本书有助于缩短您在实现OSEK/VDX标准上所花费的时间。
OSEK/VDX是什么?
OSEK/VDX是用于分布式实时结构的一组标准,由欧洲汽车制造商和供应商的一个社团与德国Karlsruhe大学共同开发。它包含四个标准:操作系统(OS)、通信 (COM)、网络管理(NM)和OSEK实现语言 (OIL)。在开发过程中又附加了三个标准:OSEK/VDX实时接口(ORTI)、OSEK/VDX时间触发操作系统(也称为OSEK计时)和OSEK/VDX容错通信规格说明。在用第三方工具进行应用开发时,ORTI定义了一个实时接口。OSEK计时是一个现有标准的扩展,它描述了在汽车中如线控启动和线控刹车等实时应用的特性。OSEK/VDX容错通信规格说明也用于包括实时通信这样的实时应用。在这些方面我没有下功夫,而它们还在发展,因此,目前我不可能对其有所评论。
OSEK/VDX不是什么?
虽然OSEK/VDX是由欧洲汽车工业开发的,但它不只是一个用于汽车的实时操作系统。基于这个标准的系统能够并且将要用于其他应用中,这些应用是被静态地定义且需要一个紧凑的分布式实时系统,这些系统必须和最小资源相适应。理想的应用将是在控制领域(制造、加工、汽车、太空)内,使用带有8~512 KB ROM和1~32 KB RAM的8位、16位和32位的微控制器,但像小型购物电子设备和电子玩具等应用也能从这个标准中受益。在广告中,我曾看见过基本核小到800字节的应用。
OSEK/VDX也不仅仅是一个操作系统。虽然OS是标准的一个部分,但有一些基于OSEK/VDX的应用完全不使用操作系统,它们使用一个循环调度程序来实现COM和NM标准。
致谢
首先,我衷心感谢来自我的家庭(我的妻子Jennifer和我的两个亲爱的孩子Megan和Kyle)的支持。在许多书中,我注意到首先应感谢家庭,我总是认为这是对家庭的爱的最好表示。直到写这本书,我才理解当一个家庭成员写书时,其家庭所付出的如此巨大的牺牲。当我集中精力写书而不能帮助照顾家庭时,我的妻子给了我极大的支持,非常感激Jennifer!
第二个主要支持者是 Wind River System公司。在这本书中,我使用了该公司所提供的所有软件和一些硬件来开发应用程序。这些软件包括Tornado开发环境、符合OSEK/VDX标准的OSEKWorks实现、用于Motorola Power PC MPC555处理器的Diab 工具系列和带有VisionClik软件的EST VisionProbe 调试接口。程序实例的开发给我提供了一个机会,使我更深入地理解每项服务的实际操作。在回答关于OSEKWorks的作用和对标准的解释等问题时,Wind River技术支持部是非常负责的。他们也纠正了我对标准的某些误解。特别地,我要感谢Wind River 在底特律地区的商务开发部经理Michael ODonnell、OSEKWorks产品销售部经理Gary Bourdon及来自Wind River技术支持部的Venkat Viswanathan和Thomas Yu。他们的支持确保我有合适的软件和设备并知道如何使用它们,这对本书的成功是非常重要的。
在这本书中提到的硬件是由Axiom Manufacturing提供的,感谢他们打折提供了设备,使我能更快地着手工作。Axiom Manufacturing针对多种处理器开发了一系列低价开发主板,这对于硬件和软件系统的评估和原型化是很理想的。
我也要感谢Frank Leonhardt,从1997年起,他一直是OSEK/VDX技术委员会的成员,对于标准的背景,特别是通信标准的背景,他表现出了深刻的洞察力。Leonhardt先生也校阅了全书,以确保技术上准确的描述,并在许多方面提供了有价值的补充。
最后,我还要感谢我的雇主Electronic Data System(EDS)的Applied Engineering Solutions 组织,在关键的时候,他们提供时间让我写完这本书。特别地,我要感谢我的顶头上司Mohamed Ashmawey在我写书时对我的支持和关怀,也要感谢客户联系执行部的John Huth,他分配给我一项可以在家里工作的项目,以便我能够集中精力写这本书。
序言回到顶部↑
1993年5月,几家德国汽车制造商一致同意在一个适合于汽车应用且通用的实时分布式操作系统的规范化方面进行合作。这几家汽车制造商是BMW、Bosch、Daimler—Chrysler、Opel、Siemens和VW。由德国Karlsruhe大学协调该项目,且称之为“Offene Systeme und deren Schnittstellen fur die Elektronik im Krahfahrzeug'’,或简称为OSEK。其译文大意是用于汽车电子的、带有接口的开放式系统。
与此同时,在法国,PSA和Renault开发了一个类似的系统,该系统被称为VDX(Vehicle Distributed eXecutive)。1994年,这两个项目合并,一年后,将OSEK/VDX奉献给世界。
OSEK/VDX从技术和商业两个方面展示了汽车制造商的要求。由于提供了一套专用的特性,可能加速开发现代汽车中的许多电子控制部件(ECU)。在不同的设计中,可以重用编码和专业技术,而且使用通用接口标准,可以在工业生产方面实现明显的节约。这个想法非常吸引人,世界上的每一个主要汽车制造商都高度评价用于下一代产品的OSEK/VDX。
遗憾的是,要达到其最初目标,OSEK/VDX还有一些事要做。制定标准的委员会不能忽视项目发起人的各种愿望,而产生一个满足各种要求的说明书就不可避免地会引起和实现相关的特性、不一致性以及含糊不清。
由于系统用户要求系统提供者满足他们的需求,而不管发布的说明书怎么说,这些情况形成了符合实用的标准。现在,OS—EK/VDX所面临的挑战是正式形成实用的标准,而这将需要时间。到这个项目完成时,对全世界汽车电子控制部件的社团来说,OSEK/VDX将成为一个令人激动的、各种思想的大熔融。
为了可用性,应理顺这样的环境,而官方的说明书不可能满足用在这方面的标准,对于任何一个希望真正地学习和使用OS—EK/VDX的人来说,官方的说明在文档资料中将会造成一个可怕的空白。令我感到高兴的是,现在这本书用如此精心策划和详尽的方式来讨论这个问题。OSEK/VDX时代现在已经到来。
Frank J.Leonhardt
欧洲独立OSEK/VDX工作组成员和顾问
与此同时,在法国,PSA和Renault开发了一个类似的系统,该系统被称为VDX(Vehicle Distributed eXecutive)。1994年,这两个项目合并,一年后,将OSEK/VDX奉献给世界。
OSEK/VDX从技术和商业两个方面展示了汽车制造商的要求。由于提供了一套专用的特性,可能加速开发现代汽车中的许多电子控制部件(ECU)。在不同的设计中,可以重用编码和专业技术,而且使用通用接口标准,可以在工业生产方面实现明显的节约。这个想法非常吸引人,世界上的每一个主要汽车制造商都高度评价用于下一代产品的OSEK/VDX。
遗憾的是,要达到其最初目标,OSEK/VDX还有一些事要做。制定标准的委员会不能忽视项目发起人的各种愿望,而产生一个满足各种要求的说明书就不可避免地会引起和实现相关的特性、不一致性以及含糊不清。
由于系统用户要求系统提供者满足他们的需求,而不管发布的说明书怎么说,这些情况形成了符合实用的标准。现在,OS—EK/VDX所面临的挑战是正式形成实用的标准,而这将需要时间。到这个项目完成时,对全世界汽车电子控制部件的社团来说,OSEK/VDX将成为一个令人激动的、各种思想的大熔融。
为了可用性,应理顺这样的环境,而官方的说明书不可能满足用在这方面的标准,对于任何一个希望真正地学习和使用OS—EK/VDX的人来说,官方的说明在文档资料中将会造成一个可怕的空白。令我感到高兴的是,现在这本书用如此精心策划和详尽的方式来讨论这个问题。OSEK/VDX时代现在已经到来。
Frank J.Leonhardt
欧洲独立OSEK/VDX工作组成员和顾问

点击看大图




加载中...
