Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

模型配置参数:代码生成接口

代码生成 > 接口类别包括用于配置生成代码接口的参数。这些参数需要具备 Simulink® Coder™ 许可证。适用于基于 ERT 的目标的其他参数需要具备 Embedded Coder® 许可证。使用 NVIDIA® CUDA® 深度神经网络库 (cuDNN) 或适用于 NVIDIA GPU 的 TensorRT™ 高性能推理库为深度学习模型生成代码需要 GPU Coder™ 许可证。

在“配置参数”对话框中,以下配置参数位于代码生成 > 接口窗格中。

参数描述

Code replacement library

指定代码生成器在为模型生成代码时使用的代码替换库。

Code replacement libraries

指定代码生成器在为模型生成代码时使用的多个代码替换库。

共享代码位置

指定生成工具函数、导出的数据类型定义和具有自定义存储类的导出数据声明的位置。

Support: floating-point numbers

指定是否生成浮点数据和运算。

Support: non-finite numbers

指定是否生成非有限数据以及对非有限数据的运算。

Support: complex numbers

指定是否生成复数数据和运算。

Support: absolute time

指定是否为绝对时间值和历时值生成和保留整数计数器。

Support: continuous time

指定是否为使用连续时间的模块生成代码。

当您对配置了服务接口的组件模型使用 Embedded Coder 时,此参数不适用。

支持:可变大小信号

指定是否为使用可变大小信号的模型生成代码。

Code interface packaging

选择生成的代码 C 或 C++ 代码接口的打包。

Multi-instance code error diagnostic

选择在模型违反生成多实例代码要求时显示的诊断严重性级别。

Pass root-level I/O as

控制如何将根级模型输入和输出传递给可重用的 model_step 函数。

Remove error status field in real-time model data structure

指定是记录还是监控错误状态。

Include model types in model class

指定是否在模型类中生成模型类型定义。

数组布局

将代码生成的数组数据的布局指定为列优先或行优先

External functions compatibility for row-major code generation

选择在 Simulink 遇到未指定数组布局的函数时的诊断操作

Generate C API for: signals

生成具有信号结构体的 C API 数据接口代码。

Generate C API for: parameters

生成具有参数调整结构体的 C API 数据接口代码。

Generate C API for: states

生成具有状态结构体的 C API 数据接口代码。

Generate C API for: root-level I/O

生成具有根级 I/O 结构体的 C API 数据接口代码。

ASAP2 接口

为 ASAP2 数据接口生成代码。

外部模式

为外部模式数据接口生成代码。当对配置了服务接口的组件模型使用 Embedded Coder 时,此参数不相关,因此不受支持。

Transport layer

指定通信的传输协议。

MEX-file arguments

指定要传递给外部模式接口 MEX 文件的参数,以便与正在执行的目标通信。

Static memory allocation

控制用于外部模式通信的内存缓冲器。

Static memory buffer size

指定用于外部模式通信的内存缓冲区大小。

Automatically allocate static memory

自动为外部模式通信中使用的缓冲区分配静态内存。

Maximum duration

在确定外部模式通信所需的静态内存大小时,以基本速率步指定软件必须考虑的最大持续时间。

Target library

指定在代码生成过程中使用的目标深度学习库。

cuDNNTensorRT 需要 GPU Coder 许可证。

Learnables Compression

指定压缩类型 "none""bfloat16"

ARM Compute Library version

指定 ARM® Compute Library 的版本。

ARM Compute Library architecture

指定目标硬件支持的 ARM 架构。

Auto tuning

对 cuDNN 库使用自动调整。启用自动调整后,cuDNN 库可找到最快的卷积算法。

此参数要求具有 GPU Coder 许可证。

这些配置参数位于高级参数下。

参数描述

Support non-inlined S-functions

指定是否为非内联的 S-Function 生成代码。

当您对配置了服务接口的组件模型使用 Embedded Coder 时,此参数不适用。

Maximum word length

指定代码生成过程在生成系统定义的多字类型定义时使用的最大字长(以位为单位)。

Buffer size of dynamically-sized string (bytes)

为没有最大长度的动态字符串信号生成的字符缓冲区的字节数。

Multiword type definitions

指定在生成的代码中对多字数据类型使用系统定义的还是用户定义的类型定义。

Classic call interface

指定是否生成与 R2012a 之前创建的模型中 GRT 目标的主程序模块兼容的模型函数调用。

当您对配置了服务接口的组件模型使用 Embedded Coder 时,此参数不适用。

使用动态内存分配进行模型初始化

控制生成的代码如何为模型数据分配内存。

Single output/update function

指定是否生成 model_step 函数。

当您对配置了服务接口的组件模型使用 Embedded Coder 时,此参数不适用。

Terminate function required

指定是否生成 model_terminate 函数。

Combine signal/state structures

指定是否在生成的代码中将全局模块信号和全局状态数据合并到一个数据结构体中

当您对配置了服务接口的组件模型使用 Embedded Coder 时,将无法清除此参数。

Generate separate internal data per entry-point function将模型中以相同速率工作的模块信号(模块 I/O)和离散状态 (DWork) 生成为相同的数据结构。

MAT-file logging

指定 MAT 文件日志记录。

当您对配置了服务接口的组件模型使用 Embedded Coder 时,此参数不适用。

MAT-file variable name modifier

选择要添加到 MAT 文件变量名称的文本。

Existing shared code

指定包含现有共享代码的文件夹

Remove disable function

从包含模型引用层次结构的基于 ERT 的系统的生成代码中删除 disable 函数的不可达(死代码)实例。

Remove reset function

从包含模型引用层次结构的基于 ERT 的系统的生成代码中删除 reset 函数的不可达(死代码)实例。

LUT object struct order for even spacing specification

更改为查找表对象(其设定参数设置为显式值)生成的结构体中字段的顺序。

LUT object struct order for explicit value specification

更改为查找表对象(其设定参数设置为显式值)生成的结构体中字段的顺序。

Generate destructor

指定是否为 C++ 模型类生成析构函数。

Use dynamic memory allocation for model block instantiation

指定在模型对象注册期间,生成的代码是否使用运算符 new 为配置有 C++ 类接口的引用模型实例化对象。

Ignore custom storage classes

指定是应用还是忽略自定义存储类。

Ignore test point signals

指定测试点的内存缓冲区分配。

Implement each data store block as a unique access point

为 Data Store Memory 模块的每次读取/写入操作创建唯一变量。

Generate full file banner

生成完整的头文件前注,包括时间戳。

高级参数下的以下参数不常使用,没有其他文档。

参数描述
GenerateSharedConstants

控制代码生成器是否生成具有共享常量和共享函数的代码。默认值是 on。当设置为 off 时,代码生成器不生成共享常量。

InferredTypesCompatibility

为了与包括 tmwtypes.h 在内的原有代码兼容,请指定代码生成器在 model.h 内创建预处理器指令 #define __TMWTYPES__

TargetLibSuffix
character vector - ''

控制用于命名目标的依存库的后缀(例如,_target.lib_target.a)。如果指定,字符向量必须包含句点 (.)。(对于生成的模型引用库,库的后缀在 Windows® 系统上默认为 _rtwlib.lib,在 UNIX® 系统上默认为 _rtwlib.a。)

此参数不适用于使用工具链方法的模型编译,请参阅Library Control Parameters

TargetPreCompLibLocation
character vector - ''

控制预编译库的位置。如果不设置此参数,代码生成器将使用 rtwmakecfg.m 中指定的位置。

IsERTTarget

指示当前选择的目标是否派生自 ERT 目标。

CPPClassGenCompliant

指示目标是否支持生成和配置与模型代码交互的 C++ 类接口。

ConcurrentExecutionCompliant

指示目标是否支持并发执行

UseToolchainInfoCompliant

指示自定义目标符合工具链。

ModelStepFunctionPrototypeControlCompliant

指示目标是否支持控制为 Simulink 模型生成的初始化和单步函数的函数原型。

当您对配置了服务接口的组件模型使用 Embedded Coder 时,此参数不适用。

ParMdlRefBuildCompliant

指示在编译包含引用模型的模型时,模型是否配置为并行编译。

CompOptLevelCompliant
off, on

SelectCallback 中为目标设置,以指示目标是否支持使用编译器优化级别参数控制用于编译所生成代码的编译器优化级别。

对于自定义目标,默认值为 off,对于 Simulink Coder 和 Embedded Coder 产品提供的目标,默认值为 on

ModelReferenceCompliant
字符向量 - offon
SelectCallback 中为目标设置,以指示目标是否支持模型引用。

以下参数仅供 MathWorks 使用。

参数描述
ExtModeTesting仅供 MathWorks 使用。
ExtModeIntrfLevel仅供 MathWorks 使用。
ExtModeMexFile仅供 MathWorks 使用。

相关主题