当您选择一个系统目标文件(例如grt.tlc
),选择定义运行时环境和代码生成特性。要识别与开发过程目标相匹配的系统目标文件特性,请参见:
代码生成器使用系统目标文件生成用于在特定目标硬件或操作系统上执行的代码。系统目标文件调用其他特定于运行时环境的文件。有关为目标硬件配置模型代码生成参数的详细信息,请参见配置运行时环境选项.
不同类型的系统目标文件支持生成的代码特性的选择。万博1manbetx的值CodeFormat
TLC变量和相应的rtwgensettings。本文建立
字段值标识系统目标文件类型和生成的代码特性。这些选择控制在代码生成过程中的几个点上做出的决定。这些决策包括模型构建是否生成以及如何生成:
某些数据结构(例如,SimStruct
或rtModel
)
静态或动态内存分配代码
为生成的模型函数调用接口
对于自定义系统目标文件开发,请遵循以下准则:
属性的值,则系统目标文件不包含CodeFormat
TLC变量,默认值为实时
通用实时目标(GRT)。相应的rtwgensettings。本文建立
字段值为grt.tlc
(默认值)。
如果您正在开发自定义系统目标文件,并且拥有嵌入式Coder软件的许可证,请考虑设置CodeFormat
TLC变量值为Embedded-C
嵌入式实时目标(ERT)。相应的rtwgensettings。本文建立
字段值为ert.tlc
.ERT系统目标文件比GRT系统目标文件支持更多的生成代万博1manbetx码特性。
属性的值如何设置为CodeFormat
TLC变量和相应的rtwgensettings。本文建立
字段的值ert.tlc
.
%assign CodeFormat = "Embedded-C" /% BEGIN_RTW_OPTIONS rtwgensettings. %DerivedFrom = 'ert.tlc';END_RTW_OPTIONS % /
的值必须使用CodeFormat
TLC变量与其对应rtwgensettings。本文建立
字段值为模型生成的代码。如果没有显式选择,则对应默认值。有关更多信息,请参见系统目标文件结构.
有关缺省情况下为GRT和ERT系统目标文件生成的优化调用接口的描述,请参见为模型入口点函数配置代码生成.
实时模型数据结构(rtModel
)以更紧凑的形式封装特定于模型的信息SimStruct
.与生成的代码相关的许多效率依赖于的生成rtModel
而不是SimStruct
,包括:
整数绝对和流逝计时服务
用于异步任务的独立计时器
生成改进的C API代码,用于信号、状态和参数监控
修剪数据结构以最小化其大小(仅限ert派生的系统目标文件)
的描述rtModel
数据结构,见使用实时模型数据结构.
以下主题提供了关于生成的代码特性的更多信息:
支持的系统目标文件如下表所示。万博1manbetx
您可以使用系统目标文件浏览器从一系列系统目标文件中进行选择。这个选择允许您试验配置选项,并保存具有不同配置的模型。但是,您不能为非grt系统目标文件构建或生成代码,除非您的系统上拥有所需的许可。例如,您需要嵌入式编码器®对于ERT系统目标文件,需要万博1manbetx®桌面实时™用于SLDRT系统目标文件,等等。
为您的模型选择一个系统目标文件,为构建过程控制选择工具链方法或模板生成文件方法。有关这些方法的详细信息,请参见选择生成方法并配置生成过程.
系统目标文件可从系统目标文件浏览器
系统目标文件 |
文件名 |
参考 |
---|---|---|
嵌入式编码器(适用于PC或UNIX®[一个]平台) |
|
配置系统目标文件(嵌入式编码) |
创建Visual c++®[b]嵌入式编码器解决方案文件 |
(需要 |
配置系统目标文件(嵌入式编码) |
嵌入式编码器AUTOSAR |
|
AUTOSAR代码生成入门(嵌入式编码) |
通用实时(适用于PC或UNIX平台) |
|
|
创建Visual c++解决方案文件 |
(需要 |
|
快速模拟(默认用于PC或UNIX平台) |
|
|
快速仿真LCC编译器 |
|
|
UNIX平台的快速仿真 |
|
|
快速仿真Visual c++编译器 |
|
|
适用于PC或UNIX平台的S-Function |
|
|
LCC的s函数 |
|
|
用于UNIX平台的s -函数 |
|
|
用于Visual c++编译器的s -函数 |
|
|
ASAM-ASAP2数据定义 |
|
|
万博1manbetxSimulink桌面实时 |
|
设置外部模式代码生成参数(万博1manbetxSimulink Desktop real) |
万博1manbetx仿真软件实时™ |
|
万博1manbetxSimulink实时选项窗格(万博1manbetx实时仿真软件) |
IDE Link能力 |
|
嵌入式IDE或目标主题等模型设置(嵌入式编码) |
[一个] UNIX是The Open Group在美国和其他国家的注册商标。 [b] Visual c++是微软的注册商标®公司。 [c] 环球套票。中的MSVCBuild模板makefile字段。这将创建并构建带有调试配置的Visual c++解决方案(.sln)文件。 |
代码生成器生成两种类型的代码。有一种代码风格适合快速原型设计(以及通过使用代码生成进行模拟)。另一种风格适用于嵌入式应用程序。下表将系统目标文件映射到相应的代码样式。
系统目标文件列出的代码样式
系统目标文件 |
代码风格 |
目的 |
---|---|---|
嵌入式编码器嵌入式实时(ERT) |
嵌入式 |
嵌入式应用程序开发的C/ c++生成代码的起点 |
万博1manbetx仿真软件编码器™通用实时(GRT) |
快速原型 |
用于创建不使用实时操作系统任务原语的快速原型目标硬件,并用于在桌面计算机上验证生成的C/ c++代码 |
快速模拟(RSim) |
快速原型 |
提供桌面计算机上的非实时仿真和高速或批处理仿真工具 |
功能 |
快速原型 |
在另一个Simulink模型中创建用于仿真的C MEX s函数万博1manbetx |
万博1manbetxSimulink桌面实时 |
快速原型 |
在桌面计算机运行时,在中断级别实时运行模型微软视窗系统®在背景中 |
万博1manbetx实时仿真软件 |
快速原型 |
在运行的台式计算机上实时运行模型万博1manbetx实时仿真软件内核 |
第三方供应商为代码生成器提供额外的系统目标文件。有关第三方产品的更多信息,请参阅MathWorks Connections程序s manbetx 845网页://www.tianjin-qmedu.com/s manbetx 845products/connections
.
实时系统目标文件(如GRT)的代码生成过程提供了许多嵌入式代码优化。GRT和ERT系统目标文件有许多共同的特性。但是,选择基于ert的系统目标文件可以提供更广泛的特性。系统目标文件选择决定代码生成产品的可用特性。下表比较了可用的代码特性万博1manbetx仿真软件编码器和功能可与嵌入式编码器。
比较代码生成特性万博1manbetx编码器与嵌入式编码器
功能 |
万博1manbetx仿真软件编码器 |
嵌入式编码器 |
---|---|---|
|
|
|
自定义存储类 |
代码生成忽略csc;对象被分配一个CSC默认值 |
支持使用CSCs生成代码万博1manbetx |
HTML代码生成报告 |
基本的HTML代码生成报告 |
增强报告,增加了模型的详细信息和超链接 |
符号格式 |
符号(用于信号、参数等)是根据硬编码的默认值生成的 |
对生成的符号的详细控制。 |
用户自定义生成符号的最大标识符长度 |
万博1manbetx支持 |
万博1manbetx支持 |
终止函数的生成 |
生成的 |
选项,禁止终止函数 |
组合输出/更新功能 |
生成单独的输出/更新函数 |
选项生成组合输出/更新功能 |
优化的数据初始化 |
不可用 |
抑制为零值内存、I/O端口等生成不必要的初始化代码的选项 |
评论一代 |
包括或禁止评论生成的基本选项 |
选项包括Simulink块描述、状态流万博1manbetx®对象描述,以及注释中的Simulink数据对象描述万博1manbetx |
模块包装特性(强积金) |
不支持万博1manbetx |
广泛的代码定制功能(参见在生成的代码中控制数据类型名称(嵌入式编码器)和MPT数据对象属性(嵌入式编码器))。 |
系统目标文件优化的数据类型头文件 |
需要完整的 |
生成优化的 |
用户定义的类型 |
用户定义类型在代码生成中默认为基类型 |
在代码生成中支持用户定义的数据类型别名万博1manbetx |
率分组 |
不支持万博1manbetx |
万博1manbetx支持 |
主程序模块自动生成 |
不支持;万博1manbetx提供静态主程序模块。 |
支持自动和自定义生成主程序模块(也可使用静态主程序)万博1manbetx |
可重用(多实例)代码生成 |
使用动态内存分配生成可重用代码的选项 |
选项,生成带有静态或动态内存分配的可重用代码 |
软件约束选项 |
万博1manbetx启用对浮点数、复数和非有限数的支持 |
选项,用于启用或禁用对浮点数、复数和非有限数的支持万博1manbetx |
应用寿命 |
默认为 |
指定的;确定整数计时器最有效的字大小 |
软件在环(SIL)测试 |
模型参考仿真目标可用于SIL测试 |
额外的SIL测试支持使用自动生成SIL块万博1manbetx |
ANSI®[一个]-C/ c++代码生成 |
万博1manbetx支持 |
万博1manbetx支持 |
ISO®[b]-C/ c++代码生成 |
万博1manbetx支持 |
万博1manbetx支持 |
GNU®[c]-C/ c++代码生成 |
万博1manbetx支持 |
万博1manbetx支持 |
生成标量内联参数为 |
不支持万博1manbetx |
万博1manbetx支持 |
mat文件变量名修饰符 |
万博1manbetx支持 |
万博1manbetx支持 |
数据交换:C API, ASAP2,外部模式 |
万博1manbetx支持 |
万博1manbetx支持 |
[一个] ANSI是美国国家标准协会,Inc.的注册商标。 [b] ISO是国际标准化组织的注册商标。 [c] GNU是自由软件基金会的注册商标。 |
代码生成器支持为不同类型的系统目标文件万博1manbetx选择生成的代码特性。的值在每个系统目标文件中CodeFormat
TLC变量标识特征集。
下表总结了不同的系统目标文件如何支持应用程序:万博1manbetx
应用程序 |
系统目标文件 |
---|---|
固定或可变步长加速度 |
RSIM, s -函数,模型参考 |
固定步长实时部署 |
导通,万博1manbetx实时仿真软件,万博1manbetxSimulink桌面实时,…… |
下表总结了每种方法的各种选项系统目标文件选择,并注明例外情况。
为系统目标文件(S万博1manbetxTF)生成的代码支持的特性
系统目标文件(STF) | ||||||||
---|---|---|---|---|---|---|---|---|
功能 |
grt.tlc1 |
ert.tlc1 |
ert_shrlib.tlc1 |
rtwsfcn.tlc1 |
rsim.tlc1 |
sldrt.tlc1 |
slrt.tlc1 |
其他1 |
静态内存分配 |
X |
X |
X |
X |
X |
|||
动态内存分配 |
X4、5 |
X4、5 |
X |
X |
X |
|||
连续时间 |
X |
X |
X |
X |
X |
X |
||
C/ c++ MEX s -函数 |
X |
X |
X |
X |
X |
X |
||
功能(内联) |
X |
X |
X |
X |
X |
X |
X |
|
尽量减少RAM/ROM的使用 |
X |
X2 |
X |
|||||
万博1manbetx支持外部模式 |
X |
X |
X |
X |
X |
|||
快速原型 |
X |
X |
X |
X |
||||
产品代码 |
X |
X2 |
X3. |
|||||
批量参数调优和蒙特卡罗方法 |
X |
X |
||||||
系统级仿真器 |
X |
|||||||
在硬实时执行 |
X3. |
X3. |
X |
X |
X5 |
|||
包括非实时可执行文件 |
X |
X |
X |
|||||
模型的多个实例 |
X4、5 |
X4、5 |
X4 |
X4、5 |
X4、5 |
|||
万博1manbetx支持可变步长求解器 |
X |
X |
||||||
万博1manbetx支持银/公益诉讼 |
X |
X |
1系统目标文件:grt.tlc-通用实时目标,ert.tlc-嵌入式实时目标,ert_shrlib.tlc-嵌入式实时目标共享库),rtwsfcn.tlc- s函数,rsim.tlc-快速模拟,sldrt.tlc-万博1manbetxSimulink桌面实时,slrt.tlc-万博1manbetx实时仿真软件,其他-嵌入式实时功能万博1manbetx仿真软件编码器万博1manbetx支持其他系统目标文件。
2不适用于基于grt的系统目标文件。仅适用于基于ert的系统目标文件。
3.默认的GRT和ERTrt_main
文件模拟硬实时的执行,当显式连接到实时时钟时执行硬实时。
4您可以为状态流图或包含图表的子系统的多个实例生成代码,除非图表包含导出的图形函数或状态流模型包含机器父事件。
5必须选择该值可重用的功能
为代码接口打包在代码生成>接口窗格中的“配置参数”对话框。