主要内容

设计高效的代码生成技术来优化模型

使用模型顾问优化模型

您可以使用代码生成的模型顾问分析模型和识别方面的模型,阻碍生产部署或限制代码效率。你可以选择从一组检查运行在一个模型的当前配置。模型顾问分析模型并生成检查结果为每个区域的改善提供建议。大多数模型顾问诊断模型不需要编译状态;那些做的注意。

在运行模式顾问之前,选择您计划使用的目标代码生成。模型顾问工作最有效和ERT ERT-based系统目标文件。

用下面的例子来探讨优化代码生成的模型使用模型顾问:

请注意

示例模型rtwdemo_advisor2rtwdemo_advisor3需要Stateflow®和定点设计师™软件。

有关使用模型的更多信息顾问,明白了运行模式顾问检查。关于检查的更多信息,请参阅模型顾问检查

设计技术来优化代码生成的模型

您可以应用以下技术来优化代码生成一个模型:

  • 对于嵌入式编码器®用户,如果您的应用程序只使用整数运算,清除金宝app支持浮点数参数软件环境部分的接口窗格,这样生成的代码不包含浮点数据或操作。清除这个参数时,如果noninteger数据或表达式,是抛出一个错误在代码生成中遇到。错误消息报道的块和参数。

  • 禁用配置参数>代码生成>接口>先进的参数>MAT-file日志参数。取消勾选此参数消除额外的代码和初始化内存使用情况,更新和把记录变量。此外,生成的代码来支持MAT-file日志调用金宝appmalloc为您的应用程序,它可以不受欢迎的。

  • 使用升级顾问升级旧机型(保存旧版本或当前版本)使用当前功能。有关详细信息,请参见模型的升级

  • 在建设之前,编译器设置优化标志(例如,- 02海湾合作委员会,微软®Visual c++®编译器)。

  • 直接嵌入C / c++ S-functions到生成的代码编写TLC文件功能。有关更多信息,请参见利用s函数模型或子系统的目标看看内联C墨西哥人S-Functions

  • 使用仿真软件金宝app®以外的数据类型在可能的情况下。可用的数据类型布尔签署和unsigned 8 - 16 - 32位整数,32位和64位浮点数(a是一个64位的浮动)。有关更多信息,请参见仿真软件的数据类型金宝app。一个总结,点击showblockdatatypetable或在命令窗口中输入命令。

  • 为可调参数块配置存储在内存中生成的代码,您可以匹配参数数据类型与信号数据类型,以消除不必要的类型转换和C的变化。在可能的情况下,参数值存储在小整数数据类型。看到参数数据类型在生成的代码中

  • 在查找表数据删除重复值。

  • 使用Merge块尽可能合并的输出信号。这一块是特别有用,当你需要控制的执行函数调用子系统Stateflow图表。下面的模型显示了如何使用合并块的一个例子。

    当一个以上的信号连接到一个街区有一个非合并汽车存储类,所有非汽车信号连接块必须是相同的标记有相同的存储类。当合并模块直接连接,这些规则适用于合并的信号连接到任何块。

设计技术来优化Stateflow对象的代码生成

明确的内联选择图形的功能

当你使用一个图形化功能Stateflow图表,选择内联函数的财产内联函数的选择。否则,代码生成的图形函数可能不会出现。有关更多信息,请参见指定属性的图形功能(Stateflow)

避免使用多个边沿触发事件Stateflow图表

如果你使用多个触发器,生成多个代码语句来处理检测上升沿或者下降沿。如果需要多个触发器,使用函数调用事件。有关更多信息,请参见激活Stateflow图表发送输入事件(Stateflow)

结合图表到单个总线对象的输入信号

当你使用总线对象,减少参数的生成函数的参数列表。这条指导原则也适用于图的输出信号。有关更多信息,请参见定义Stateflow结构(Stateflow)

使用图表离散样本

为离散图生成的代码没有在触发或启用子系统使用整数计数器跟踪时间而不是仿真软件提供了时间。金宝app这允许更有效的代码生成方面的开销和内存,以及使这段代码用于software-in-the-loop(银)和processor-in-the-loop(公益诉讼)模拟。

相关的话题