UCOSII 之 任务统计

Posted filpped

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UCOSII 之 任务统计相关的知识,希望对你有一定的参考价值。

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

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

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

   技术图片

 

以上是关于UCOSII 之 任务统计的主要内容,如果未能解决你的问题,请参考以下文章

手把手,嘴对嘴,讲解UCOSII嵌入式操作系统的任务调度策略

ucosii任务切换OS_TASK_SW()

ucosii(2.89)mutex 应用要点

(转)UCOSII在任务切换与出入中断时堆栈指针的使用

uCOSII +Lwip移植,如何解决以太网接受数据阻塞的问题

ucosii的系统时钟来源