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




    ①mdlInitializeSizes,用于细化SimStruct结构中不同参数的维数(SimStruct是指Simulink数据结构,Sim-Struct及其相关的宏定义参见Matlab目录下文件sim-strue.h)。
    ②mdlInitializeSampleTimes,用于细化该模块的采样时间。
    ③mdlOutputs::对输入设备来讲,从硬件中读取值加以计算并传递到模块输出端;对输出设备而言,从上流模块读取数据,加以处理并写回硬件。
    文件block.tlc用来控制代码生成过程,通过相应函数将语句写入生成的源文件中,代码段3是一个例子。文件中使用的函数主要包括:%function BlockTypeSetup(block,system)void、%function Start(block,system)Output、%function Outputs

4 应用实例
    图5是一个简单的应用。其中建立了两个任务,任务ADC_SUM每0.1 S执行1次,任务ADC_GPIO每0.5 S执行1次。第一个任务包含一个ADC S函数模块。该S函数属输入设备,并被封装成具有图5所示的参数输入界面;第二个任务包含另外一个S函数模块,GPIO,在这个应用中为输出模块。

    像第二部分描述的一样,算法可以进行仿真。仿真完成后可通过RTW生成代码(本文选择osekworks.tlc为系统TLC文件,并对该文件进行了适当修改)。生成的源代码(包括*.c源文件和*.h头文件)可以在Keil C166环境下联合编译并进行软件调试运行,如图6所示,这样也便于集成传统手动开发流程中成熟的算法代码。最终图6 Keil C166环境下编译带μo/os—ll的生成源代码代码可在目标硬件上运行。

5 结 论
    目前越来越多的汽车电子系统的开发借助Matlab/Simulink,并且其已变成标准的开发工具。本文提出的软件开发方法基于Sireulink环境和OSEK OS规范。在Simulink环境下开发的算法可以结合OSEK RTOS(本文为修改过的μC/OS-II)直接应用到目标硬件上。该方法已通过实例进行了验证,与传统方法比较极大地缩短了开发时间。

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

关键词:

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

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

推荐阅读

图文阅读

热门阅读

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