可视化任务调度的XCP外部模式模拟
如果你运行一个XCP-based外部模式模拟启用了代码执行概要,您可以使用模拟数据检查员可视化目标硬件如何执行生成的代码。
这个例子展示了如何配置和运行模拟和显示任务活动和诊断和CPU活动和利用率。
模型配置
对待每个离散率作为一个单独的任务。
set_param (gcs,“EnableMultiTasking”,“上”);
使代码执行分析。
set_param (gcs,“CodeExecutionProfiling”,“上”);set_param (gcs,“CodeProfilingInstrumentation”,“详细”);set_param (gcs,“CodeProfilingSaveOptions”,“AllData”);
检查员打开模拟数据。
金宝appSimulink.sdi.view;
开始仿真。
set_param (gcs,“SimulationCommand”,“开始”);
运行时可视化
在仿真数据检查,检查面板提供了显示组。此表描述了可用的概要信息。
显示组 | 可用的信息 |
---|---|
分析 |
对于每个任务,执行时间在仿真时间的变化。 |
任务活动 |
对于每个任务,随着时间的变化其状态。一个任务可以在这些国家之一:
|
诊断任务 |
对于每个任务,任务的变化诊断值在仿真时间。一个任务的诊断可以有这些值之一:
软件使用rate-monotonic分析来确定任务优先级。 任务生成诊断只能为目标应用程序运行:
|
CPU活动 |
对于每个CPU核心,任务的名字在CPU上运行的核心在仿真时间。在任何时候,如果没有任务在CPU上运行的核心,价值 |
CPU利用率 |
为每个CPU核心任务上运行,规范化的利用率在仿真时间。利用值介于0.0和1.0之间。例如,值为0.5时表示CPU核心是50%的时间空闲。 |
监控任务抢占优先级反转:
选择一个次要情节。然后,在检查窗格中,从任务活动显示组,选择0.01 myModel_step0 [0]和0.02 myModel_step1 [0]复选框。
选择下一个次要情节。然后,在检查窗格中,从诊断任务显示组,选择0.01 myModel_step0 [0]和0.02 myModel_step1 [0]复选框。
使用放大的时间(Ctrl + Shift + T)控制,查看一个特定的时间剖面。
监视CPU核心活动和利用:
选择一个次要情节。在检查窗格中,从CPU活动显示组,选择,例如,核心1,酷睿2,核心3,核心4复选框。
选择下一个次要情节。在检查窗格中,从CPU利用率显示组,选择,例如,核心1,酷睿2,核心3,核心4复选框。
使用放大的时间(Ctrl + Shift + T)控制,查看一个特定的时间剖面。
离线可视化
仿真完成后,您可以使用时间表
函数来生成显示(诊断任务除外)。在这个例子中,运行:
计划(executionProfile)
函数添加任务活动,CPU核心活动和CPU核心利用率显示分析组。默认情况下,该函数产生八个次要情节。
特定的任务调度和可视化相关具体任务的CPU活动,您可以使用金宝appSimulink.sdi
功能。例如,观察任务活动myModel_step0
和myModel_step1
和CPU核心活动和利用核心4
:
清晰的显示和指定三个次要情节。
金宝appSimulink.sdi.clearAllSubPlots;金宝appSimulink.sdi.setSubPlotLayout (3,1);
在仿真数据检查,执行这些操作:
单击第一次要情节,然后选择任务:myModel_step0 0.01 [0]和任务:myModel_step1 0.02 [0]复选框。
单击第二次要情节,然后选择核心4复选框。
单击3次要情节,然后选择使用核心4复选框。
使用放大的时间(Ctrl + Shift + T)控制,查看活动为一个特定的时间剖面。