cpufreq动态频率调节(Sofia3GR)浅析及应用层APK实现

本文深入浅出地解析了Sofia3GR平台上的cpufreq动态频率调节机制,介绍了核心代码位置、sysfs接口以及CPU频率调整模式。文章还给出了在Android应用层实现CPU频率调节的 APK 示例,包括权限设置、governor切换,并提供了apk源码链接。
摘要由CSDN通过智能技术生成
  • cpufreq动态频率调节浅析

cpufreq核心部分的代码都在:/drivers/cpufreq/cpufreq.c中,本文章是基于SOFIA3GR 6.0的代码进行解析,linux内核版本3.14.0。具体cpufreq核心(core)架构与API可参考:http://blog.csdn.net/droidphone/article/details/9385745

这里主要针对cpufreq的sysfs接口进行解析及apk实现定频功能

C:\Users\qinfeng>adb shell
root@TM800AR:/ # cd  sys/devices/system/cpu
cd  sys/devices/system/cpu
root@TM800AR:/sys/devices/system/cpu # ls
ls
cpu0
cpu1
cpu2
cpu3
cpufreq
cpuidle
kernel_max
modalias
offline
online
possible
power
present
uevent
version

所有与cpufreq相关的sysfs接口都位于/sys/devices/system/cpu下面:
其中:
cpu0到cpu7代表我们这个cpu是四核的,有四个cpu
online:代表正在工作的cpu
offline:代表未工作被关闭的cpu
present:代表主板上已经安装的cpu

root@TM800AR:/sys/devices/system/cpu # cat online
cat online
0-3
root@TM800AR:/sys/devices/system/cpu # cat offline
cat offline

root@TM800AR:/sys/devices/system/cpu # cat present
cat present
0-3

其中:kernel_max,version,possible这三个看下面代码输出容易理解,我们现在测试的也是RK es2.0的芯片
但modalias搞不懂,uevent为空

root@TM800AR:/sys/devices/system/cpu # cat kernel_max
cat kernel_max
3
root@TM800AR:/sys/devices/system/cpu # cat version
cat version
es2.0
root@TM800AR:/sys/devices/system/cpu # cat possible
cat possible
0-3
root@TM800AR:/sys/devices/system/cpu # cat modalias
cat modalias
x86cpu:vendor:0000:family:0006:model:005D:feature:,0000,0001,0002,0003,0004,0005,0006,0007,0008,0009,000B,000C,000D,000E,000F,0010,0013,0017,0018,0019,001A,001B,001C,0034,003B,003D,0068,006B,006F,0070,0072,0074,0075,0076,0080,0081,0083,0089,008D,008E,008F,0093,0094,0096,0097,0099,00C0,00C8,0121,0127,0129,012D,013F
root@TM800AR:/sys/devices/system/cpu # cat uevent
cat uevent
root@TM800AR:/sys/devices/system/cpu #

至此,还有几个目录
cpu0-cpu3,cpufreq,cpuidle,power
主要针对cpu0说明一下,cpu0里面的参数决定cpu频率调整模式,cpu频率设置的一些节点,cpu1,cpu2,cpu3设置都是基于cpu0的 所以只许更改cpu0的相关配置参数即可

root@TM800AR:/sys/devices/system/cpu/cpu0 # ls -al
ls -al
drwxr-xr-x root     root              2016-01-08 08:01 cache
drwxr-xr-x root     root              2016-01-08 08:01 cpufreq
drwxr-xr-x root     root              2016-01-08 08:01 cpuidle
-r-------- root     root         4096 2016-01-08 08:01 crash_notes
-r-------- root     root         4096 2016-01-08 08:01 crash_notes_size
drwxr-xr-x root     root              2016-01-08 08:01 power
lrwxrwxrwx root     root              2016-01-08 08:01 subsystem -> ../../../../bus/cpu
drwxr-xr-x root     root              2016-01-08 08
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值