实时系统的构建过程工作流
构建过程包括生成代码用C或c++从模型和构建一个可执行程序生成的代码。这个例子可以使用一个通用的实时(GRT)或嵌入式实时系统(ERT)代码生成的目标文件(31)。由此产生的独立开发计算机上运行的程序,独立的外部定时和事件。
工作目录
这个示例使用的本地副本slexAircraftExample
模型中,存储在自己的文件夹,aircraftexample
。设置您的工作目录如下:
在MATLAB®当前文件夹浏览器,导航到一个文件夹,你有写访问。
MATLAB建立工作文件夹,输入以下命令:
mkdiraircraftexample
使
aircraftexample
你的工作目录:cdaircraftexample
打开
slexAircraftExample
模型:openExample (“slexAircraftExample”)
模型仿真软件中出现金宝app®模型编辑器窗口。
在模型窗口中,选择文件>另存为。导航到您的工作文件夹,
aircraftexample
。保存的一个副本slexAircraftExample
模型myAircraftExample
。
建立文件夹和代码生成的文件夹
在生产代码,代码生成器创建一个建立文件夹在您的工作目录中。建立文件夹的名字
的名字,源自源模型和目标文件的选择系统。建立文件夹存储生成的源代码和其他文件在构建过程中创建的。检查建立文件夹内容结束时这个例子。模型
_目标
_rtw
当一个模型包含模型块(引用其他模型),该模型建立了特殊的子文件夹中代码生成的文件夹组织代码被引用的模型。这些代码生成文件夹存在与产品建立文件夹,命名slprj
。有关更多信息,请参见生成的代码模型参考的层次结构。
下slprj
文件夹,子文件夹命名_sharedutils
包含生成的代码之间可以共享模型。
设置模型参数代码生成
从模型生成代码,您必须更改一些模型的配置参数。特别是,通用实时系统(GRT)目标文件和大多数其他系统要求模型指定一个目标文件固定步求解器进行求解。
请注意
对于模型指定解决变步,代码生成器生成的代码也只有在模型指定快速仿真(rsim
目标文件)或功能系统。
打开
myAircraftExample
如果不是已经打开模型。在配置参数对话框中,指定配置参数的值解算器:
开始时间:
0.0
停止时间:
60
类型:
固定步
解算器:
ode5 (Dormand-Prince)
固定步长(基本样本时间):
0.1
对待每个离散率作为一个单独的任务:
从
点击应用。
保存模型。
配置构建过程
配置你的模型的构建过程,选择一个目标文件系统,工具链或模板makefile,使
命令。
在这些例子中,在大多数应用程序中,您不需要单独指定这些参数。随时可以运行的示例使用通用的实时目标(GRT)配置。通系统目标文件构建一个独立的可执行程序,运行在您的桌面计算机。
选择生物系统目标文件:
打开
myAircraftExample
如果不是已经打开模型。在配置参数对话框系统目标文件字段中,输入
grt.tlc
。然后单击应用。你看选择的工具链(
自动定位安装工具链
),构建配置(更快的构建
)。保存模型。
请注意
如果您点击浏览,一个系统目标文件浏览器打开并显示在MATLAB系统目标文件路径。一些系统目标文件需要额外的产品。下载188bet金宝搏例如,ert.tlc
需要嵌入编码器®。
设置代码生成参数
打开
myAircraftExample
如果不是已经打开模型。在配置参数对话框中,指定设置:
使用默认设置代码生成先进的参数,控制构建冗长和调试:
详细的构建(
RTWVerbose
)保留.rtw文件(
RetainRTWFile
)剖面薄层色谱(
ProfileTLC
)开始TLC调试器在生成代码(
TLCDebug
)开始TLC覆盖在生成代码(
TLCCoverage
)使TLC断言(
TLCAssert
)
选择代码生成>接口。
从共享代码的位置列表中,选择
共享位置
。构建过程的地方为工具所生成的代码在一个文件夹内代码生成的文件夹。下先进的参数、清晰的经典的调用接口复选框。
下先进的参数,选择单输出/更新功能复选框。
在代码生成>报告中,选择创建代码生成报告和自动打开报告。这个动作能使软件创建和显示的代码生成报告
myAircraftExample
模型。
点击应用并保存模型。
构建和运行一个程序
构建过程生成C代码的模型。然后编译和链接生成的程序来创建一个可执行映像。构建和运行程序:
与
myAircraftExample
模型打开,执行这些操作之一:在应用程序选项卡,打开金宝app仿真软件编码器的应用程序。C代码选项卡上,单击构建。
新闻Ctrl + B。
运行
slbuild
从MATLAB命令行命令。
# # #开始构建过程模型:myAircraftExample
许多成功的消息的内容取决于你的编译器和操作系统。最后的消息包括:
# # #创建可执行myAircraftExample。exe # # #成功完成构建过程模型:myAircraftExample # # #创建HTML报告文件index . HTML
现在的代码生成文件夹包含一个可执行文件,
myAircraftExample.exe
(微软®窗户®平台)或myAircraftExample
(UNIX®平台)。此外,构建过程创造了一个slprj
文件夹和一个myAircraftExample_grt_rtw
文件夹在您的代码生成的文件夹。请注意
后生成的代码
myAircraftExample
构建过程模型,显示了一个代码生成报告。看到报告生成为更多的信息关于如何创建和使用一个代码生成报告。看到的内容建立工作文件夹后,进入
dir
或ls
命令:> >dir。myAircraftExample。基金slprj . .myAircraftExample.slx。autosave myAircraftExample。exe myAircraftExample_grt_rtw
运行从命令窗口中,可执行文件类型
myAircraftExample !
。的!
字符将遵循它的命令传递给操作系统独立运行myAircraftExample
程序。> >myAircraftExample !* * * * * *创建启动模型myAircraftExample。垫* *
看到建立文件夹中创建的文件,可以使用
dir
或ls
再次命令。确切的变化产生的文件的列表在MATLAB平台和版本。这是一个示例列表从Windows平台:> >dir myAircraftExample_grt_rtw。rt_main。obj myAircraftExample_data。c . .rtmodel.hmyAircraftExample_data.obj buildInfo.mat rtw_proj.tmw myAircraftExample_private.h codeInfo.mat myAircraftExample.bat myAircraftExample_ref.rsp myAircraftExample.c myAircraftExample_types.h html myAircraftExample.h myAircraftExample.mk rt_logging.obj myAircraftExample.obj
建立文件夹的内容
构建过程创建一个构建文件夹和名称
,在那里模型
_目标
_rtw
源模型的名称和吗模型
系统目标文件被选中的模型。在这个例子中,建立文件夹命名目标
myAircraftExample_grt_rtw
。
建立文件夹包括以下生成的文件。
文件 | 描述 |
---|---|
|
独立的C代码,实现了模型 |
|
一个包含头文件包含参数和状态变量的定义 |
|
头文件包含常见的包括定义 |
|
向前声明中使用的数据类型的代码 |
|
头文件包括生成的代码的静态主程序(它的名字不会改变,它只是包含 |
您创建的代码生成报告myAircraftExample
模型显示一个链接为每个这些文件。你可以点击链接探索文件内容。
构建文件夹包含其他文件中使用的构建过程。它们包括:
myAircraftExample.mk
——Makefile构建可执行使用指定的工具链。对象(
.obj
)文件myAircraftExample.bat
-批量控制文件rtw_proj.tmw
——标记文件buildInfo.mat
——构建信息生成的代码迁移到另一个开发环境myAircraftExample_ref.rsp
——数据包括作为命令行参数墨西哥人
(仅Windows系统)
构建文件夹还包含子文件夹,html
,其中包含的文件代码生成报告。有关更多信息,请参见报告生成代码。
定制的Makefile代
在生产代码,代码生成器产生定制的makefile,模型
楼上
。生成的makefile指示使
系统实用程序编译和链接源代码生成自模型,所需的利用计划,图书馆,或用户提供的模块。代码生成器产生的文件模型
楼上
无论你使用的方法构建过程控制:
如果你使用工具链的方法,代码生成器创建
模型
楼上
基于该模型工具链设置。您可以修改生成的makefilertwmakecfg.m
API。如果你使用makefile的模板方法,代码生成器创建
模型
楼上
从一个模板文件系统,系统
.tmf
(系统
代表所选系统目标文件名)。系统模板makefile是专为系统目标文件。您可以修改模板makefile指定编译器,编译器选项,创建可执行的额外信息。
有关更多信息,请参见配置工具链(ToolchainInfo)或模板Makefile构建过程。