随着向着智能化、标准化、网络化的方向发展,软件开发在产品开发中所占的比重不断增加,采用平台化的设计方法降低成本、缩短开发时间、充分利用已有资源成为一种必然趋势。
目前,主要的汽车电子软件的开发标准有AUTOSAR、MISRA和OSEK。浙江大学CCNT实验室根据已有的标准和平台,开发出了汽车电子软件平台,包括了智能汽车平台和汽车电子软件开发平台。
浙江大学副校长吴朝晖老师同时也是CCNT的学术带头人,他介绍说,包括面向智能汽车的自适应中间件平台ScudWare和在此基础上开发的一个智能汽车空间原型系统,是由车载处理中心、各种上下文采集设备、以及一系列远程Web服务器组成的一个计算环境,主要目的是根据用户设定或者当前环境特性自动提供适当的服务,减少用户主动发出服务请求的次数,在车内形成自发的、定制的服务空间,为用户提供安全、舒适的行车环境。汽车电子软件开发平台SmartOSEK主要包括高可靠强实时的操作系统内核SmartOSEK OS、支持服务的板级支持体系结构SmartOSEK BSS以及支持基于模型设计的图形化开发环境SmartOSEK IDE几大部分。重点解决复杂汽车电子应用对操作系统的需求问题,面向汽车领域的建模描述问题,车控软件的有效性验证问题,开发过程中的文档和代码的自动生成问题,通过基于模型的软件开发思想改变嵌入式系统的传统开发方法,最终提高汽车电子控制系统产品开发的效率和产品质量,降低开发成本。
SmartOSEK的组成结构
SmartOSEK标准重点借鉴OSEK OS、OSEK OIL、OSEK COM、OSEK NM标准。AUTOSAR标准,目前来说,主要借鉴了其Architecture的Communication Stack、RTE、System Services、Peripherals标准以及MethodologyAndTools、Application Interfaces中相关的部分。MISRA标准主要是借鉴其针对汽车电子安全代码的127条规则。
嵌入式实时操作系统SmartOSEK OS
SmartOSEK由操作系统、板级支持、开发工具三大部分组成,其操作系统部分SmartOSEK OS是严格按照OSEK/VDX规范实现的,而且是国内第一个通过OSEK官方组织认证的符合OSEK规范的嵌入式实时操作系统。
SmartOSEK OS严格实现了OSEK标准所规定的内核模块,具体包括任务管理模块、资源管理模块、事件机制模块、定时器模块、中断处理模块、错误处理模块、内部通信模块等。
SmartOSEK内核模块需要底层模块的支撑,包括体系相关模块、开发调试模块、硬件驱动模块。体系相关模块实现体系密切相关部分,如上下文切换等;开发调试模块针对特定的平台实现对应用的监控跟踪调试;硬件驱动模块包括各研究外设的驱动。SmartOSEK OS的应用开发主要面向汽车电子控制系统,包括发动机控制、变速箱控制、通信系统控制等。图1是SmartOSEK OS的架构图。
SmartOSEK OS可满足严格的片内存储器要求,内核在4KB~12KB之间(32位PowerPC平台);主频为40M的MPC555上的SmartOSEK OS的上下文切换时间为微秒级;最大中断屏蔽时间为21.72μs;最高可承受运行40kHz的中断。
板级支持SmartOSEK BSS
板级支持SmartOSEK BSS是一个开放、通用的平台,屏蔽具体硬件细节,通过API向上层操作系统和应用程序提供服务,实现操作系统和应用程序与硬件无关。对于新的硬件平台,只要SmartOSEK BSS能够实现,那么上层软件就可以方便的移植。同时SmartOSEK BSS也应该能够在不同的开发平台上使用,虽然它的具体实现可能会有不同,但接口是统一的。
参照AUTOSAR标准中对软件系统的划分,板级支撑平台采用层次化结构设计,分为微控制器抽象层和ECU抽象层,同时将整个板级支撑平台按照功能分为四个模块。
MCU抽象层包含各种驱动,按照功能特点分为四部分:IO驱动、通讯驱动、存储驱动和微控制器驱动。它们是一个个软件模块,用于直接访问微控制器内的外设或者是内存映射到微控制器的外部设备。MCU抽象层的结构如图2所示。
ECU抽象层包含那些通过网络方式连接到微控制器的外部设备的驱动。ECU抽象层也分为四个部分:IO硬件抽象、通讯硬件抽象、存储硬件抽象、板上设备抽象。
集成开发环境SmartOSEK IDE
SmartOSEK IDE是面向汽车电子应用、支持SmartOSEK操作系统的集成开发环境。它充分借鉴了基于模型驱动的设计思想,围绕汽车电子软件开发领域V字型流程,提供UML需求建模、SmartC算法建模、状态图模型验证、系统可调度性分析、自动代码生成、自动文档生成等一整套开发工具链。SmartOSEK IDE的总体结构见图3。
评论
加载更多