sunnydragon 发表于 2013-8-3 10:27:11

实际只开了一个线程,为什么我的RTT的CPU利用率这么高?

系统版本:RTT1.1.1
CPU:STM32F103CBT6
我的项目中只有一个线程,线程的主要工作就是系统监控功能:闪烁指示灯、喂狗以及计算CPU利用率,指示灯500MS亮500MS灭,喂狗1S一次,CPU利用率1S计算一次。
一共就只有这些功能了,可是获得回来的CPU利用率一直维持在28%左右,我记得之前用的RTT1.0.0,只有一个线程时CPU利用率几乎为零。所以请大家帮忙给分析下原因?

sunnydragon 发表于 2013-8-3 11:37:01

更神奇的事情发现了
由于我的项目同时用了3个IDE:Eclipse、IAR、Keil
同样的源码,编译运行后,三者所获取到CPU利用率都不一样
IAR:0%-2%
Eclipse:10%-12%
Keil:22%-24%
而且Eclipse编译使用的是IAR插件,求指点~

苦行僧 发表于 2013-8-3 11:51:16

这个真不知道{:shocked:}

sunnydragon 发表于 2013-8-3 11:52:44

本帖最后由 sunnydragon 于 2013-8-3 13:11 编辑

会与编译器的优化级别有关系吗?
我这里优化级别
IAR:LOW
Eclipse:None
Keil:Level0

I爱电子 发表于 2013-8-8 00:29:14

只知道IAR对代码的优化是最高的
页: [1]
查看完整版本: 实际只开了一个线程,为什么我的RTT的CPU利用率这么高?