主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

代码探查分析器

分析生成代码的执行时间和堆栈使用情况

自 R2023a 起

说明

使用代码配置文件分析器来分析由软件在环 (SIL) 或处理器在环 (PIL) 执行生成的代码所产生的执行时间和堆栈使用情况配置文件:

  • 查看任务和函数的执行时间,可视化特定仿真时间的函数调用堆栈,并比较不同运行的执行时间。

  • 查看任务和函数的堆栈使用情况并比较不同运行的值。

如果您使用 Embedded Coder®,您还可以:

  • 分析基于 XCP 的外部模式仿真产生的执行时间配置文件。

  • 为模型层次结构配置代码分析。

  • 识别并分析生成的代码中的性能热点。此工作流程使用 coder.profile.test.runTests 函数。

  • 识别并分析生成的代码中的关键路径。此工作流程使用 coder.profile.test.analyzePath 函数。

Code Profile Analyzer app

打开 代码探查分析器 App

如果您正在为 Simulink® 模型生成代码,点击 SIL/PIL 选项卡。在结果图库中,在执行探查结果堆栈探查结果下,点击代码探查分析器按钮。

如果您正在为 MATLAB® 代码生成代码,请在命令行窗口中终止 SIL/PIL 执行。代码生成器在命令行窗口中生成一条消息,其中包含指向执行或堆栈分析报告的链接。点击该链接。

或者,对于 Simulink 和 MATLAB 代码生成,在 SIL/PIL 执行终止后,通过输入 coder.profile.showcoder.profile.show(profileVariable) 从命令行窗口打开代码配置文件分析器。

对于 Simulink 代码生成,profileVariable 是您通过工作区变量 (CodeExecutionProfileVariable) 或堆栈工作区变量 (CodeStackProfileVariable) 配置参数指定的工作区变量。

对于 MATLAB 代码生成,使用 getCoderExecutionProfilegetCoderStackProfile 函数获取 profileVariable

示例

全部展开

此工作流程显示了使用代码配置文件分析器分析执行时间度量时可能使用的步骤。

  1. 打开代码配置文件分析器。

  2. 导入部分中,从导入结果下拉列表中选择包含执行时间测量值的时间探查工作区变量。

  3. 设置部分中,指定以下值:

    • 时间单位 - 显示时间测量的单位

    • 计时器每秒计时单元 (MHz) - 计时器计数以达到一秒的滴答数或周期数。如果定时器源是主 CPU 时钟,则该值是 CPU 频率。

  4. 要执行执行时间分析,请在分析部分中点击以下按钮之一:

    • 任务执行 - 分析任务执行时间。

    • 任务验证 - 验证生成的任务到 CPU 的映射。

    • 函数执行 - 分析任务和函数执行时间。

    • 函数调用堆栈 - 在特定仿真时间可视化函数调用堆栈

    • 比较 - 比较两次仿真的执行时间

  5. 选择一个代码部分(任务或函数),然后在结果部分中点击以下按钮之一:

    • 突出显示源 - 在 Simulink 模型中,显示与代码部分相关的模块。

    • 突出显示代码 - 在生成的代码中,显示对代码部分的调用。

    • Generate Distribution - 显示代码段的执行时间分布。

    • Function Distribution - 显示饼图,展示生成的代码中调用者和被调用函数的相对执行时间。

    • 导出到 SDI - 在仿真数据检查器中显示测量的执行时间。

  6. 对于整体仿真,使用结果部分来:

    • Highlight Profiling - 被分析的颜色模型组件。

    • 打开报告 - 打开代码执行分析报告。

    • Generate Schedule - 可视化任务调度。

有关详细信息,请参阅:

此工作流程显示了使用代码配置文件分析器分析堆栈使用度量指标时可能使用的步骤。

  1. 打开代码配置文件分析器。

  2. 导入部分中,从导入结果下拉列表中,选择包含堆栈使用情况测量值的内存探查工作区变量。

  3. 要执行堆栈使用情况分析,请在分析部分中点击以下按钮之一:

    • 堆栈内存 - 分析任务和函数的堆栈使用情况

    • 比较 - 比较两次仿真的堆栈使用情况测量

  4. 选择一个代码部分(任务或函数),然后在结果部分中点击以下按钮之一:

    • 突出显示代码 - 在生成的代码中显示对代码部分的调用。

    • Generate Distributio - 显示代码段的执行内存分布。

    • 导出到 SDI - 在仿真数据检查器中显示堆栈使用值。

  5. 对于整体仿真,使用结果部分来:

    • 打开模型 - 打开源模型。

    • 打开报告 - 打开代码堆栈分析报告。

有关详细信息,请参阅View and Compare Stack Usage Metrics

要为模型层次结构配置代码分析:

  1. 打开代码配置文件分析器。

  2. 常规选项卡上,点击配置模型按钮。

  3. 配置选项卡的加载部分中,使用文件浏览器或打开顶层模型下拉列表选择要配置的顶层模型。

  4. 要启用堆栈使用情况分析,请在配置部分中点击堆栈使用量探查按钮。

    或者,要启用执行时分析,请在配置部分中执行以下操作:

    1. 点击执行时间探查按钮。

    2. 如果要减少保存到 MATLAB 工作区的数据,点击所有数据按钮,然后选择仅摘要数据仅度量

    3. 要控制层次结构中模型的函数分析,请在模型设置视图中使用函数探查列设置、关闭粗略详细

  5. 要在 Simulink 编辑器中查看模型:

    1. 模型层次结构模型设置视图中,选择模型。

    2. 在工具条的验证部分中,点击突出显示模型按钮。

  6. 要检查整个层次结构的分析设置是否有效,点击 Validate Configuration 按钮。

  7. 要保存层次结构中模型的分析设置,点击 Apply Configuration 按钮。

相关示例

版本历史记录

在 R2023a 中推出

另请参阅