检测和修复任务超支德州仪器C2000硬件
您可以配置Simulink金宝app®在目标硬件上运行的模型以检测并在任务超支发生时通知您。如果目标硬件仍在执行一个任务的下一个实例,则将执行任务的一个实例,则会发生任务超支。您可以通过降低计划运行的任务的频率和/或减少模型定义的任务数来解决超支。
为了实现超支检测:
点击工具模型中的菜单,然后选择在目标硬件上运行>选项。
在打开的硬件实施窗格中,选择超支检测>启用超支检测复选框。
使用数字输出引脚设置为超支参数以指定数字输出的GPIO引脚数。
选择GPIO模式:
设置,清除或切换
。如果需要,请选择其他通知选项,以便在任务超支发生时通知:
触发中断或调用用户定义的功能
。
点击好的。
当任务超支发生时:
由数字输出引脚的状态数字输出设置为超支参数从低(0伏)变为高(3.3伏)。
如果选择其他通知为触发中断然后提到的ISR馅饼和中央处理器数字将被触发。
笔记
将中断的优先级值设置为少于40(默认的基本利率优先级),以确保中断会在超支时触发。
如果选择其他通知为调用用户定义的功能然后,C函数将被调用。
该模型继续运行,但有效的样本时间将比指定的时间更长。
要解决超支条件,请通过应用以下解决方案来减少模型的处理负担:金宝搏官方网站
分析可用于测量每个任务的执行时间,并详细分析有关超越的任务。
增加模型的样本时间。例如,增加采样时间所有数据源块中的参数。
简化模型。
如果您使用的是外部模式,并且前面的解决方案不会修复任务超支条件,请考虑禁用外部模式。金宝搏官方网站外部模式为在目标硬件上运行的模型中添加了轻型服务器。该服务器增加了目标硬件上的处理负担,这可以有助于任务超支条件。由于分析逻辑,还会有其他开销。这也可能导致过度条件。