论文摘要
为解决汽车电子中应用软件大量增加及重复开发问题,欧洲汽车行业开发了一个用于汽车电子的、带有标准接口的开放式系统-OSEK/VDX标准(文中简称为OSEK标准)。OSEK标准体系包括操作系统(OS)标准、通信(COM)标准、网络管理(NM)标准及OSEK实现语言(OIL)标准。OIL(OSEK Implementation Language)标准提供了一种描述应用程序的标准方法,实现了汽车电子控制单元(ECU)应用程序的可移植性。如果一个应用程序用OIL语言进行描述,那么它可以很方便的从一个OSEK平台移植到另一个OSEK平台,几乎不需要做任何修改。但是,OIL语言仅提供了描述应用程序的语法和语义,如果采用手写描述文件的方式开发应用程序,由于OIL语法复杂且繁多,使得程序开发难度加大且容易出错。本文针对OSEK OIL配置器进行研究。首先,论文介绍了OSEK标准的各组成部分,重点分析了其中的OSEK OIL标准,以及如何使用OIL语言对OS系统中的各种OSEK对象进行定义,为使用OIL语言描述应用程序奠定了基础。其次,分析研究了一种开源OSEK操作系统-Trampoline。通过对其内核源代码的深入剖析,详细分析了其内核调度、任务管理、中断管理、警报管理的实现机制,搭建了OIL配置器研究的平台和实验环境。第三,基于XML技术设计了一种图形化的OIL配置器。该配置器使用XML文件作为中间数据存储,避免了直接生成文本格式OIL配置文件导致的程序实现复杂、可扩展性差的问题。不同于现有基于XML技术的OIL配置器设计方法,本文加入了XML Schema文件对应用定义配置数据进行验证,将程序逻辑简化,进一步提高了程序的可扩展性。第四,使用VC++6.0对图形化的OIL配置器进行了实现。测试结果表明,该配置器运行稳定,简单易用,方便了应用程序的开发。最后,给出了一个车窗升降机控制程序应用示例。该程序基于Trampoline的OS和COM,使用本文设计的OIL配置器进行配置,生成了所需的OIL配置文件。根据该配置文件所提供的程序框架,本文对车窗升降机控制程序的各功能模块进行了实现。测试结果显示该控制程序运行正常,表明本文设计的OIL配置器能很方便地将用户的配置转化成应用程序的OIL描述文件,并且具有操作简单、实用性强的特点,对于OSEK应用程序的开发具有广阔的应用前景。
论文目录
中文摘要ABSTRACT第一章 绪论1.1 研究背景和意义1.1.1 OSEK 标准介绍1.1.2 研究的意义1.2 国内外研究现状1.3 研究内容1.4 论文结构安排第二章 OSEK OIL 标准分析2.1 OIL 语言2.2 OIL 文件基本定义2.2.1 基本概念2.2.2 OIL 文件结构2.2.3 OIL 语法2.2.4 实现定义2.2.5 应用定义2.2.6 属性间的依赖关系2.2.7 自动属性赋值2.2.8 属性默认值2.2.9 包含机制2.2.10 注释2.2.11 描述2.3 OIL 对象定义2.3.1 总的规则2.3.2 CPU 对象2.3.3 OS 对象2.3.4 APPMODE 对象2.3.5 TASK 对象2.3.6 COUNTER 对象2.3.7 ALARM 对象2.3.8 RESOURCE 对象2.3.9 EVENT 对象2.3.10 ISR 对象2.4 与具体实现有关的定义2.4.1 属性类型2.4.2 数据类型2.5 使用OIL 语言描述应用程序2.6 本章小结第三章 Trampoline OSEK 操作系统研究3.1 OSEK 操作系统相关工作3.2 OSEK OS 及 Trampoline 设计与实现分析3.2.1 调度机制3.2.2 任务管理3.2.3 中断管理3.2.4 警报管理3.3 在 Linux/x86 平台上开发 Trampoline 应用程序3.4 本章小结第四章 OIL 配置器设计与实现4.1 OIL 配置器需求分析4.2 技术方案4.2.1 直接生成OIL 文件存在的问题4.2.2 使用XML 文件作为中间数据格式4.3 OIL 配置器的概要设计4.4 OIL 配置器的详细设计与实现4.4.1 图形输入模块的设计与实现4.4.2 保存实现定义模块的设计与实现4.4.3 保存应用定义模块的设计与实现4.4.4 应用定义验证模块的设计与实现4.4.5 生成OIL 文件模块的设计与实现4.5 测试4.6 本章小结第五章 应用示例-车窗升降机控制程序5.1 车窗升降机控制程序需求分析5.2 车窗升降机控制程序设计5.2.1 系统任务划分5.2.2 控制任务ControlTask 的设计5.2.3 车窗升降机控制程序使用的其它OSEK 对象设计5.2.4 使用OIL 配置器对车窗升降机控制应用程序进行配置5.3 车窗升降机控制主程序的实现5.3.1 InitTask 任务的实现5.3.2 InputTask 任务的实现5.3.3 ControlTask 任务的实现5.3.4 MotorDriveTask 任务的实现5.3.5 LockTask 任务的实现5.3.6 StallInt 中断服务的实现5.4 车窗升降机控制程序的测试5.4.1 搭建测试环境5.4.2 测试结果及分析5.5 本章小结第六章 总结与展望6.1 总结6.2 展望参考文献作者在读期间参与科研及论文发表情况致谢
相关论文文献
标签:配置器论文;