OSEK OIL配置器研究与应用

OSEK OIL配置器研究与应用

论文摘要

为解决汽车电子中应用软件大量增加及重复开发问题,欧洲汽车行业开发了一个用于汽车电子的、带有标准接口的开放式系统-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 展望
  • 参考文献
  • 作者在读期间参与科研及论文发表情况
  • 致谢
  • 相关论文文献

    标签:;  

    OSEK OIL配置器研究与应用
    下载Doc文档

    猜你喜欢