Main Content

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

MATLAB 代码中生成代码的 Embedded Coder 功能

Embedded Coder® 产品为 MATLAB® Coder™ 产品扩展了可用于嵌入式软件开发的功能。您可以生成具有专业人工代码的清晰度和效率的代码。例如,您可以:

  • 生成紧凑、快速的代码,这对实时仿真器、目标系统快速原型构建板、大规模生产中使用的微处理器以及嵌入式系统至关重要。

  • 自定义生成的代码的外观。

  • 针对特定于应用的要求对生成的代码进行优化。

  • 启用追溯选项,帮助您验证生成的代码。

Embedded Coder 产品是对 MATLAB Coder 产品的扩展,提供了以下针对 C/C++ 代码生成的选项和优化。

目的工程设置代码配置对象属性更多信息
执行时间
控制浮点数据和运算的生成Support only purely-integer numbersPurelyIntegerCode不适用
简化生成的代码中位于循环内的数组索引Simplify array indexingEnableStrengthReductionSimplify Multiply Operations for Array Indexing in Loops
替换生成的代码中的函数和运算符,以满足应用程序特定的代码要求Custom Code 选项卡上的 Code replacement libraryCodeReplacementLibraryEmbedded Coder 提供了额外的库,而且允许创建和使用自定义代码。请参阅代码替换自定义
为函数和运算符创建和注册应用程序特定的实现不适用不适用代码替换自定义
代码外观
指定在生成的代码中使用单行注释还是多行注释Comment StyleCommentStyleSpecify Comment Style for C/C++ Code
包含 MATLAB 源代码作为具有可追溯性标记的注释。在代码生成报告中,可追溯性标记链接到对应的 MATLAB 源代码MATLAB source code as commentsMATLABSourceComments在生成的 C/C++ 代码中包含注释
在函数前注中生成 MATLAB 函数帮助文本 MATLAB function help textMATLABFcnDesc在生成的 C/C++ 代码中包含注释
将 if-elseif-else 模式转换为 switch-case 语句Convert if-elseif-else patterns to switch-case statementsConvertIfToSwitch控制 C 代码的样式
指定在生成的外部函数的声明中包含外部关键字Preserve extern keyword in function declarationsPreserveExternInFcnDecls不适用
指定生成的代码中的括号级别ParenthesesParenthesesLevel不适用
指定是否在生成的代码中将二次幂的乘法替换为有符号的左移位Use signed shift left for fixed-point operations and multiplication by powers of 2EnableSignedLeftShiftsControl Signed Left Shifts in Generated Code
指定是否允许在生成的代码中进行有符号右移位Allow right shifts on signed integersEnableSignedRightShifts不适用
控制生成的代码中的数据类型转换All Settings 选项卡上的 Casting modeCastingModeControl Data Type Casts in Generated Code
指定生成的代码的缩进样式All Settings 选项卡上的 Indent style
All Settings 选项卡上的 Indent size
IndentStyle
IndentSize
Specify Indent Style for C/C++ Code
指定在生成的代码中换行符之前的最大列数All Settings 选项卡上的 Column limitColumnLimit不适用
在生成的代码中为 MATLAB 数据类型指定自定义名称Enable custom data type replacementEnableCustomReplacementTypes
ReplacementTypes
Customize Data Type Replacement
从外部头文件导入自定义数据类型定义 Import custom types from external header filesIsExtern
HeaderFiles
Import Custom Data Type Definitions from External Header Files
自定义生成的 C/C++ 文件名Generated source and header file name formatCustomFileNameStrCustomize C/C++ File Names Generated from MATLAB Code
自定义生成的全局变量标识符 Global variablesCustomSymbolStrGlobalVarCustomize Generated Identifiers
自定义生成的全局类型标识符Global typesCustomSymbolStrTypeCustomize Generated Identifiers
自定义全局类型标识符中包含的生成字段名称Field name of global typesCustomSymbolStrFieldCustomize Generated Identifiers
自定义生成的局部函数标识符Local functionsCustomSymbolStrFcnCustomize Generated Identifiers
自定义为本地临时变量生成的标识符Local temporary variablesCustomSymbolStrTmpVarCustomize Generated Identifiers
自定义为常量宏生成的标识符Constant macrosCustomSymbolStrMacroCustomize Generated Identifiers
自定义为 EMX 数组类型(可嵌入式 mxArray 类型)生成的标识符EMX Array TypesCustomSymbolStrEMXArrayCustomize Generated Identifiers
自定义为 EMX 数组(可嵌入式 mxArray)工具函数生成的标识符EMX Array Utility FunctionsCustomSymbolStrEMXArrayFcnCustomize Generated Identifiers
自定义生成的代码中的函数接口All Settings 选项卡上的 Initialize function required
All Settings 选项卡上的 Terminate function required
IncludeInitializeFcn
IncludeTerminateFcn
不适用
自定义文件前注和函数前注不适用CodeTemplate
控制生成的代码中全局变量的声明和定义不适用不适用
调试
生成静态代码指标报告,其中包括生成的文件信息、行数和内存使用量Static code metricsGenerateCodeMetricsReportGenerating a Static Code Metrics Report for Code Generated from MATLAB Code
生成代码替换报告,总结从所选代码替换库中使用的替换Code replacementsGenerateCodeReplacementReport
在代码生成报告中突出显示单精度、双精度和耗费大量资源的定点运算Highlight potential data type issuesHighlightPotentialDataTypeIssuesHighlight Potential Data Type Issues in a Report
自定义代码
替换生成的代码中的函数和运算符,以满足应用程序特定的代码要求Code replacement libraryCodeReplacementLibraryEmbedded Coder 提供了额外的库,而且允许创建和使用自定义代码。请参阅代码替换自定义
为函数和运算符创建和注册应用程序特定的实现不适用不适用代码替换自定义
验证
在 MATLAB 源代码和生成的 C/C++ 代码之间交互追溯Enable Code TraceabilityEnableTraceabilityInteractively Trace Between MATLAB Code and Generated C/C++ Code
通过执行软件在环和处理器在环仿真验证生成的代码不适用VerificationModeCode Verification Through Software-in-the-Loop and Processor-in-the-Loop Execution
执行软件在环仿真期间调试代码Debugging 窗格上的 Enable source-level debugging for SILSILDebuggingDebug Generated Code During SIL Execution
在软件在环和处理器在环执行期间的探查执行时间Debugging 窗格上的 Enable entry point execution profiling for SIL/PILCodeExecutionProfilingExecution Time Profiling for SIL and PIL
验证和探查 ARM 优化的代码 Hardware 窗格上的 Hardware BoardHardware
使用集成的工作流对生成的 C/C++ 代码运行 Polyspace® 验证不适用不适用Polyspace Verification of C/C++ Code Generated by MATLAB Coder