主要内容

代码执行分析银和公益诉讼

您可以配置一个software-in-the-loop (SIL)或processor-in-the-loop(公益诉讼)模拟生产执行指标任务和函数生成的代码。软件计算执行时间从通过代码插装的数据添加到硅或公益诉讼程序或测试生成的代码。您可以使用执行度量来确定生成的代码满足实时的要求部署在目标硬件。

例如,您可以执行以下分析:

  1. 识别任务,需要最多的时间。任务的主要入口点生成的代码。例如,采样率或阶跃函数模型_initialize函数。

  2. 在这些任务中,调查代码部分需要最多的时间。

  3. 确定执行时间随时间变化的步骤。

如果你想减少执行时间,分析结果帮助你专注于最重要的代码部分。观察性能变化的模型更新,重新运行SIL或公益诉讼模拟和比较新指标对以前的指标。

请注意

执行测量在很大程度上取决于您所使用的硬件。对于可靠的结果,收集执行指标使用硬件你计划部署生成的代码,即公益诉讼运行模拟目标的硬件上执行代码。SIL模拟,在您的主机上执行代码,可能不会产生代表性指标。

当硅或公益诉讼模拟完成后,您可以:

  • 通过一个显示窗口或报告视图执行度量。

  • 使用模拟数据检查查看和比较执行时间的变化在一个模拟世界中。

  • 在MATLAB分析测量®环境。

配置代码执行分析

配置代码执行分析硅或公益诉讼仿真:

  1. 在你的顶级模特,打开配置参数对话框,并选择代码生成>验证窗格。

  2. 选择测量任务执行时间复选框。

  3. 函数执行时间的测量函数的执行时间下拉列表中,选择其中一个选项:

    • 粗(仅参考模型和子系统)——如果你想分析生成的主要函数代码模型组件。

    • 详细(所有函数调用站点)——如果你想分析模型中生成的函数代码块。

  4. 工作空间变量字段中,指定一个名称。当您运行仿真,软件生成一个变量具有该名称的MATLAB基础工作空间。包含执行测量的变量,是一个类型的对象coder.profile.ExecutionTime

    如果数据导入/导出>单一的模拟输出复选框被选中时,该软件创建变量金宝appSimulink.SimulationOutput你指定的对象。

  5. 保存选项下拉列表中,选择其中一个选项:

    • 总结数据只——流执行时间检查员在模拟仿真数据。存储最小信息的模拟。使用这个选项如果你想只生成一份报告,减少内存使用,例如,在一个漫长的模拟。

    • 所有的数据——流执行时间检查员在模拟仿真数据。执行概要文件存储在工作区底部并生成一个报告。仿真结束后,您可以使用的方法coder.profile.ExecutionTimecoder.profile.ExecutionTimeSection类检索执行测量每调用每个异形部分的代码出现在模拟。

      如果您选择此选项,指标显示窗口显示仿真数据和生成报告检验员图标。当你点击这个图标,软件仿真结果导入仿真数据检查员。然后可以策划执行时间和管理从不同的模拟和比较图。

    • 指标只——降低了仿真软件之间的通信信道带宽使用情况金宝app®和目标应用程序。在仿真过程中,软件不流仿真数据检查员执行时间。在目标硬件,软件商店最大执行时间,平均执行时间,调用的数量。最后模拟、仿真软件上传的数据目标硬件开发的电脑。金宝app

  6. 点击好吧

公益诉讼仿真:

控制粒度分析

你可以控制执行的粒度分析,也就是说,防止仪表到特定的函数调用站点添加代码。通过分析粒度的控制,您可以:

  • 专注于模型组件的性能,需要改进。例如,在初始运行,禁用分析块需要处理时间。这一行动减少了物品的数量显示的分析报告。

  • 减少代码插装的开销。例如,对于简单的功能,代码插装的开销可以大于函数代码的执行时间。

为任务,生成执行度量的代码生成>验证面板的配置参数对话框,选择测量任务执行时间复选框和设置测量函数的执行时间

为参考模型和原子生成函数执行数据子系统在上面的模型中,在代码生成>验证窗格中,选择测量任务执行时间复选框和设置测量函数的执行时间粗(仅参考模型和子系统)

函数执行数据的生成需要测量探针插入生成的代码。软件插入测量探针原子子系统只有如果你设置函数包装字段(在代码生成标签的功能块参数对话框)那种一次性的功能可重用的功能。如果字段设置为汽车,然后插入探针的结果取决于包装选择汽车设置。如果字段设置为内联,软件不插入探针。

请注意

在生成的代码中,软件与测量探针除非包装每个函数调用:

生成函数的执行时间模型参考层次结构:

  1. 在上面的模型中,打开配置参数对话框,并选择代码生成>验证窗格。

  2. 选择测量任务执行时间复选框

  3. 为每一个模型块,你想配置文件,指定测量函数的执行时间只有在你需要的参考电平函数执行时间。

例如,考虑一个模型模型块一个,反过来包含模型块B。

如果你想从模型生成函数的执行时间,选择测量任务执行时间顶级模型和指定测量函数的执行时间对模型B。

这些参数的模型覆盖相应的参数引用的模型:

  • 测量任务执行时间。如果你禁用该参数模型顶部,你也禁用功能分析为参考模型。

  • 工作空间变量

  • 保存选项

为一块控制代码执行分析模型,例如,一个子系统,使用CodeProfilingOverride块参数:

  1. 在模型编辑器中金宝app,选择块。

  2. 在命令窗口中运行:

    set_param (gcb,‘CodeProfilingOverride’,blockParameterValue)
    使用这些值中的一个blockParameterValue:

    • “关闭”——禁用剖析。

    • “上”——可以分析为父块如果启用了分析模型。

    • “继承”(默认),适用于分析设置父块。

改变块分析配置不会引起生产代码的再生。

如果你的顶级模特有公益诉讼,适用于公益诉讼的执行概要设置块从原始模型的设置用于创建公益诉讼的块。看到与子系统仿真模块。你不能使用CodeProfilingOverride为公益诉讼块控制分析。

另请参阅

|||

相关的话题