首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于Simulink的OSEK嵌入式软件开发方法
来源:本站整理  作者:佚名  2009-06-30 13:13:30



摘要 近年来,V型开发模式在汽车电子开发领域得以广泛应用,同时Matlab/Simulink及OSEK实时操作系统规范已成为标准的开发平台,文章通过引入新的理念和方法将两者相结合。首先从分析软件的架构入手,介绍了Simulink模型中的任务识别、定时机制、基于μC/OS—II的OSEK顺应性开发,以及在Matlab环境下如何创建自定义的驱动库等,最后通过应用实例验证了该开发方法的可行性。
关键词 嵌入式软件开发代码自动生成 Matlab/Simulink OSEK μC/OS-II


引 言
    现在V型开发模式已成为使用最广的汽车软件开发流程标准。这一标准流程得到许多工具的支撑,有来自Mathworks的工具,如用于功能开发和仿真的Matlab/Simulink/Stateflow,用于自动代码生成的Real—TimeWorkshop,以及来自dSpace的工具。硬件有用于快速控制原型开发的AutoBox和用于硬件在环测试的模块,软件有产品级代码生成器TargetLink。它们在加快开发周期的同时,也提高了代码的可靠性。
    平台软件方面,OSEK OS是广泛应用于汽车电子领域的嵌入式操作系统(RTOS)规范。它定义了一些基本的系统服务,比如任务处理、中断服务程序(ISR)处理、资源管理、事件处理以及报警服务等。
    由上可知,将Matlab/Simulink的建模和仿真环境在代码生成阶段与OSEK OS规范相结合,将极大地方便开发。这方面Matlab已有针对OSEK/VDX的嵌入式对象模块,TargetLink也实现了部分结合,但两者都局限于特定的硬件,不能应用于不同的控制器和实时操作系统。


1 嵌入式软件开发理念
    符合基于模型的开发和OSEK规范的软件架构如图1所示。以英飞凌XC164系列单片机为例,硬件层的核心部件由RTOS提供的系统服务进行管理,外设部件由相应的驱动程序驱动。

    中间层(软件运行环境)包括两部分,操作系统和硬件驱动。操作系统采用顺应OSEK规范的μC/OS-II(见3.1),硬件外设驱动开发在后面作介绍。
    应用程序指的是与硬件无关的软件,含控制算法和中断服务程序(ISR)。控制算法完成控制任务,形式一般为Simulink模型。该模型可以和被控对象模型一起在闭环状态下完成功能仿真,同时也可以在代码生成阶段与硬件驱动以及操作系统API一起生成可在目标硬件上运行的程序。这里ISR可以有两种类型,可以是手写的C代码,也可以是Simulink模型中的触发子系统。在该子系统中的触发源是图1中所示的硬件层外设。

                                    
2 MATLAB环境下代码生成流程
    实时工作空间(Real-Time Workshop,RTW)代码生成流程包含下面几部分。
    ①仿真和模型文件(model.mdl)。通过手动添加C语言S函数可以扩展Simulink模型库。
    ②中间描述文件(model.rtw)。该文件描述了模型中系统和各模块以及它们之间的联系,可以看作是模型文件的分层式的描述库文件。
    ③目标语言编译器(TLC)文件。目标语言编译器读取model.rtw文件中的信息,将模型最终转化成源代码。
    TLC文件有两种形式,系统TLC文件和模块TLC文件。前者控制整个模型的代码生成,比如可以指定模型生成C语言源代码,而后者仅针对对应的模块。对每个手动添加的C语言S函数对象,必须有对应的模块TLC文件,才可用于代码生成。
    ④生成的源代码。图2中列举了生成的主要源代码,其中model.c是model.mdl对应生成的算法源代码。

                              

[1] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:351,664.10000 毫秒