主要内容

检测并修复任务溢出德州仪器C2000.硬件

您可以配置一个simulink万博1manbetx®在目标硬件上运行的模型可在发生任务溢出时检测并通知您。如果目标硬件仍然在计划开始该任务的下一个实例时,目标硬件仍在执行任务的一个实例,则会发生任务溢出。您可以通过减少调度任务的频率和/或减少模型定义的任务数量来修复溢出。

要启用溢出检测:

  1. 点击工具模型中的菜单,然后选择在目标硬件上运行>选项

  2. 在打开的硬件实现窗格中,选择超限检测>启用溢出检测复选框。

  3. 使用数字输出引脚设置在超导上参数指定数字输出的GPIO引脚数。

    • 选择GPIO模式:设置,清除或切换

    • 如果需要,请在发生任务溢出时选择要通知的其他通知选项:触发中断或调用用户定义的函数

  4. 点击好的

发生任务溢出时:

  • 由此指定的数字输出引脚的状态数字输出到overrun参数从低(0伏)更改为高(3.3伏)。

  • 如果选择了附加通知触发中断然后是提到的ISR馅饼中央处理器号码将被触发。

    笔记

    将中断的优先级值设置为小于40(默认基率优先级)以确保中断将触发Outrun。

    如果选择了附加通知调用用户定义的函数然后将在Outrun上调用C函数。

  • 该模型继续运行,但有效的采样时间将超过指定。

要修复溢出条件,请通过应用以下一个或多个解决方案来减少模型的处理负担:万博 尤文图斯

  • 分析可用于测量每个任务的执行时间并详细分析超越的任务。

  • 增加模型的采样时间。例如,增加值的采样时间所有数据源块中的参数。

  • 简化模型。

如果您使用的是外部模式,并且前面的解决方案无法修复任务溢出条件,请考虑禁用外部模式。万博 尤文图斯外部模式将轻量级服务器添加到目标硬件上运行的模型。此服务器会增加目标硬件的处理负担,这可以有助于任务溢出条件。由于分析逻辑也将有额外的开销。这也可能有助于超额条件。

也可以看看

|

相关话题