Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

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

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

在 Configuration Parameters 对话框中,以下配置参数位于 Code Generation > Interface 窗格中。

参数说明

Code replacement library

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

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

Shared code placement

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

Support: floating-point numbers (Embedded Coder)

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

Support: non-finite numbers

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

Support: complex numbers (Embedded Coder)

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

Support: absolute time (Embedded Coder)

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

Support: continuous time (Embedded Coder)

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

Support: variable-size signals (Embedded Coder)

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

Code interface packaging

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

Multi-instance code error diagnostic

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

Pass root-level I/O as (Embedded Coder)

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

Remove error status field in real-time model data structure (Embedded Coder)

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

Include model types in model class (Embedded Coder)

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

Array layout

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

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 interface

为 ASAP2 数据接口生成代码。

External mode

为外部模式数据接口生成代码。

Transport layer

指定通信的传输协议。

MEX-file arguments

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

Static memory allocation

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

Static memory buffer size

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

Target library

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

cuDNN” 或 “TensorRT” 需要 GPU Coder 许可证。

ARM Compute Library version

指定 ARM® Compute Library 的版本。

ARM Compute Library architecture

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

Auto tuning

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

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

这些配置参数在 Advanced parameters 下。

参数说明

Language standard

为您的执行环境指定标准数学库。请确认您的编译器支持您要使用的库;否则会出现编译时错误。

C89/C90 (ANSI)” - ISO®/IEC 9899:1990 C 标准数学库
C99 (ISO)” - ISO/IEC 9899:1999 C 标准数学库
C++03 (ISO)” - ISO/IEC 14882:2003 C++ 标准数学库

Support non-inlined S-functions (Embedded Coder)

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

Maximum word length

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

Buffer size of dynamically-sized string (bytes)

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

Multiword type definitions (Embedded Coder)

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

Classic call interface

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

Use dynamic memory allocation for model initialization (Embedded Coder)

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

Single output/update function

指定是否生成 model_step 函数。

Terminate function required (Embedded Coder)

指定是否生成 model_terminate 函数。

Combine signal/state structures (Embedded Coder)

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

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

MAT 文件日志记录

指定 MAT 文件日志记录。

MAT-file variable name modifier (Embedded Coder)

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

Existing shared code (Embedded Coder)

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

Remove disable function (Embedded Coder)

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

Remove reset function (Embedded Coder)

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

LUT object struct order for even spacing specification

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

LUT object struct order for explicit value specification

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

Generate destructor (Embedded Coder)

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

Use dynamic memory allocation for model block instantiation (Embedded Coder)

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

Code replacement library

使用代码替换工具创建自定义代码替换库。

Ignore custom storage classes (Embedded Coder)

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

Ignore test point signals (Embedded Coder)

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

Implement each data store block as a unique access point (Embedded Coder)

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

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

参数说明
GenerateSharedConstants

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

InferredTypesCompatibility

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

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 模型生成的初始化和单步函数的函数原型。

ParMdlRefBuildCompliant

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

CompOptLevelCompliant
off, on

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

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

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

生成包含时间戳的完整头文件。

对于 ERT 目标,此参数位于 Code Generation > Templates 窗格中。

以下参数仅供 MathWorks 使用。

参数说明
ExtModeTesting仅供 MathWorks 使用。
ExtModeIntrfLevel仅供 MathWorks 使用。
ExtModeMexFile仅供 MathWorks 使用。

相关主题