栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

RK CPU调试技巧

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

RK CPU调试技巧

RK CPU调试技巧

文章目录
  • RK CPU调试技巧
  • 2、CPU温度
    • 查看CPU工作温度
  • 3、CPU电压
    • 查看CPU工作电压
    • 设置CPU工作电压
    • 查看CPU频率电压表
  • 4、CPU频率
    • 查看CPU频率
    • 设置CPU定频
    • 查看CPU频率的最大最小值
    • 查看CPU调频策略
    • CPU调频策略说明
    • 内核配置CPU调频策略
    • CPU频率设备节点详细说明

2、CPU温度 查看CPU工作温度
  • Android5.1

    $ cat /sys/class/hwmon/hwmon0/device/temp1_input
    
  • Android7.1

    $ cat /sys/class/thermal/thermal_zone0/temp
    
  • Android8.1 / Android9.0 / Android10.0 / Android11.0

    $ cat /sys/devices/virtual/thermal/thermal_zone0/temp
    
3、CPU电压 查看CPU工作电压
$ cat /sys/kernel/debug/regulator/vdd_cpu_l/voltage 	//CPU小核
$ cat /sys/kernel/debug/regulator/vdd_cpu_b/voltage		//CPU大核
设置CPU工作电压
$ echo 1250000 > /sys/kernel/debug/regulator/vdd_cpu_l/voltage		//CPU小核
$ echo 1250000 > /sys/kernel/debug/regulator/vdd_cpu_b/voltage		//CPU大核

电压单位:uV

查看CPU频率电压表
$ cat /sys/kernel/debug/opp/oppsummary

    device rate(Hz) target(uV) min(uV) max(uV)
    -------------------------------------------------------------------
    cpu0 408000000 950000 950000 1350000
         600000000 950000 950000 1350000
         816000000 1000000 1000000 1350000
         1008000000 1125000 1125000 1350000
         1200000000 1275000 1275000 1350000
         1248000000 1300000 1300000 1350000
         1296000000 1350000 1350000 1350000
        1416000000 1350000 1350000 1350000
        1512000000 1350000 1350000 1350000
4、CPU频率 查看CPU频率
  • 方法一
$ cat /sys/devices/system/cpu/cpufreq/policy4/cpuinfo_cur_freq		//大核
$ cat /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_cur_freq		//小核
  • 方法二
$ cat /sys/devices/system/cpu/cpu4/cpufreq/scaling_cur_freq		//大核
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq		//小核
  • 方法三
$ cat /proc/cpuinfo | grep MHz
设置CPU定频
  • 方法一:命令行临时设置(重启失效)
$ echo userspace > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor		//设置小核自定义频率
$ echo 1200000 >  /sys/devices/system/cpu/cpufreq/policy0/scaling_setspeed		//设置小核频率
$ echo userspace > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor		//设置大核自定义频率
$ echo 1600000 >  /sys/devices/system/cpu/cpufreq/policy4/scaling_setspeed		//设置大核频率
  • 方法二:配置DTS

    DTS中查找到CPU频率表,注释或disabled对应的频率

cpu0_opp_table: cpu0-opp-table {
    compatible = "operating-points-v2";
    opp-shared;
    opp-408000000 {
        opp-hz = /bits/ 64 <408000000>;
        opp-microvolt = <950000 950000 1340000>;
        clock-latency-ns = <40000>;
        opp-suspend;
        status = "disabled";
    };
    opp-600000000 {
        opp-hz = /bits/ 64 <600000000>;
        opp-microvolt = <950000 950000 1340000>;
        clock-latency-ns = <40000>;
        status = "disabled";
    };
};
  • 方法三:内核修改CPU调频策略
Default CPUFreq governor配置项,选择变频策略
查看CPU频率的最大最小值
$ cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq		//最大值
$ cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq		//最小值
查看CPU调频策略
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
CPU调频策略说明
  • conservative(保守模式)

    根据CPU负载动态调频,按⼀定的⽐例平滑的升⾼或降低频率

  • ondemand(随需应变)

    根据CPU负载动态调频,调频幅度⽐较⼤,可直接调到最⾼频或最低频

  • interactive(交互模式)

    根据CPU负载动态调频,相⽐ondemand,响应时间更快,可配置参数更多,更灵活

  • userspace(用户模式)

    提供相应接口供⽤⼾态应⽤程序调整频率

  • powersave(节能模式)

    功耗优先,始终将频率设置在最低值

  • performance(性能模式)

    性能优先,始终将频率设置为最⾼值

  • schedutil

    EAS使⽤governor。EAS(Energy Aware Scheduling)是新⼀代的任务调度策略, 结合CPUFreq和CPUIdle的策略

    在为某个任务选择运⾏CPU时, 同时考虑了性能和功耗,保证了系统能耗最低,并且不会对性能造成影响

    Schedutil调度策略就是专⻔给EAS使⽤的CPU调频策略

内核配置CPU调频策略

默认调频策略Default CPUFreq governor

CPU Power Management >
    CPU Frequency scaling --->
        [*] CPU Frequency scaling
        <*> CPU frequency translation statistics 
        [ ] CPU frequency translation statistics details
        [*] CPU frequency time-in-state statistics
        Default CPUFreq governor (interactive) ---> 
        <*> 'performance' governor
        <*> 'powersave' governor
        <*> 'userspace' governor for userspace frequency scaling
        <*> 'ondemand' cpufreq policy governor
        -*- 'interactive' cpufreq policy governor
        <*> 'conservative' cpufreq governor
        [ ] 'schedutil' cpufreq policy governor
        *** CPU frequency scaling drivers ***
        <*> Generic DT based cpufreq driver 
        < > Generic ARM big LITTLE CPUfreq driver
        <*> Rockchip CPUfreq driver 
CPU频率设备节点详细说明
  • 全志平台
$ ls /sys/devices/system/cpu/cpu0/cpufreq/
    cpuinfo_min_freq:    该文件指定了处理器能够运行的最低工作频率 (单位: 千赫兹)
    cpuinfo_max_freq:   该文件指定了处理器能够运行的最高工作频率 (单位: 千赫兹)
    cpuinfo_transition_latency:    该文件定义了处理器在两个不同频率之间切换时所需要的时间  (单位: 纳秒)
    scaling_driver:          该文件显示该CPU正在使用何种cpufreq driver
    scaling_available_governors:  该文件显示当前内核中支持的所有cpufreq governor类型
    scaling_governor:   通过echo命令,能够改变当前处理器的governor类型
    cpuinfo_cur_freq:    当前cpu正在运行的工作频率
    scaling_available_frequencies:   所有支持的主频率列表  (单位: 千赫兹)
    scaling_min_freq/scaling_max_freq:    显示当前policy的上下限  (单位: 千赫兹)
                                   需要注意的是,当改变cpu policy时,需要首先设置scaling_max_freq, 然后才是scaling_min_freq
    affected_cpus:   需要软件协调频率的CPU列表
    related_cpus:     需要软件或者硬件来协调频率的CPU列表
    scaling_driver:   cpufreq控制的硬件驱动
    scaling_cur_freq:  被governor和cpufreq核决定的当前CPU工作频率。该频率是内核认为该CPU当前运行的主频率
    bios_limit:            如果BIOS告知操作系统限制某一cpu到一个低频率,用户能够从此文件中读取其所支持的最大频率。
    scaling_setspeed:    如果用户选择了“userspace” governor, 那么可以设置cpu工作主频率到某一个指定值。
                                 只需要这个值在scaling_min_freq 和 scaling_max_freq之间即可。
  • 瑞芯微平台
$ ls /sys/devices/system/cpu/cpufreq/policy0/		
    related_cpus 				
    affected_cpus 				
    cpuinfo_transition_latency 	
    cpuinfo_max_freq			 
    cpuinfo_min_freq 			
    cpuinfo_cur_freq 			
    scaling_available_frequencies 
    scaling_available_governors 	
    scaling_governor 			
    scaling_cur_freq 			
    scaling_max_freq			 
    scaling_min_freq 			
    scaling_setspeed			 
    stats/time_in_state 			
    stats/total_trans 			
    stats/trans_table 			
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/271213.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号