选择生成方法并配置生成过程
代码生成器支持两种构建(编译和链接)从金宝appSimulink生成的代码的方法金宝app®模型:
工具链的方法-更新的构建过程,生成优化的makefile,并支持自定义工具链。金宝app这种方法的好处包括:
使用工具链信息对象控制构建过程。您可以使用MATLAB脚本定义这些对象。
金宝app支持模型引用、PIL、SIL和快速加速器构建。
金宝app支持金宝app仿真软件编码器™,嵌入式编码器®,MATLAB®编码器.
为为单个模型配置构建过程提供了额外的灵活性。
模板makefile的方法-使用模板生成文件的旧构建过程
的系统目标文件参金宝app数,位于配置参数>代码生成窗格,允许您为模型选择构建过程。当你设置系统目标文件:
ert.tlc
,ert_shrlib.tlc
,grt.tlc
,或任何与工具链兼容的系统目标文件,构建过程使用工具链的方法.有关更多信息,请参见工具链的方法看看金宝app支持自定义目标工具链方法.任何非工具链兼容的系统目标文件。构建过程使用模板makefile的方法.有关更多信息,请参见模板Makefile的方法.
工具链的方法
的工具链的方法得名于工具链设置出现在构建过程当您设置系统目标文件:
grt.tlc- - - - - -Generic Real-Time Target
ert.tlc- - - - - -嵌入式编码器
(需要嵌入式编码器产品)ert_shrlib.tlc- - - - - -嵌入式编码器(host-based shared library target)
(需要嵌入式编码)任何与工具链兼容的系统目标文件(如果基于ert,则需要嵌入式编码器)
有关符合工具链的系统目标文件的更多信息,请参见金宝app支持自定义目标工具链方法(金宝app仿真软件编码器)。
的工具链设置包括:
的工具链(金宝appSimulink Coder)参数指定构建生成代码的第三方软件工具的集合。工具链可以包括编译器、链接器、存档器和其他在目标硬件上下载并运行可执行文件的预构建或后构建工具。
的默认值。工具链是
自动定位已安装的工具链
.的工具链参数在下方显示所定位工具链的名称自动定位已安装的工具链
.单击验证按钮的配置参数>代码生成>构建过程>工具链设置参数检查工具链是否存在,并验证代码生成器具有使用工具链所需的信息。结果的验证报告给出了所选工具链的通过/失败,并确定了要解决的问题。
的构建配置(金宝appSimulink Coder)参数让您选择或自定义优化设置。默认情况下,构建配置被设置为
更快的构建
.您也可以选择快速跑
,调试
,指定
.当您选择指定
并点击应用,您可以为每个工具链定制工具链选项。这些自定义工具链设置只适用于当前模型。
请注意
以下使用模板makefile方法的系统目标文件与使用工具链方法的系统目标文件具有相同的名称但不同的描述:
ert.tlc- - - - - -Create Visual C/C++ Solution File for Embedded Coder
grt.tlc- - - - - -Create Visual C/C++ Solution File for Simulink Coder
为避免混淆,请单击浏览选择系统目标文件并查看每个文件的描述。
升级模型使用工具链方法
当您打开在R2013b之前创建的使用以下系统目标文件的模型时,软件会尝试升级模型。升级将配置从使用模板makefile设置更改为使用工具链设置:
ert.tlc- - - - - -嵌入式编码器
ert_shrlib.tlc- - - - - -嵌入式编码器(host-based shared library target)
grt.tlc- - - - - -Generic Real-Time Target
请注意
要使用自定义系统目标文件来使用工具链方法升级模型,请参见金宝app支持自定义目标工具链方法.
一些模型配置参数值阻止软件升级模型以使用工具链设置。下面的说明向您展示了完成升级过程的方法。
考虑升级您的模型并使用工具链构建方法。这样做不是必需的。您可以继续从未升级的模型生成代码。
请注意
本软件不升级使用以下系统目标文件的型号:
ert.tlc- - - - - -Create Visual C/C++ Solution File for Embedded Coder
grt.tlc- - - - - -Create Visual C/C++ Solution File for Simulink Coder
查看一个模型是否升级了:
按打开模型配置参数Ctrl + E.
选择配置参数>代码生成.
如果构建过程subpane包含工具链而且构建配置参数,模型已经升级了。
如果构建过程区域显示Makefile配置参数,比如生成makefile,使命令,模板makefile,软件尚未升级该型号。
首先创建模型的工作副本文件>另存为.此操作保留原始模型和配置参数以供参考。
尝试使用upgrade Advisor升级模型:
在您的模型中,选择分析>模型的顾问>升级顾问.
在“升级顾问”中,选择检查和更新模型,使用工具链方法构建生成的代码并点击运行这个检查.
执行建议的操作和/或单击更新模型.
当您无法使用升级顾问升级模型时,以下一个或多个参数不会设置为默认值,如下所示:
编译器优化级别- - - - - -
关闭优化(更快的构建)
生成makefile-启用
模板makefile—系统目标文件特定模板makefile
使命令- - - - - -
make_rtw
不带参数
有时,模型无法升级。尝试以下步骤:
如果生成makefile禁用,此情况无法升级。但是,您可以尝试启用它并尝试使用Upgrade Advisor升级模型。
如果编译器优化级别被设置为
优化(更快的运行)
:集编译器优化级别是
关闭优化(更快的构建)
.使用Upgrade Advisor升级模型。
集构建配置来
快速跑
.
如果编译器优化级别被设置为
自定义
:复制自定义编译器优化标志到文本文件。
集编译器优化级别来
关闭优化(更快的构建)
.使用Upgrade Advisor升级模型。
集构建配置来
指定
.要执行相同的优化,请编辑编译器选项。
如果模板makefile使用自定义模板生成文件,这种情况不能升级。不过,你可以尝试以下方法:
更新模板makefile为系统目标文件使用默认的makefile。
请注意
要获得默认的makefile名称,请更改系统目标文件,点击应用,将其更改回来,然后单击应用一次。
使用Upgrade Advisor升级模型。
如果模板生成文件包含构建工具选项,例如编译器优化标志,则设置构建配置来
指定
并更新选项。如果模板makefile使用自定义构建工具,请创建并注册自定义工具链,如中所述自定义工具链登记(MATLAB编码器)。然后,设置工具链参数来使用自定义工具链。
请注意
注册自定义工具链之后,更新工具链使用自定义工具链。
如果模板makefile包含自定义规则和逻辑,则这些自定义不能应用到升级后的模型。
模板Makefile的方法
当系统目标文件设置为薄层色谱
文件,使用模板makefile方法,软件显示编译器优化级别,生成makefile,使命令,模板makefile参数。
指定是否生成Makefile
的生成makefile选项指定构建过程是否为模型生成生成文件。默认情况下,构建过程生成一个makefile。禁止生成生成文件,例如,通过清除来支持不基于生成文件的自定义构建处理金宝app生成makefile.清除此参数后:
的使命令而且模板makefile选择是不可用的。
使用用户定义的命令设置邮政编码生成生成处理,详见自定义代码生成后的生成处理(金宝app仿真软件编码器)。
指定Make命令
每个基于makefile的模板系统目标文件都有一个相关联的使
命令。代码生成器使用这个内部的MATLAB命令来控制构建过程。命令出现在使命令当您开始构建时,会触发并运行。
大多数系统目标文件使用默认命令,make_rtw
.第三方系统目标文件可以提供另一个使
命令。请参阅供应商提供的文档。
除了名字使
命令中提供makefile选项使命令字段。这些选项可能包括特定于编译器的选项、包括路径和其他参数。时,构建流程调用使
实用程序时,这些选项将传递给使
命令行,该命令将它们添加到传递给编译器的总体标志中。
模板制作文件和制作选项列出了使命令可用于每个支持的编译器的选项。金宝app
指定模板Makefile
的模板makefileField有以下功能:
如果您使用系统目标文件浏览器选择了一个系统目标文件,这个字段将显示为您的开发环境选择模板makefile的MATLAB语言文件的名称。例如,在模型配置参数:代码生成(金宝app仿真软件编码器)模板makefile字段显示
grt_default_tmf
,指示构建过程调用grt_default_tmf.m
.模板制作文件和制作选项详细描述构建过程选择模板生成文件的逻辑。
或者,您可以显式地输入特定模板生成文件(包括扩展名)的名称,或者在此字段中输入返回模板生成文件的MATLAB语言文件的名称。如果您使用的系统目标文件没有出现在系统目标文件浏览器中,请使用此方法。例如,如果您为自定义系统目标文件编写了自己的模板makefile,则可以使用此方法。
如果指定自己的模板makefile,请确保包含文件扩展名。如果忽略扩展名,则构建过程将尝试查找并执行具有该扩展名的文件.m
(即MATLAB语言文件)。模板制作文件(或返回模板制作文件的MATLAB语言文件)必须在MATLAB路径上。要确定文件是否在MATLAB路径上,在MATLAB命令窗口中输入以下命令:
哪一个tmf_filename
为代码生成指定TLC
目标语言编译器(TLC)是代码生成器不可或缺的一部分。它使您能够自定义生成的代码。通过定制,您可以生成特定于平台的代码,或者您可以根据性能、代码大小或与您喜欢维护的现有方法的兼容性合并您自己的算法更改。有关其他信息,请参见目标语言编译器概述(金宝app仿真软件编码器)。
为代码生成指定的TLC选项出现在生成的HTML代码生成报告的摘要部分。
请注意
指定TLC命令行选项不会向make命令行添加标志。
您可以使用模型参数为代码生成指定目标语言编译器(TLC)命令行选项和参数TLCOptions
在一个set_param
函数调用。例如,
> > set_param (gcs,‘TLCOptions’,‘p0 -aWarnNonSaturatedBlocks = 0”)
TLC选项的一些常见用法包括:
-aVarName = 1
来声明一个TLC变量和/或给它赋值": \工作
指定包含路径- v
从TLC处理中获得详细输出(例如,调试时)
相关的话题
- 金宝app支持自定义目标工具链方法
- 构建并运行一个程序
- 自定义工具链登记(MATLAB编码器)
- 模板制作文件和制作选项
- 目标语言编译器概述(金宝app仿真软件编码器)
- 可执行程序代