主要内容

使用TLC配置生成的代码

可以使用目标语言编译器(TLC)对生成的代码进行微调。的参数之外,TLC还支持扩展的代码生成变量和选项代码生成窗格中的“配置参数”对话框。有两种方法可以设置TLC变量和选项,如本节所述。

请注意

没有自定义TLC文件的文件夹matlabroot/ rtw / c /薄层色谱即使存在这样做的能力。在代码生成过程中,可能没有应用这样的TLC定制。这样的定制可能会导致不可预知的结果。

分配目标语言编译器变量

%分配语句允许你为TLC变量赋值,如下所示:

分配MaxStackSize = 4096

这个作业也被称为创建一个参数名/参数值对

的描述%分配声明中,看到目标语言编译器指令.写你的%分配的声明配置RTW代码生成设置部分的系统目标文件。

属性设置的代码生成变量下表列出了可以使用%分配声明。

目标语言编译器可选变量

变量

描述

MaxStackSize =N

启用本地块输出选中复选框时,模型中块输出声明的局部变量的总分配大小不能超过MaxStackSize(以字节为单位)。MaxStackSize可以是正整数。如果局部块输出变量的总大小超过了这个最大值,剩余的块输出变量将分配到全局内存中,而不是本地内存中。的默认值MaxStackSizertInf,即栈大小不限。

注意:从本地块输出以外的源(例如来自Stateflow)生成的代码中的局部变量®图或MATLAB函数块和堆栈的使用来源,如函数调用和上下文切换不包括在MaxStackSize计算。对于整体的可执行堆栈使用度量,通过使用运行时(经验)分析或对象代码的静态(代码路径)分析来进行特定于目标的度量。

MaxStackVariableSize =N

启用本地块输出复选框时,此选择将限制代码中声明的局部块输出变量的大小为N字节,N > 0.大小超过的变量MaxStackVariableSize在全局(而不是本地)内存中分配。默认值是4096。

RemoveFixptWordSizeChecks =价值

对于使用定点数据类型的模型,控制执行定点字长检查的预处理器指令的生成。如果价值是:

  • 0,生成预处理器指令。生成的代码包含定点字长检查。

  • 1,抑制预处理器指令的生成。生成的代码不包含固定的字长检查。

你也可以通过运行这个命令来抑制预处理器指令的生成:

set_param (gcs,“TLCOptions”...“-aRemoveFixptWordSizeChecks = 1”

如果生成的代码不包含定点字长检查,则可以使用检查的处理器在循环(PIL)模拟硬件实现参考目标硬件的设置。有关更多信息,请参见代码生成假设的验证(嵌入式编码)

WarnNonSaturatedBlocks =价值

标志,用于控制具有饱和能力,但在其对话框中已关闭(未选中)的块的溢出警告显示。选项包括:

  • 0—不显示“Warning”。

  • 1-在代码生成期间为模型显示一个警告

  • 2-显示一个包含违规块列表的警告

设置目标语言编译器选项

您可以使用模型参数为代码生成指定TLC命令行选项TLCOptions在一个set_param函数调用。有关这些选项的信息,请参见为代码生成指定TLC而且配置薄层色谱

相关的话题

Baidu
map