ELF 1開發板選用的是主頻800MHz NXP的i.MX6ULL處理器。根據實際的應用場景,如果需要降低CPU功耗,可以將CPU頻率固定為節能模式,下面以這款開發板為例給小伙伴們介紹一下固定CPU頻率的方法。
![wKgZomVAjNSAVGDiABXq2PKagK0509.png](https://file1.elecfans.com/web2/M00/AD/40/wKgZomVAjNSAVGDiABXq2PKagK0509.png)
先來介紹一下與CPU頻率相關的命令:
1.列出/sys/devices/system/cpu/cpu0/cpufreq/目錄下的文件:
![wKgZomVAjO6AX5OeAAHhGzuCszM047.png](https://file1.elecfans.com/web2/M00/AD/40/wKgZomVAjO6AX5OeAAHhGzuCszM047.png)
此目錄中記錄了CPU頻率等信息,這些文件的含義如下:
![wKgZomVAjQiADIQdAAFF4OIVs3k715.png](https://file1.elecfans.com/web2/M00/AD/40/wKgZomVAjQiADIQdAAFF4OIVs3k715.png)
![wKgaomVAjR6AJbaUAAGKN1KOTP4364.png](https://file1.elecfans.com/web2/M00/AB/8A/wKgaomVAjR6AJbaUAAGKN1KOTP4364.png)
![wKgaomVAjS-AFD7xAACVwtecmvY469.png](https://file1.elecfans.com/web2/M00/AB/8A/wKgaomVAjS-AFD7xAACVwtecmvY469.png)
2.使用如下命令查看當前CPU頻率:
![wKgaomVAjUmANisfAAArdPtrxXU783.png](https://file1.elecfans.com/web2/M00/AB/8A/wKgaomVAjUmANisfAAArdPtrxXU783.png)
當前CPU頻率為792MHz,工作頻率是最高的,其他的值如下:
![wKgZomVAjW-AcB2kAAD6BMzP-ow163.png](https://file1.elecfans.com/web2/M00/AD/40/wKgZomVAjW-AcB2kAAD6BMzP-ow163.png)
![wKgZomVAjY6AezxiAABFACFPzdE303.png](https://file1.elecfans.com/web2/M00/AD/40/wKgZomVAjY6AezxiAABFACFPzdE303.png)
可以看出,當前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_governor
root@ELF1:~# echo 198000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
(2)查看當前頻率:
root@ELF1:~# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
198000 //當前頻率
上述修改方法僅在終端中臨時生效,如果想要斷電不丟失,可以將修改頻率的命令寫進開機自啟腳本中:
(1)開機自啟腳本路徑/etc/rc.local:
root@ELF1:~# vi /etc/rc.local
(2)添加如下命令到開機自啟腳本:
echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 198000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
效果如下:
![wKgaomVAjnKAZr4lAAIGyLhH6WI531.png](https://file1.elecfans.com/web2/M00/AB/8A/wKgaomVAjnKAZr4lAAIGyLhH6WI531.png)
(3)保存退出并重啟開發板。
(4)查看當前頻率:
root@ELF1:~# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
198000 //當前頻率
可以看到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 //生成.config
elf@ubuntu:~/work/ELF/linux-4.1.15-elf1$ make menuconfig
打開Linux內核的圖形化配置界面,進入如下路徑:
CPU Power Management
-> CPU Frequency scaling
-> Default CPUFreq governor
打開默認調頻策略選擇界面,選擇“powersave”,選擇以后保存退出圖形化配置界面。
![wKgaomVAjzGAWMLqAAJ0qw8vPWU495.png](https://file1.elecfans.com/web2/M00/AB/8A/wKgaomVAjzGAWMLqAAJ0qw8vPWU495.png)
此時最新的配置會更新到.config,編譯內核之前需要把.config文件中的配置復制到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拷貝到開發板替換掉舊的zImage,保存并重啟。
root@ELF1:~# cp /run/media/sda1/zImage /run/media/mmcblk1p1
root@ELF1:~# sync
root@ELF1:~# reboot
啟動完成以后,查看當前頻率:
root@ELF1:~#cat/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
198000
當前CPU頻率為198MHz了。查看scaling_governor文件看一下當前的調頻策略:
root@ELF1:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
powersave
當前的CPU調頻策略為powersave,也就是省電模式,該模式下系統運行在最低頻率,功耗相應降低,但系統性能會受影響。
到這里就完成了對CPU的固定頻率,希望本文提供的方法能夠對屏幕前的小伙伴有所幫助。
-
嵌入式
+關注
關注
5096文章
19189瀏覽量
308020 -
cpu
+關注
關注
68文章
10911瀏覽量
213147 -
開發板
+關注
關注
25文章
5134瀏覽量
98333
發布評論請先 登錄
相關推薦
SiFive 推出高性能 Risc-V CPU 開發板 HiFive Premier P550
![SiFive 推出高性能 Risc-V <b class='flag-5'>CPU</b> <b class='flag-5'>開發板</b> HiFive Premier P550](https://file1.elecfans.com//web3/M00/02/76/wKgZO2dfnGKAOUAiAAgKahZCBOE660.png)
正點原子fpga開發板不同型號
ARM開發板的功耗分析與優化
Air780E開發板使用,一文解密!
![Air780E<b class='flag-5'>開發板</b>使用,<b class='flag-5'>一</b><b class='flag-5'>文</b>解密!](https://file1.elecfans.com/web2/M00/EB/95/wKgZomZevfiAZTUiAAAYyNC3ogI340.png)
linux開發板與樹莓派的區別
linux開發板如何編譯curl
ElfBoard技術貼|如何在ELF 1開發板上搭建流媒體服務器
![<b class='flag-5'>ElfBoard</b>技術貼|如何在ELF 1<b class='flag-5'>開發板</b>上搭建流媒體服務器](https://file1.elecfans.com/web2/M00/04/6E/wKgaombEPEuAU2NVAABA0p3Um-o988.png)
ElfBoard技術貼|在NXP源碼基礎上適配ELF 1開發板的按鍵功能
![<b class='flag-5'>ElfBoard</b>技術貼|在NXP源碼基礎上適配ELF 1<b class='flag-5'>開發板</b>的按鍵功能](https://file1.elecfans.com/web2/M00/FB/88/wKgaomaN6ZaAeoxXAABAhfkiKBc281.png)
馬上教會你Purple Pi OH開發板之ADB常用命令
![馬上<b class='flag-5'>教會</b><b class='flag-5'>你</b>Purple Pi OH<b class='flag-5'>開發板</b>之ADB常用命令](https://file1.elecfans.com/web2/M00/8F/50/wKgZomTMciWAD54NAABOGP2pQZY452.png)
ElfBoard“共創社”招募令,邀你玩轉嵌入式開發板
![<b class='flag-5'>ElfBoard</b>“共創社”招募令,邀<b class='flag-5'>你</b>玩轉嵌入式<b class='flag-5'>開發板</b>](https://file1.elecfans.com/web2/M00/E7/40/wKgZomZLF96AUR1mAACL46XSMWE674.png)
評論