ELF 1開發(fā)板選用的是主頻800MHz NXP的i.MX6ULL處理器。根據(jù)實(shí)際的應(yīng)用場(chǎng)景,如果需要降低CPU功耗,可以將CPU頻率固定為節(jié)能模式,下面以這款開發(fā)板為例給小伙伴們介紹一下固定CPU頻率的方法。
先來介紹一下與CPU頻率相關(guān)的命令:
1.列出/sys/devices/system/cpu/cpu0/cpufreq/目錄下的文件:
此目錄中記錄了CPU頻率等信息,這些文件的含義如下:
2.使用如下命令查看當(dāng)前CPU頻率:
當(dāng)前CPU頻率為792MHz,工作頻率是最高的,其他的值如下:
可以看出,當(dāng)前CPU支持198MHz、396MHz、528MHz和792MHz四種頻率切換,其中調(diào)頻策略為performance,在此頻率下處理器以最高頻率運(yùn)行,耗電量也相應(yīng)的處于最高模式。
例如固定CPU頻率為198MHz
具體修改方法有兩種
1.修改文件系統(tǒng):
當(dāng)用戶有修改CPU頻率需求時(shí),ELF 1支持通過指令的方式調(diào)節(jié)CPU頻率。
(1)設(shè)置為用戶模式,修改頻率為198000:
root@ELF1:~# echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
root@ELF1:~# echo 198000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
(2)查看當(dāng)前頻率:
root@ELF1:~# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
198000 //當(dāng)前頻率
上述修改方法僅在終端中臨時(shí)生效,如果想要斷電不丟失,可以將修改頻率的命令寫進(jìn)開機(jī)自啟腳本中:
(1)開機(jī)自啟腳本路徑/etc/rc.local:
root@ELF1:~# vi /etc/rc.local
(2)添加如下命令到開機(jī)自啟腳本:
echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 198000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
效果如下:
(3)保存退出并重啟開發(fā)板。
(4)查看當(dāng)前頻率:
root@ELF1:~# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
198000 //當(dāng)前頻率
可以看到CPU頻率已經(jīng)固定為198MHz了。
2.修改內(nèi)核:
通過圖形化界面配置Linux內(nèi)核的CPU調(diào)頻策略:需要先執(zhí)行“make imx6ull_elf1_defconfig”命令生成.config,然后再使用圖形界面進(jìn)行配置,因?yàn)椤癿ake menuconfig”進(jìn)行圖形配置時(shí),是從.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 //生成.config
elf@ubuntu:~/work/ELF/linux-4.1.15-elf1$ make menuconfig
打開Linux內(nèi)核的圖形化配置界面,進(jìn)入如下路徑:
CPU Power Management
-> CPU Frequency scaling
-> Default CPUFreq governor
打開默認(rèn)調(diào)頻策略選擇界面,選擇“powersave”,選擇以后保存退出圖形化配置界面。
此時(shí)最新的配置會(huì)更新到.config,編譯內(nèi)核之前需要把.config文件中的配置復(fù)制到imx6ull_elf1_defconfig中,作為新的配置文件。
elf@ubuntu:~/work/ELF/linux-4.1.15-elf1$ cp .config arch/arm/configs/imx6ull_elf1_defconfig
elf@ubuntu:~/work/ELF/linux-4.1.15-elf1$ make imx6ull_elf1_defconfig
elf@ubuntu:~/work/ELF/linux-4.1.15-elf1$ make zImage
編譯完成以后把新的zImage拷貝到開發(fā)板替換掉舊的zImage,保存并重啟。
root@ELF1:~# cp /run/media/sda1/zImage /run/media/mmcblk1p1
root@ELF1:~# sync
root@ELF1:~# reboot
啟動(dòng)完成以后,查看當(dāng)前頻率:
root@ELF1:~#cat/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
198000
當(dāng)前CPU頻率為198MHz了。查看scaling_governor文件看一下當(dāng)前的調(diào)頻策略:
root@ELF1:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
powersave
當(dāng)前的CPU調(diào)頻策略為powersave,也就是省電模式,該模式下系統(tǒng)運(yùn)行在最低頻率,功耗相應(yīng)降低,但系統(tǒng)性能會(huì)受影響。
到這里就完成了對(duì)CPU的固定頻率,希望本文提供的方法能夠?qū)ζ聊磺暗男』锇橛兴鶐椭?/p>
-
嵌入式
+關(guān)注
關(guān)注
5089文章
19168瀏覽量
306738 -
cpu
+關(guān)注
關(guān)注
68文章
10898瀏覽量
212553 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5112瀏覽量
97908
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論