当您选择一个系统目标文件(例如grt.tlc.
),选择定义运行时环境和代码生成功能。确定与代码生成工作流程目标匹配的系统目标文件功能。
代码生成器使用系统目标文件生成用于在特定目标硬件或特定操作系统上执行的代码。系统目标文件调用其他特定于环境的运行时文件。有关为目标硬件配置模型代码生成参数的更多信息,请参见配置运行时环境选项(金宝app仿真软件编码器)。
不同类型的系统目标文件支持选择生成的代码功能。金宝app在系统目标文件中,值的值CodeFormat
TLC变量及其对应RTWGenettings .Fromedfrom
字段值标识系统目标文件类型和生成的代码特性。这些选择将您的代码生成控制决策应用于代码生成过程中的几个点。您的选择包括模型构建是否生成以及如何生成:
某些数据结构(例如,SimStruct
或Rtmodel.
)
静态或动态内存分配代码
用于生成的模型函数的接口
对于自定义系统目标文件开发,CodeFormat
代码生成目标之间的值不同:
如果系统目标文件不包含CodeFormat
TLC变量,默认值为实时
对于通用实时目标(GRT)。相应的RTWGenettings .Fromedfrom
字段值是grt.tlc.
(默认值)。
如果您正在开发自定义系统目标文件并且您已嵌入式编码器软件,请考虑设置CodeFormat
TLC变量值为Embedded-C
对于嵌入式实时目标(ert)。相应的RTWGenettings .Fromedfrom
字段值是ert.tlc
.ERT系统目标文件比GRT系统目标文件支持更多的生成代金宝app码特性。
的值如何CodeFormat
TLC变量及其对应RTWGenettings .Fromedfrom
中设置字段值ert.tlc
.
%assign CodeFormat = "Embedded-C" /% BEGIN_RTW_OPTIONS rtwgensettings。缘起于=“ert.tlc”;END_RTW_OPTIONS % /
的值CodeFormat
TLC变量与其对应RTWGenettings .Fromedfrom
字段值生成模型的代码。如果您未明确选择值,则默认值对应。有关更多信息,请参阅系统目标文件结构(金宝app仿真软件编码器)。
有关默认情况下为GRT和ERT系统目标文件生成的优化呼叫接口的说明,请参阅配置模型入口点函数的代码生成(金宝app仿真软件编码器)。
使用GRT和ERT系统目标文件的代码生成使用实时模型数据结构(Rtmodel.
)。该结构以比仿真结构更紧凑的形式封装模型特定信息,SimStruct
.生成代码的许多有效特性依赖于生成Rtmodel.
而不是SimStruct
,包括:
整数绝对时间服务和经过时间服务
异步任务的独立计时器
为信号、状态和参数监控生成改进的C API代码
修剪数据结构以最大限度地减少其大小(仅限派生系统目标文件)
的描述Rtmodel.
数据结构,请参阅使用实时模型数据结构(金宝app仿真软件编码器)。
您可以使用系统目标文件浏览器从一系列系统目标文件中进行选择。这个选项允许您试验配置选项,并使用不同的配置保存模型。
您不能为非grt系统目标文件构建或生成代码,除非您的系统上有所需的软件。例如,您需要Embedded Coder®对于ERT系统目标文件,金宝app®桌面实时™用于SLDRT系统目标文件,等等。
为模型选择一个系统目标文件可以选择工具链方法或模板生成文件方法来进行构建过程控制。有关这些方法的更多信息,请参见选择构建方法并配置构建过程.
系统目标文件可从系统目标文件浏览器
金宝app支持的系统目标文件 |
文件名称 |
参考 |
---|---|---|
嵌入式编码器(PC或UNIX)®平台) |
|
|
创建Visual c++®嵌入式编码器的解决方案文件 |
(需要 |
|
嵌入式编码器为Autosar |
|
|
通用实时(适用于PC或UNIX平台) |
|
|
创建Visual c++解决方案文件 |
(需要 |
|
快速模拟(默认为PC或UNIX平台) |
|
|
LCC编译器的快速仿真 |
|
|
UNIX平台的快速仿真 |
|
|
用于Visual c++编译器的快速仿真 |
|
|
PC或UNIX平台的S函数 |
|
通过使用S函数目标加速模拟,重用代码或保护知识产权(金宝app仿真软件编码器) |
LCC的S函数 |
|
通过使用S函数目标加速模拟,重用代码或保护知识产权(金宝app仿真软件编码器) |
用于UNIX平台的S-Function |
|
通过使用S函数目标加速模拟,重用代码或保护知识产权(金宝app仿真软件编码器) |
Visual C ++编译器的S函数 |
|
通过使用S函数目标加速模拟,重用代码或保护知识产权(金宝app仿真软件编码器) |
ASAM-ASAP2数据定义 |
|
|
金宝appSimulink Desktop实时 |
|
设置外部模式代码生成参数(金宝appSimulink Desktop实时) |
金宝app仿真软件实时™ |
|
金宝appSimulink实时选项窗格(金宝appSimulink实时) |
要创建并构建带有调试配置的Visual c++解决方案(.sln)文件,请选择RTW。MSVCBuild在模板makefile.(金宝appSimulink编码器)字段。
代码生成器生成两种样式的代码。一种代码风格适合快速原型(以及使用代码生成进行模拟)。另一种风格适合嵌入式应用程序。这个表将系统目标文件映射到相应的代码样式。
由系统目标文件列出的代码样式
系统目标文件 |
代码风格 |
目的 |
---|---|---|
嵌入式编码器嵌入实时(ert) |
嵌入式 |
嵌入式应用程序开发C/ c++生成代码的起点。 |
金宝appSimulink Coder™通用实时(GRT) |
快速原型 |
创建快速原型设计硬件的起点,该目标硬件不使用实时操作系统任务原语,并用于验证桌面计算机上的生成的C / C ++代码。 |
快速仿真(RSim) |
快速原型 |
在桌面计算机上提供非实时模拟和高速或批量模拟工具。 |
功能 |
快速原型 |
在另一个Simulink模型中创建一个用于仿真的C MEX s函数。金宝app |
金宝appSimulink Desktop实时 |
快速原型 |
当桌面计算机运行时,在中断级别实时运行模型微软®窗户®在后台。 |
金宝appSimulink实时 |
快速原型 |
运行模型在一个运行的桌面计算机上实时金宝appSimulink实时内核。 |
第三方供应商提供额外的系统目标文件来支持其产品的代码生成。下载188bet金宝搏金宝app有关第三方产品的更多信息,请参阅供应商网站或MathWorks连接程序网页:下载188bet金宝搏//www.tatmou.com/下载188bet金宝搏products/connections
.
实时系统目标文件(如GRT)的代码生成过程提供了许多嵌入式代码优化。选择一个基于ert的系统目标文件提供了比GRT更广泛的特性。系统目标文件选择决定代码生成产品的可用特性。当您选择与您的开发过程相匹配的代码生成目标时,使用此表来比较可用的代码生成特性金宝appSimulink编码器以及嵌入式编码器可用的功能。
比较代码生成功能金宝app编码器相对嵌入式编码器
功能 |
金宝appSimulink编码器 |
嵌入式编码器 |
---|---|---|
|
|
|
自定义存储类 |
代码生成忽略了CSC。对象被分配给CSC默认值 |
支持使用CSCs生成代码金宝app |
HTML代码生成报告 |
基本HTML代码生成报告 |
增强的报告具有附加的详细信息和到模型的超链接 |
符号格式化 |
根据硬编码默认值生成符号(用于信号,参数等) |
详细控制生成的符号 |
用户定义的生成符号的最大标识符长度 |
金宝app支持的 |
金宝app支持的 |
终止功能的生成 |
生成的 |
选项以抑制终止功能 |
组合输出/更新功能 |
生成单独的输出/更新功能 |
选项生成组合输出/更新函数 |
优化的数据初始化 |
无法使用 |
禁止生成零值存储器,I / O端口等不必要初始化代码的选项 |
评论一代 |
包含或抑制注释生成的基本选项 |
选项包括Simulink块描述,sta金宝appteflow®对象描述,以及注释中的Simulink数据对象描述金宝app |
模块封装特性(MPF) |
不支持金宝app |
广泛的代码自定义特性参见在生成的代码中控制数据类型名称和MPT数据对象属性. |
系统目标文件优化的数据类型头文件 |
需要全部 |
生成优化 |
用户定义的类型 |
用户定义的类型默认为代码生成中的基本类型 |
代码生成中支持用户定义的数据类型别名金宝app |
速率分组 |
不支持金宝app |
金宝app支持的 |
主程序模块自动生成 |
不支持。金宝app提供静态主程序模块。 |
支持自动化和可定制的主程序模块(静态主程序也可用)金宝app |
可重用(多实例)代码生成 |
选择具有动态内存分配的可重用代码的选项 |
选择生成可重用代码与静态或动态内存分配 |
软件限制选项 |
金宝app支持浮点数、复数和非有限数 |
启用或禁用浮点数、复数和非有限数支持的选项金宝app |
应用程序生命周期 |
默认为 |
指定的。确定整数计时器最有效的字长 |
Software-in-the-loop (SIL)测试 |
模型参考仿真目标可用于SIL测试 |
额外的SIL测试支持使用自动生成SIL块金宝app |
ANSI.®-c / c ++代码生成 |
金宝app支持的 |
金宝app支持的 |
ISO®-c / c ++代码生成 |
金宝app支持的 |
金宝app支持的 |
GNU®-c / c ++代码生成 |
金宝app支持的 |
金宝app支持的 |
生成标量内向参数为 |
不支持金宝app |
金宝app支持的 |
mat文件变量名修饰符 |
金宝app支持的 |
金宝app支持的 |
数据交换:C API, ASAP2,外部模式 |
金宝app支持的 |
金宝app支持的 |
代码生成器支持为不同类型的系统目标文件金宝app选择生成的代码特性。在每个系统目标文件中,CodeFormat
TLC变量标识特征集。
该表总结了不同的系统目标文件如何支持应用程序。金宝app
应用程序 |
系统目标文件(STF) |
---|---|
定阶或变阶加速度 |
RSIM, s -功能,模型参考 |
固定步实时部署 |
导通,金宝appSimulink实时,金宝appSimulink Desktop实时, ... |
此表总结了每个可用的各种选项系统目标文件选择,注意到例外。
为系统目标文件生成金宝app的代码中支持的功能(STF)
系统目标文件(STF) | ||||||||
---|---|---|---|---|---|---|---|---|
功能 |
grt.tlc. (见注1)。 |
ert.tlc (见注1)。 |
ert_shrlib.tlc (见注1)。 |
rtwsfcn.tlc (见注1)。 |
rsim.tlc (见注1)。 |
sldrt.tlc (见注1)。 |
slrt.tlc. (见注1)。 |
其他 (见注1)。 |
静态内存分配 |
X |
X |
X |
X |
X |
|||
动态内存分配 |
X (见注释4、5。) |
X (见注释4、5。) |
X |
X |
X |
|||
连续时间 |
X |
X |
X |
X |
X |
X |
||
C / c++墨西哥人S-functions |
X |
X |
X |
X |
X |
X |
||
S函数(内衬) |
X |
X |
X |
X |
X |
X |
X |
|
减少RAM / ROM的使用 |
X |
X2 |
X |
|||||
金宝app支持外部模式 |
X |
X |
X |
X |
X |
|||
快速原型 |
X |
X |
X |
X |
||||
生产代码 |
X |
X2 |
X (见注3)。 |
|||||
批处理参数调谐和蒙特卡罗方法 |
X |
X |
||||||
系统级仿真器 |
X |
|||||||
在艰难的时候执行 |
X (见注3)。 |
X (见注3)。 |
X |
X |
X5 |
|||
包含非实时可执行文件 |
X |
X |
X |
|||||
模型的多个实例 |
X (见注释4、5。) |
X (见注释4、5。) |
X4 |
X (见注释4、5。) |
X (见注释4、5。) |
|||
金宝app支持解决变步 |
X |
X |
||||||
金宝app支持银/公益诉讼 |
X |
X |
笔记
系统目标文件:
grt.tlc.- 通用实时目标
ert.tlc-嵌入式实时目标
ert_shrlib.tlc-嵌入式实时目标共享库)
rtwsfcn.tlc- S函数
rsim.tlc——快速仿真
sldrt.tlc-金宝appSimulink Desktop实时
slrt.tlc.-金宝appSimulink实时
其他- 嵌入式实时功能金宝appSimulink编码器金宝app支持其他系统目标文件
不适用于基于grt的系统目标文件。仅适用于基于ert的系统目标文件。
默认的GRT和ERTrt_main
文件模拟硬实时执行。当显式连接到实时时钟时,它们以硬实时方式执行。
您可以为包含图表的状态流图或子系统的多个实例生成代码,除非该图表包含导出的图形函数或状态流模型包含机器父事件。
在“配置参数”对话框中,单击代码接口包装(金宝appSimulink Coder)字段,选择可重用的功能
.