UCOSIII上电后前几个CPU利用率异常

上传人:拖*** 文档编号:291095456 上传时间:2022-05-11 格式:DOCX 页数:3 大小:16.34KB
返回 下载 相关 举报
UCOSIII上电后前几个CPU利用率异常_第1页
第1页 / 共3页
UCOSIII上电后前几个CPU利用率异常_第2页
第2页 / 共3页
UCOSIII上电后前几个CPU利用率异常_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《UCOSIII上电后前几个CPU利用率异常》由会员分享,可在线阅读,更多相关《UCOSIII上电后前几个CPU利用率异常(3页珍藏版)》请在金锄头文库上搜索。

1、本文格式为Word版,下载可任意编辑UCOSIII上电后前几个CPU利用率异常 南京航空航天大学飞行操纵研究所 UCOSIII CPU利用率奇怪分析报告 乔焱 2022-9 一、问题现象 系统TICK为5ms,CPU利用率查询周期为200ms。如图1所示,在任务中定时200ms打印CPU利用率。 现象:上电后结果如图2所示,察觉上电第一个CPU利用率等于100%,运行中仍有CPU利用率等于100%,这两个数据都为奇怪数据。本报告针对此现象举行分析,并提出相关解决方案。 图1 任务定时打印CPU利用率 图2 上电CPU利用率打印结果 南京航空航天大学飞行操纵研究所 二、解决方案 原操作系统层的O

2、SStatTaskCPUUsageInit函数如图3所示,修改后应如图4所示,标黑片面即为修改的代码。 图3 原OSStatTaskCPUUsageInit()函数 图4修改后OSStatTaskCPUUsageInit()函数 三、问题理由 问题1:在main函数运行OSStart函数之后,操作系统开头举行任务TaskStart的调度。在TaskStart中调用OSStatTaskCPUUsageInit对CPU利用率举行初始化。CPU Usage (%) = 100 *(1-OS_Stat_IdleCtr/OS_Stat_IdleCtrMax)。源代码中OS_Stat_IdleCtr 是通

3、过延时 dly = (OS_TICK)(OSCfg_TickRate_Hz / OSCfg_StatTaskRate_Hz)个Tick,若OSCfg_StatTaskRate_Hz设置为10,那么CPU 南京航空航天大学飞行操纵研究所 查询周期为100ms,即统计100ms的空闲任务OS_Stat_IdleCtr。由于时间太短可能导致每次计数误差。例如:真正CPU利用率为0%时,100ms内OS_Stat_IdleCtr的值为1000。但在实际上CPU在OSStatTaskCPUUsageInit任务中只算了980,由于此程序并没有其他任务执行,空系统在跑,CPU利用率接近0%,会展现100m

4、s不干活,计算出OS_Stat_IdleCtr=990的处境。那么OS_Stat_IdleCtr OS_Stat_IdleCtrMax导致CPU利用率为100%,实际为接近0%的值。在ucosii中会显示超过100%的值在ucosiii中由于加了数据判断养护,CPU利用率 OSStatTaskCtrRun不得志,OSStatTaskCPUUsage = (OS_CPU_USAGE)10000u。导致上电后CPU Usage=100%。更改筹划如下。 方法1、在OSStatTaskCPUUsageInit中更改OSStatTaskCtr的赋值为 = OSStatTaskCtrMax-1。这样便能进入CPU Usage的计算。 方法2、更改判断条件为OSStatTaskCtrMax =OSStatTaskCtrRun。 虽然上电后CPU Usage=100%对统计CPU Usage无影响,但是对OSStatTaskCPUUsageMax产生了影响,导致OSStatTaskCPUUsageMax一向为100%,由于没有值比他大。 3

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号