Matlab/RTW仿真与嵌入式共同开发
引言
本文引用地址:https://www.eepw.com.cn/article/226556.htm在日益激烈的竞争中,系统的开发周期显得尤为重要,但开发时间与系统安全性、可靠性又有一定冲突,如果仍然使用传统的编写代码的模式,显然有些不妥。本文介绍一种基于Matlab/RTW实现实时仿真与嵌入式系统开发的方法。方法所涉及的开发环境如下:
◆Microsoft Windows XP SP3:
◆Matlab Version 7.5.0.342(R2007b);
◆Keil uVersion2V 2.30;
◆Proteus 7.1SP2。
先借助Matlab/RTW建立模型并生成RTW(Real-Time Workshop)代码(C语言),再使用Keil编译、调试Matlab生成的C语言代码,并且生成HEX文件。之后,利用Proteus观察代码生成的效果,以验证代码的正确性。基本流程如图1所示。
1 构建Simulink模型并生成RTW代码
以较为简单的模型为例,用2个开关同时控制一个报警灯模型。当开关1、2同时闭合时,报警灯亮,逻辑真值表如表1所列。在Simulink中构建对应模型,只有当开关1、2同时闭合时,报警灯才亮,故选择如下模型实现上述功能。模型连接如图2所示。
模型连接好之后,打开参数配置选项卡调整参数。具体修改项及其对应值如表2所列。
至此生成模型代码的前期准备已经完成,保存模型,取名Matlab_Test。下一步就是点击Real_Time Work-shop选项中的Build按钮,Matlab将自动生成模型代码。
Matlab命令窗口中显示内容如下:
###Starting Real-Time Workshop build procedure for model:
Matlab_Test
……
###Successful completion of Real-Time Workshop build proce-dure for model:Matlab_Test
至此,模型的代码也生成成功。
完成代码修改之后,建造目标。若暂且不管代码优化问题,则所需的HEX文件已经成功生成。
2 KeiI与Proteus的连接
将安装文件夹ProteusModel下的VDM51.dll文件复制到KeilC51INC文件夹下,用以实现两软件间的通信,并且在 TOOLS.INI文件中加入VDM51.DLL文件的目录及描述,具体添加内容如图4所示。
至此,Keil与Proteus间的连接前期准备已经完成。下面开始Keil与Proteus联机调试:选择目标1的属性,弹出对话框,在调
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
评论