主要内容

确定和使用任务定时信息

这个例子展示了如何选择一种可用的方法来确定处理器上任务的计时信息。的任务管理器块使用任务计时信息来模拟任务抢占、溢出和并行执行。任务计时信息的准确性为任务模拟反映处理器上的实际行为提供了信心。

可以使用各种方法来确定任务计时信息。每种方法都有特定的硬件和软件要求,并提供不同程度的定时信息准确性。下表列出了这些方法及其各自的特点。

本例中的各部分使用示例系统模型解释和演示每种方法。虽然本例使用了Xilinx Zynq ZedBoard™,但这些技术可以用于任何支持的SoC Blockset™硬件板或平台。要了解关于模拟任务执行的更多信息,请参阅什么是任务执行?主题和任务执行的例子。

open_system (“soc_task_profiling”);

使用算法定时规范

当只有系统需求可用时,使用最坏情况执行时间(WCET)。WCET应该设置为任务周期的百分比(例如,80%)。

示例模型有两个任务,周期分别为0.01s和0.03s。使用WCET,平均执行时间应该设置为:

  • 任务1的8e-03

  • 任务2的24 -03秒

这种方法产生的定时信息精度较低。当您低估WCET时,处理器资源就会被低效地使用。类似地,当您高估WCET时,可能会发生不必要的任务抢占或溢出。

基于环中软件(SIL)的剖面算法

SIL模拟编译生成的源代码,然后在主机上运行代码。在模拟过程中,将收集生成代码的执行时度量。SIL模拟提供低到中等精度的计时信息,因为主机通常与处理器具有不同的体系结构。这种方法可能是有用的,特别是对比较分析。有关SIL的更多信息,请参见配置并运行SIL模拟(嵌入式编码)

这些步骤展示了如何使用SIL分析来确定示例模型的任务信息。

1.右键单击Model块,单击模型参数(ModelReference),并选择Software-in-the-loop(银)模拟模式下拉。点击好吧

2.在模拟选项卡上,单击运行运行SIL模拟。模拟完成后,单击Model块以获得执行时间指标。此图显示了执行时指标报告。

3.Task1和Task2的平均执行时间,对应于这些任务的速率为:

  • Task1的0.30e-03秒

  • 0.25e-03s用于Task2

4.在“任务管理器”块中使用此任务计时信息可设置任务持续时间平均值。您可以使用其他任务定时信息在“任务管理器”块中设置其他任务定时参数。

基于循环中处理器的剖面算法

PIL模拟编译生成的源代码,然后在目标硬件上运行代码。在模拟过程中,将收集生成代码的执行时度量。PIL模拟提供中到高精度的计时信息,因为它在处理器上配置任务算法。使用这种方法,单个任务的计时是准确的,但没有考虑共享缓存内存等微妙的影响。有关PIL的更多信息,请参见配置并运行PIL模拟(嵌入式编码)

这些步骤展示了如何使用PIL分析来确定这个示例模型的任务信息。

1.右键单击Model块,单击模型参数(ModelReference),并选择Processor-in-the-loop(公益诉讼)模拟模式下拉。点击好吧

2.在片上系统选项卡上,单击硬件设置.扩大目标硬件资源参数面板和板参数集团集设备地址用户名而且密码

3.在模拟选项卡上,单击运行运行PIL模拟。模拟完成后,单击Model块以获得执行时间指标。此图显示了执行时指标报告。

4.Task1和Task2的平均执行时间,对应于这些任务的速率为:

  • 1.93e-03s用于Task1

  • 1.69e-03s用于Task2

5.在“任务管理器”块中使用此任务计时信息可设置任务持续时间平均值。您可以使用其他任务定时信息在“任务管理器”块中设置其他任务定时参数。

硬件配置文件任务执行

SoC Blockset分析提供模型中每个任务的时间信息,并捕获其他相关事件,如抢占、溢出和任务丢失。在硬件上分析整个应用程序可以提供最精确的处理器任务计时信息。

这些步骤展示了如何使用SoC Blockset分析来确定示例模型的任务信息。

1.右键单击Model块,单击模型参数(ModelReference),并选择正常的模拟模式下拉。点击好吧

2.在片上系统选项卡上,单击配置、构建和部署.按照所提供的步骤为构建和加载外部模式准备模型,然后单击监控与调优.当外部模式完成时,在MATLAB中运行以下命令,得到Task1和Task2的执行时间:

exectime = socTaskTimes(“soc_task_profiling”“运行1:soc_task_profiling”) exectime。的意思是

Task1和Task2的执行时间为:

  • Task1的2.00e-03秒

  • Task2的1.80e-03s

3.的socTaskTimes函数还显示了每个任务的执行时间分布,如图所示。

4.在“任务管理器”块中使用此任务计时信息可设置任务持续时间平均值。您可以使用其他任务定时信息在“任务管理器”块中设置其他任务定时参数。

Baidu
map