码迷,mamicode.com
首页 > 其他好文 > 详细

UCOSII 之 任务统计

时间:2019-05-14 13:22:48      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:bsp   时间段   时空   idle   优先级   计算   cpu使用率   src   .com   

   UCOSII 使用空闲任务的计数值(OSIdleCtr)来实现CPU使用率的统计,首先统计一个固定时间内的计数值保存下来为 (MAX),然后再开启一个固定的时间段,当时间到达时得到另外一个(OSIdleCtr)的计数值保存为(ctr)。在这一段时间中,当运行用户任务时空闲任务因为优先级低无法执行那么OSIdleCtr无法计数,只有无用户任务时空闲任务执行计数值计数。最后CPU使用率就为1-ctr/MAX.。

   其中固定的时间最终是使用系统节拍中断来实现。

   源码中发现问题:在第一次统计固定时间计数值OSIdleCtr大小后,OSIdleCtr并未归零,这回导致第一次计算的CPU使用率为负值。

   技术图片

 

UCOSII 之 任务统计

标签:bsp   时间段   时空   idle   优先级   计算   cpu使用率   src   .com   

原文地址:https://www.cnblogs.com/filpped/p/10861375.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!