嵌入式OSEK配置器的设计与实现

时间:2012-11-16来源:网络

随着汽车工业的快速发展,汽车对控制、通信、网络管理等方面的要求越来越高,基于32位微控制器的硬件平台、基于嵌入式实时操作系统的软件平台和基于CAN总线的网络通信平台逐渐成为当今汽车电子业的主流。

1 OSEK/VDX规范简介

在嵌入式实时操作系统方面,为了满足日益庞大、复杂的汽车电子控制软件的开发需要,实现应用软件的可移植性和不同厂商控制模块间的可兼容性,1993年德国汽车工业界联合推出了汽车电子的开放式系统及接口——OSEK/VDX规范(以下简称“OSEK规范”),旨在为汽车上的分布控制单元提供一个开放结构的工业标准。OSEK规范从实时操作系统(RTOS)、软件接口、通信和网络管理等方面对汽车电子控制软件开发平台作了较为全面的定义与规定。尽管该规范还处在不断完善中,但它所提出的一整套解决方案将是未来汽车电子软件开发的发展方向。

为了达到OSEK软件可移植的目标,OSEK规范中定义了配置使用OSEK应用程序的方法——通用实现语言OIL。OSEK配置器就是使用图形化的用户接口,根据用户需求配置OIL文件,并最终生成OSEK实时操作系统初始化代码的工具。它是开发符合OSEK规范的实时操作系统的重要组成部分。

2 OSEK配置器的主要功能

OSEK应用程序的开发流程如图1所示。用户通过OSEK配置器根据软硬件的需求,对操作系统的属性和所有系统对象进行静态配置。配置完成后,OSEK配置器生成符合OSEK规范的OIL配置文件,并进一步生成与操作系统相关的C代码和头文件,以提供OSEK实时操作系统初始化时必备的系统参数。为保证软件的兼容性,OSEK配置器还能够从外部直接读取符合OSEK规范的OIL文件,完成生成OS静态系统文件的过程。

用户完成应用程序代码编写和OIL文件配置后,OSEK配置器所产生的代码、操作系统的部分内核和应用程序一起交叉编译,而其他操作系统内核代码作为一个库,被链接器整合在一起。本文主要研究通过OSEK配置器生成符合OSEK规范的OIL配置文件及静态系统文件的过程(如图1中虚线部分所示)。

3 OSEK配置器的实现

3.1 图形用户接口GUI的实现

OSEK应用程序的OIL语言描述包含一组OIL对象描述,分别是CPU、OS(操作系统)、APPMODE(应用程序模式)、ISR(中断服务)、RESOURCE(资源)、TASK(任务)、COUNTER(计数器)、EVENT(事件)、ALarm(警报)、COM(通信子系统)、MESSAGE(消息)、IPDU(外部通信)和NM(网络管理)。其中,CPU是其余OIL对象的容器。OIL为它的对象定义了标准类型,每一个对象都可以用一些属性和参数来描述。

对于不同的OSEK实现,生成OIL配置文件的方法是不同的。由于用户自己编写OIL文件具有一定的复杂性,因此,在集成开发环境中带有一个上下文相关帮助的、可视的图形用户接口GUI是非常必要的。在集成开发环境中,一个包含GUI的OSEK配置器需要包含以下组件:

◇一张遵循Windows Explorer格式的OSEK对象清单,用户可以根据需要添加和删除DIL对象;

◇一个图表,用于显示每个对象的属性(包括标准属性和与实现有关的属性),用户可更改对象的属性并且实时更新OIL文件;

◇一个用于记录和显示的窗口。

集成开发环境的OSEK配置器工作界面如图2所示,其数据的管理和显示采用XML技术来实现。

XML以一种开放的自我描述方式定义了数据结构,在描述数据内容的同时能突出对结构的描述,从而体现出数据之间的关系。它相当于一个容器,可用来存储OSEK规范中OIL定义的各个对象。对每个OIL对象来说,其属性和子属性都包含不同的数据结构,可以通过XML树型结构方便地表示出来;而对于同一类对象又包含相同的属性和子属性,可用相同的XML模板来表示。

由于XML技术可以很方便地存储、描述和管理结构化的数据,并且有效地将数据和数据的显示相分离,因此,在OSEK配置器中采用XML技术来实现OIL文件图形用户接口的配置,是非常方便和高效的。

1 2 3

关键词: 实现 设计 配置 OSEK 嵌入式

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版