【FreeRTOS】 最简单的实现rtos的CPU是利用率统计

1、FreeRTOS中,默认是没有打开查看各任务CPU使用率的
2、要想实现查看各任务CPU使用率,需要打开宏和定义下列宏
    #define configGENERATE_RUN_TIME_STATS    1//打开运行时间统计功能
    #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS configureTimerForRunTimeStats//初始化硬件定时器
    #define portGET_RUN_TIME_COUNTER_VALUE getRunTimeCounterValue//获取定时器的计数值

官网对此也有说明:

需要外部定义一个高精度定时器,用来统计运行时间。

这样就会浪费一个定时器啊,同时还多了一个不停的中断

3、FreeRTOS本身不是有用一个定时器去切换任务吗,如果要求精度不高,可不可以用系统节拍去粗略估算FreeRTOS的CPU使用率呢?

经过摸索,还真可以,但是不知道准不准,可以这样配置:

#define configGENERATE_RUN_TIME_STATS			1
#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS()    xTaskGetTickCount()
#define portGET_RUN_TIME_COUNTER_VALUE() xTaskGetTickCount()

portCONFIGURE_TIMER_FOR_RUN_TIME_STATS()宏只在vTaskStartScheduler启动任务调度时初始化运行一次,不用管他,随便定义下

主要是要提供计数值portGET_RUN_TIME_COUNTER_VALUE()的定义,所以按照上面定义。

4、按上面配置后,还真可以啊:

也符合结果,lwip_init任务有个while(1)死循环,所以一直占用cpu。

所以:不消耗另外的定时间器,在FreeRTOS中可以粗略估算CPU使用率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值