使用遗留代码工具
legacy_code(“帮助”)
规格
= legacy_code(初始化)
legacy_code(“sfcn_cmex_generate”,规格
)
legacy_code(“编译”,规格
,compilerOptions
)
legacy_code(“generate_for_sim”,规格
,modelname
)
legacy_code(“slblock_generate”,规格
,modelname
)
legacy_code(“sfcn_tlc_generate”,规格
)
legacy_code(“sfcn_makecfg_generate”,规格
)
legacy_code(“rtwmakecfg_generate”,规格
)
legacy_code(“backward_compatibility”)
的legacy_code
函数创建MATLAB®结构,用于注册现有C或c++代码的规范和生成的s函数。此外,该函数可以生成、编译和链接,并为指定的s -函数创建屏蔽块。其他选项包括生成
一个TLC文件,用于加速模式下的模拟或代码生成
一个rtwmakecfg.m
文件,您可以自定义该文件,以指定与生成的s -函数的目录不同的依赖源文件和头文件
legacy_code(“帮助”)
显示使用遗留代码工具的说明。
初始化遗留代码工具的数据结构,规格
= legacy_code(初始化)规格
,它注册现有C或c++代码的特征以及遗留代码工具生成的s函数的属性。
legacy_code(“sfcn_cmex_generate”,
生成一个由遗留代码工具数据结构指定的s函数源文件,规格
)规格
.
legacy_code(“编译”,
基于数据结构,编译并链接Legacy Code工具生成的s函数,规格
,compilerOptions
)规格
,以及您可能指定的编译器选项。控件必须支持编译器选项金宝app墨西哥人函数。
legacy_code(“generate_for_sim”,
在一个步骤中生成、编译和链接s函数。如果规格
,modelname
)Options.useTlcWithAccel
遗留代码工具数据结构的字段设置为逻辑1 (真正的
),该函数还生成一个TLC文件用于加速模拟。
legacy_code(“slblock_generate”,
基于数据结构,为Legacy Code工具生成的s函数生成一个掩码s函数块,规格
,modelname
)规格
.该块出现在Simulink中金宝app®指定的模型modelname
.如果您省略modelname
,该块将出现在一个空的模型编辑器窗口中。
legacy_code(“sfcn_tlc_generate”,
为遗留代码工具生成的s函数生成一个基于数据结构的TLC文件,规格
)规格
.如果你想:
在Simulink软件中使用Force Accele金宝apprator模式的TLC内联代码生成s函数。见描述的ssSetOptions
SimStruct功能和SS_OPTION_USE_TLC_WITH_ACCELERATOR
s功能选项,了解更多信息。
使用金宝app仿真软件编码器™软件从您的Simulink模型生成代码。金宝app有关更多信息,请参见使用遗留代码工具将外部代码调用导入生成的代码中(金宝app仿真软件编码器).
legacy_code(“sfcn_makecfg_generate”,
生成一个规格
)sFunction
_makecfg.m
遗留代码工具基于数据结构生成的s函数文件,规格
.如果你使用金宝app仿真软件编码器要从您的Simulink模型生成代码,您可以使用此选项金宝app为S-function构建过程指定附加项,如源文件夹、预处理器宏和链接对象。例如,您可以指定S-function所依赖的源文件,这些源文件不在包含生成的S-function可执行文件的文件夹中。有关更多信息,请参见使用makecfg为S-Functions定制生成的makefile(金宝app仿真软件编码器)和使用遗留代码工具将外部代码调用导入生成的代码中(金宝app仿真软件编码器).
legacy_code(“rtwmakecfg_generate”,
生成一个规格
)rtwmakecfg.m
遗留代码工具基于数据结构生成的s函数文件,规格
.如果你使用金宝app仿真软件编码器要从您的Simulink模型生成代码,您可以使用此选项金宝app为S-function构建过程指定附加项,如源文件夹、预处理器宏和链接对象。例如,您可以指定S-function所依赖的源文件,这些源文件不在包含生成的S-function可执行文件的文件夹中。有关更多信息,请参见使用rtwmakecfg。m API来定制生成的makefile(金宝app仿真软件编码器)和使用遗留代码工具将外部代码调用导入生成的代码中(金宝app仿真软件编码器).
legacy_code(“backward_compatibility”)
自动更新使用遗留代码工具的语法,以支持本参考页和中所描述的语法金宝app使用遗留代码工具集成C函数.
规格
具有以下字段的结构:
函数的名字
SFunctionName
(必选)-指定由遗留代码工具生成的s函数的名称的字符向量。
定义遗留代码工具功能规范
InitializeConditionsFcnSpec
-一个非空字符向量,指定s函数调用的函数来初始化和重置状态。您必须使用Simulink软件可以解释的令牌来声明这个函数,如金宝app声明遗留代码工具功能规范.
OutputFcnSpec
-一个非空字符向量,指定s函数在每个时间步骤调用的函数。您必须使用Simulink软件可以解释的令牌来声明这个函数,如金宝app声明遗留代码工具功能规范.
StartFcnSpec
-字符向量,指定s函数开始执行时调用的函数。该函数可以访问s -函数参数参数和工作数据。您必须使用Simulink软件可以解释的令牌来声明这个函数,如金宝app声明遗留代码工具功能规范.
TerminateFcnSpec
-字符向量,指定s函数终止执行时调用的函数。该函数可以访问s -函数参数参数和工作数据。您必须使用Simulink软件可以解释的令牌来声明这个函数,如金宝app声明遗留代码工具功能规范.
定义编译资源
HeaderFiles
-字符向量的单元格数组,指定编译所需的头文件的文件名。
源文件
-指定编译所需的源文件的字符向量单元格数组。可以使用绝对路径名或相对路径名指定源文件。
HostLibFiles
-指定主机编译所需的库文件的字符向量单元格数组。可以使用绝对路径名或相对路径名指定库文件。
TargetLibFiles
-指定目标(即独立)编译所需的库文件的字符向量单元格数组。可以使用绝对路径名或相对路径名指定库文件。
IncPaths
—字符向量的单元格数组,指定包含头文件的目录。可以使用绝对路径名或相对路径名指定目录。
SrcPaths
—字符向量单元格数组,指定包含源文件的目录。可以使用绝对路径名或相对路径名指定目录。
LibPaths
—字符向量单元格数组,指定包含主机和目标库文件的目录。可以使用绝对路径名或相对路径名指定目录。
指定采样时间
SampleTime
-下列其中一项:
如果指定此字段,则必须在最后指定。
定义功能选项
选项
-控制s功能选项的结构。该结构的字段包括:
canBeCalledConditionally
—指定s功能设置的逻辑值SS_OPTION_CAN_BE_CALLED_CONDITIONALLY
选择。默认值为true (1
).
convertNDArrayToRowMajor
—指定矩阵在列主格式和行主格式之间自动转换的逻辑值。在MATLAB、Simulink和生成的代码中使用了列-主格式。金宝appc使用的是row-major格式。默认值为假
(0
).如果您当前指定该选项的以前版本,convert2DMatrixToRowMajor
,函数自动指定newconvertNDArrayToRowMajor
选择。
请注意
此选项不支持复杂数据的二维矩阵。金宝app
isMacro
-指定遗留代码是否为C宏的逻辑值。默认值为false (0
).
isVolatile
—指定s功能设置的逻辑值SS_OPTION_NONVOLATILE
选择。默认值为true (1
).
语言
—指定任意一种的字符向量“C”
或“c++”
作为遗留代码工具将产生的s函数的目标语言。缺省值是“C”
.
请注意
遗留代码工具可以与c++函数交互,但不能与c++对象交互。为了工作,看遗留代码工具的限制在Simuli金宝appnk文档中。
outputsConditionallyWritten
—指定遗留代码是否有条件地写入输出端口的逻辑值。如果真正的
,生成的s -函数指定与每个输出端口相关联的内存不能被覆盖,并且是全局的(SS_NOT_REUSABLE_AND_GLOBAL
).如果假
,与每个输出端口相关联的内存是可重用的并且是本地的(SS_REUSABLE_AND_LOCAL
).缺省值是假
(0
).有关更多信息,请参见ssSetOutputPortOptimOpts
.
singleCPPMexFile
—逻辑值,表示“如果”真正的
,指定生成的代码:
要求您生成并管理一个内联的s函数作为一个文件(. cpp
)而不是两个(.c
和.tlc
).
维护由模型配置参数指定的模型代码风格(表达式中括号的使用程度和操作数顺序的保留以及if语句中条件表达式的保留)。
缺省值是假
.
限制
不能设置singleCPPMexFile
字段真正的
如果
Options.language =“c++”
控件中使用下列Simulink对象之一金宝appIsAlias
属性设置为真正的
:
金宝app仿真软件。公共汽车
金宝app仿真软件。AliasType
金宝app仿真软件。NumericType
遗留代码工具功能规范包括void *
或void * *
表示状态参数的标量工作数据
HeaderFiles
字段指定多个头文件
金宝appsupportsMultipleExecInstances
—一个逻辑值,指定是否包含对ss金宝appSupportsMultipleExecInstances
函数。缺省值是假
(0
).
金宝appsupportCodeReuseAcrossModels
-一个逻辑值,指定生成的s函数是否可以跨模型引用层次重用。如果真正的
,生成的s函数包括ssSet金宝appSupportedForCodeReuseAcrossModels
函数调用。代码生成器生成s函数的代码slprj \ ert \ _sharedutils
文件夹中。
金宝appsupportCoverage
—指定生成的s功能是否必须与Model Coverage兼容的逻辑值。缺省值是假
(0
).
金宝appsupportCoverageAndDesignVerifier
—指定生成的s -功能是否必须与Model Coverage和兼容的逻辑值金宝app仿真软件设计校验™.缺省值是假
(0
).
useTlcWithAccel
—指定s功能设置的逻辑值SS_OPTION_USE_TLC_WITH_ACCELERATOR
选择。默认值为true (1
).
modelname
一个Simulink模型的名金宝app称,Legacy Code Tool将在其中插入当您指定时生成的蒙面S-function块legacy_code
用动作角色向量“slblock_generate”
.如果省略此参数,该块将出现在一个空的模型编辑器窗口中。