一文教会你固定ElfBoard开发板CPU的频率!

ELF 1开发板选用的是主频800MHz NXP的i.MX6ULL处理器。根据实际的应用场景,如果需要降低CPU功耗,可以将CPU频率固定为节能模式,下面以这款开发板为例给小伙伴们介绍一下固定CPU频率的方法。

图片

先来介绍一下与CPU频率相关的命令:

1.列出/sys/devices/system/cpu/cpu0/cpufreq/目录下的文件:

图片

此目录中记录了CPU频率等信息,这些文件的含义如下:

2.使用如下命令查看当前CPU频率:

root@ELF1:~# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq

792000

当前CPU频率为792MHz,工作频率是最高的,其他的值如下:

root@ELF1:~# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq //最高工作频率

792000

root@ELF1:~# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq //最低工作频率

198000

root@ELF1:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq //当前频率

792000

root@ELF1:~# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq //可调最低频率

198000

root@ELF1:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor //调频策略

performance

root@ELF1:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies //支持的主频率

198000 396000 528000 792000

可以看出,当前CPU支持198MHz、396MHz、528MHz和792MHz四种频率切换,其中调频策略为performance,在此频率下处理器以最高频率运行,耗电量也相应的处于最高模式。

例如固定CPU频率为198MHz
具体修改方法有两种
1.修改文件系统:

当用户有修改CPU频率需求时,ELF 1支持通过指令的方式调节CPU频率。

(1)设置为用户模式,修改频率为198000:

root@ELF1:~# echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governorroot@ELF1:~# echo 198000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed

(2)查看当前频率:

root@ELF1:~# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq198000                                                  //当前频率

上述修改方法仅在终端中临时生效,如果想要断电不丢失,可以将修改频率的命令写进开机自启脚本中:

(1)开机自启脚本路径/etc/rc.local:

root@ELF1:~# vi /etc/rc.local

(2)添加如下命令到开机自启脚本:

echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governorecho 198000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed

效果如下:

图片

(3)保存退出并重启开发板。

(4)查看当前频率:

root@ELF1:~# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq198000                                                  //当前频率

可以看到CPU频率已经固定为198MHz了。

2.修改内核:

通过图形化界面配置Linux内核的CPU调频策略:

需要先执行“make imx6ull_elf1_defconfig”命令生成.config,然后再使用图形界面进行配置,因为“make menuconfig”进行图形配置时,是从.config中读取出来的。

elf@ubuntu:~/work/ELF/linux-4.1.15-elf1$  . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi elf@ubuntu:~/work/ELF/linux-4.1.15-elf1$ make imx6ull_elf1_defconfig   //生成.configelf@ubuntu:~/work/ELF/linux-4.1.15-elf1$ make menuconfig

打开Linux内核的图形化配置界面,进入如下路径:

CPU Power Management -> CPU Frequency scaling -> Default CPUFreq governor

打开默认调频策略选择界面,选择“powersave”,选择以后保存退出图形化配置界面。

图片

 

此时最新的配置会更新到.config,编译内核之前需要把.config文件中的配置复制到imx6ull_elf1_defconfig中,作为新的配置文件。​​​​​​​

elf@ubuntu:~/work/ELF/linux-4.1.15-elf1$ cp .config arch/arm/configs/imx6ull_elf1_defconfigelf@ubuntu:~/work/ELF/linux-4.1.15-elf1$ make imx6ull_elf1_defconfigelf@ubuntu:~/work/ELF/linux-4.1.15-elf1$ make zImage

编译完成以后把新的zImage拷贝到开发板替换掉旧的zImage,保存并重启。​​​​​​​

root@ELF1:~# cp /run/media/sda1/zImage /run/media/mmcblk1p1root@ELF1:~# syncroot@ELF1:~# reboot

启动完成以后,查看当前频率:​​​​​​​

root@ELF1:~# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq198000

当前CPU频率为198MHz了。查看scaling_governor文件看一下当前的调频策略:​​​​​​​

root@ELF1:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governorpowersave

当前的CPU调频策略为powersave,也就是省电模式,该模式下系统运行在最低频率,功耗相应降低,但系统性能会受影响。

到这里就完成了对CPU的固定频率,希望本文提供的方法能够对屏幕前的小伙伴有所帮助。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值