主要内容

代码生成配置集

配置模型以进行仿真和代码生成

涉及代码生成的模型配置参数定义代码生成器如何从模型中生成代码并编译可执行文件。

模型设置

全部展开

共享代码生成器字典Embedded Coder 字典,包含用于代码生成的代码接口配置 (自 R2022b 起)
生成 Halide 代码生成 Halide 代码以实现更快的数组计算 (自 R2023b 起)
优先目标用于审查模型配置参数设置的代码生成顾问目标的优先列表

数据初始化

删除根级 I/O 零初始化控制根级输入端口和输出端口的初始化代码生成设置为零
删除内部数据零初始化控制内部工作结构(例如模块状态和模块输出)的初始化代码生成为零

优化级别

级别Optimization level for generated code
优先级Control application of optimizations based on priority
指定自定义优化启用选项以选择单独的优化参数
简化数组索引在循环中访问数组时,替换数组索引中的乘法运算
生成并行 for 循环并行 for 循环的优化
自动调度 for 循环自动调度生成的循环嵌套代码 (自 R2024a 起)
将布尔数据打包到位字段中控制存储布尔信号
重用不同大小和维度的缓冲区重用缓冲区来存储不同大小和维度的数据
优化全局数据访问优化全局变量使用
优化生成代码中的模块运算顺序指定重新排序模块操作以提高代码执行速度
重用全局模块输出重用全局变量的优化
重用 Model 模块的输出缓冲区如果可能的话,重用引用的模型缓冲区 (自 R2022b 起)
统一缓冲区重用候选项Analyze buffer reuse candidates to implement efficient reuses (自 R2025a 起)
为 Assignment 和 Bus Assignment 模块执行就地更新重用 Bus Assignment 和 Assignment 模块的输入和输出变量
重用 Data Store Read 和 Data Store Write 模块的缓冲区消除数据存储读取和 Data Store Write 模块的临时缓冲区
位字段声明符类型设定符指定位字段类型
可重用子系统输出的传递方式控制可重用子系统如何传递输出

高级参数

使用指定的最小值和最大值进行优化使用信号和参数的最小值和值进行优化
从可调参数表达式中删除对超出范围值进行饱和处理的代码Control generation of protective code that saturates out-of-range tunable parameter expression values
删除防止除法算术异常的代码控制除法运算异常的保护代码的生成
使用信号标签来指导缓冲区重用Reuse buffers by using signal labels
用于表示 Bitwise Operator 和 Logical Operator 模块的运算符Specify operator type in generated code
删除初始化为零值的局部变量控制设置为零的局部变量的初始化代码的生成 (自 R2023b 起)
代码到模型在代码生成报告中包含链接到模型图的超链接
模型到代码点击 Simulink 模块、Stateflow 对象和 MATLAB 函数时,在代码生成报告中启用代码突出显示
已消除模块/虚拟模块在代码生成报告中包含已消除块和虚拟模块的摘要
可追溯的 Simulink 模块在代码生成报告中包含 Simulink 模块的摘要和相应的代码位置
可追溯的 Stateflow 对象在代码生成报告中包含 Stateflow 对象的摘要和相应的代码位置
可追溯的 MATLAB 函数在代码生成报告中包含 MATLAB 函数和相应代码位置的摘要
摘要显示哪些模块触发了代码替换Include a summary of replacement functions used and their associated blocks in the code generation report
生成模型 Web 视图在代码生成报告中包含模型 Web 视图
静态代码度量生成静态代码度量报告
使用以下方式追溯至模型指定注释的格式
运算符注解在生成的注释中包含 Polyspace 的运算注解
Simulink 模块描述在生成的代码中插入模块的描述作为注释
Simulink 数据对象描述Simulink 数据对象的描述作为注释包含在生成的代码中
在模块注释中插入关联注解在生成的代码中包含连接的注解作为自定义注释 (自 R2024b 起)
自定义注释(仅限 MPT 对象)在生成的代码中包含 MPT 信号和参数数据的注释
自定义注释函数指定包含 MPT 信号和参数数据对象的注释的文件
Stateflow 对象描述在生成的注释中包含 Stateflow 对象的描述
在模块注释中包含需求描述Include requirement descriptions in generated comments
MATLAB 用户注释在生成的代码中包含 MATLAB 用户注释
插入 Polyspace 注释包含 Polyspace 模块注解的代码注释
注释样式指定生成代码中的注释样式

自动生成的标识符命名规则

全局变量自定义生成的全局变量标识符
全局类型自定义生成的全局类型标识符
全局类型的字段名称自定义生成的全局类型字段名称
子系统方法为子系统和 Simulink 函数自定义生成的函数名称
子系统方法参量为子系统和 Simulink 函数自定义生成的函数参量名称
局部临时变量自定义生成的局部临时变量标识符
局部模块输出变量自定义生成的局部模块输出变量标识符
常量宏自定义生成的常量宏标识符
代码生成 > 标识符 > 最小修饰长度指定名称重整的最小字符数
系统生成的标识符Specify whether to use shorter names for the $N token in system-generated identifiers
生成标量内联参数作为Express scalar inlined parameter values in the generated code as literals or macros

高级参数

共享校验和长度指定 $C 标记的字符长度
EMX 数组工具函数标识符格式emxArray 实用工具函数自定义生成的标识符
EMX 数组类型标识符格式emxArray 类型自定义生成的标识符
共享实用工具标识符格式自定义共享实用工具标识符
自定义标记文本指定要为 $U 标记插入的文本
信号命名指定生成的代码中 Simulink.Signalmpt.Signal 对象的命名规则
M 函数指定生成代码中标识符的命名规则
#define 命名指定生成代码中 #define 参数的命名规则
M 函数指定生成代码中标识符的命名规则
参数命名指定生成的代码中 Simulink.Parametermpt.Parameter 对象的命名规则
M 函数指定生成代码中标识符的命名规则

软件环境

代码替换库定义针对特定目标环境的代码优化的库
支持: 浮点数浮点数据的代码生成
支持: 复数复数数据的代码生成
支持: 绝对时间包含依赖于绝对时间或经过时间的模块的模型的代码生成
支持: 连续时间Code generation for blocks that use continuous time
支持: 可变大小信号可变大小信号的代码生成

代码接口

删除实时模型数据结构体中的错误状态字段是否记录错误状态
在生成的代码中保留 MATLAB 命名空间Specify whether generated code for enumeration in MATLAB namespace includes the namespace in the type definition (自 R2025a 起)
根级 I/O 传递方式指定生成代码如何将根级输入和输出传递给可重用执行入口函数
根级 I/O 实现方式Specify how generated code passes root-level input and output to nonreusable subcomponent execution entry-point function (自 R2025a 起)
在模型类中包含模型类型代码生成器是否将模型类型定义放在模型类中

高级参数

支持非内联 S-Function指定是否为非内联 S-Function 生成代码
多字类型定义Whether to define multiword data types as system- or user-defined types
使用动态内存分配进行模型初始化是否为初始化模型数据分配动态内存
需要终止函数是否生成终止入口函数
组合信号/状态结构体是否将全局模块信号和状态数据组合成一个结构
为每个入口函数生成单独的内部数据是否将表示以相同速率操作的信号和状态的变量放置在相同的数据结构中 (自 R2021a 起)
MAT 文件变量名称修饰符要添加到 MAT 文件变量名称的前缀或后缀
现有共享代码包含要使用的共享代码(而不是生成的共享实用工具代码)的文件夹
删除 disable 函数从生成的代码中删除无法访问的禁用函数实例
删除 reset 函数从生成的代码中删除无法访问的重置函数实例
忽略自定义存储类是否应用预定义存储类别
忽略测试点信号是否为测试点分配内存缓冲区
将每个数据存储模块实现为唯一访问点Whether to generate unique variable for each read and write operation on Data Store Memory block
括号层级生成代码的括号样式
保留表达式中的操作数顺序保留表达式中操作数的顺序
保留 if 语句中的条件表达式在 if 语句中保留空的主要条件
将 if-elseif-else 模式转换为 switch-case 语句为作为 switch-case 语句的 if-elseif-else 逻辑生成代码
在函数声明中保留 extern 关键字在函数声明中包含 extern 关键字
在函数声明中保留静态关键字在函数声明中包含 static 关键字
禁止为 Stateflow switch 语句生成不可达的默认 caseWhether to generate default cases for switch-case statements for Stateflow charts
将二次幂的乘法替换为有符号按位移位将二次幂的乘法替换为有符号按位移位
允许有符号整数右移允许对有符号整数进行右位移位
强制转换模式变量数据类型转换方法
静态数组容器类型Container type for static arrays
动态数组容器类型Container type for dynamic arrays (自 R2024b 起)
缩进样式括号放置样式
缩进大小生成的代码中缩进的大小
换行样式生成代码中的换行符
最大行宽生成代码换行的最大行宽
测量任务执行时间生成代码的执行时间分析
测量函数执行时间生成代码中函数的执行时间分析
工作区变量用于执行时间测量的工作区变量
保存选项Options for saving execution-time measurements
测量任务堆栈使用情况生成代码的堆栈使用情况分析 (自 R2022a 起)
堆栈工作区变量用于堆栈使用情况测量的工作区变量 (自 R2022a 起)
第三方工具Tool for code coverage analysis
启用可移植字长开发计算机和目标处理器之间的可移植性
对 SIL 启用源代码级别调试在 SIL 或 PIL 仿真期间生成的代码调试
创建模块SIL or PIL block creation
代码模板:源文件(*.c)模板源代码文件模板
代码模板:头文件(*.h)模板生成的代码头文件的模板
数据模板:源文件(*.c)模板生成的数据源文件的模板
数据模板:头文件(*.h)模板生成的数据头文件的模板
文件自定义模板用于自定义文件处理的模板
生成示例主程序控制示例主程序的生成
目标操作系统目标操作系统例如主程序
生成完整文件前注Include code generation information in header file banner
启用自定义文件前注控制是否使用代码和数据模板的配置
数据定义全局变量定义的位置
数据定义文件名要包含数据定义的文件
数据声明数据声明的位置
数据声明文件名要包含数据声明的文件
#include 文件分隔符包括文件的分隔符类型
使用数据对象的所有者信息来确定数据定义的放置是否使用代码中定义的数据所有权设置
信号显示级别MPT 信号数据对象的持久级别
参数调整级别MPT 参数数据对象的持久级别
文件打包格式生成代码文件的文件打包方法
头文件头文件的自定义名称
源文件源文件的自定义名称
数据文件数据文件的自定义名称
Rate Transition 模块代码Format for rate transition block code and data

类型替换和名称

数据类型替换在生成的代码中替换内置数据类型名称的方法 (自 R2023a 起)
指定自定义数据类型名称Option to replace built-in data type names in generated code
替换名称: 双精度Name for double data type in generated code
替换名称: 单精度Name for single data type in generated code
替换名称: int32Name for int32 data type in generated code
替换名称: int16Name for int16 data type in generated code
替换名称: int8Name for int8 data type in generated code
替换名称: uint32Name for uint32 data type in generated code
替换名称: uint16Name for uint16 data type in generated code
替换名称: uint8Name for uint8 data type in generated code
替换名称: booleanName for boolean data type in generated code
替换名称: intName for int data type in generated code
替换名称: uintName for uint data type in generated code
替换名称: charName for char data type in generated code
替换名称: uint64Name for uint64 data type in generated code
替换名称: int64Name for int64 data type in generated code

高级参数

布尔 false 标识符Identifier for Boolean false
布尔 true 标识符Identifier for Boolean true
64 位整数最大值标识符Identifier for 64-bit integer maximum
16 位整数最大值标识符Identifier for 16-bit integer maximum
32 位整数最大值标识符Identifier for 32-bit integer maximum
8 位整数最大值标识符Identifier for 8-bit integer maximum
64 位无符号整数最大值标识符Identifier for 64-bit unsigned integer maximum
16 位无符号整数最大值标识符Identifier for 16-bit unsigned integer maximum
32 位无符号整数最大值标识符Identifier for 32-bit unsigned integer maximum
8 位无符号整数最大值标识符Identifier for 8-bit unsigned integer maximum
64 位整数最小值标识符Identifier for 64-bit integer minimum
16 位整数最小值标识符Identifier for 16-bit integer minimum
32 位整数最小值标识符Identifier for 32-bit integer minimum
8 位整数最小值标识符Identifier for 8-bit integer minimum
类型限值标识符替换头文件Header file that defines Boolean and data type limit identifiers
代码生成器 typedef 兼容性强制生成 rtwtypes.h 文件的选项 (自 R2023a 起)
使用 OpenCV Mat 类实现图像将图像表示为 OpenCV Mat 类的选项 (自 R2021b 起)

Classic 平台

为架构版本生成 XML 文件Generate AUTOSAR Classic XML files for specified schema version
短名称最大长度XML 文件中生成的 SHORT-NAME 元素的最大长度
使用 AUTOSAR 编译器抽象宏使用编译器抽象宏
使用一维数组支持根级矩阵 I/O使用一维 C 数组支持根级矩阵 I/O

Adaptive 平台

为架构版本生成 XML 文件Generate AUTOSAR Adaptive XML files for specified schema version
短名称最大长度XML 文件中生成的 SHORT-NAME 元素的最大长度
传输层XCP 使用的传输层
IP 地址执行 AUTOSAR Adaptive 应用程序(XCP 服务器)的计算机的 IP 地址
端口AUTOSAR Adaptive 应用程序(XCP 服务器)服务于 XCP 客户端命令的网络端口
详尽对 XCP 服务器启用详尽消息
使用自定义 XCP 服务器使用自定义或默认 XCP 服务器

对象

全部展开

rtw.codegenObjectives.Objective自定义代码生成目标

模块

全部展开

Custom MATLAB fileUpdate active configuration parameters of parent model by using file containing custom MATLAB code
ERT (optimized for fixed-point)Update active configuration parameters of parent model for ERT fixed-point code generation
ERT (optimized for floating-point)Update active configuration parameters of parent model for ERT floating-point code generation
GRT (debug for fixed/floating-point)Update active configuration parameters of parent model for GRT fixed-point or floating-point code generation
GRT (optimized for fixed/floating-point)Update active configuration parameters of parent model for GRT fixed-point or floating-point code generation

主题

代码生成配置

模型配置参数:代码生成

精选示例