Linux内核移植之超频测试

一.  简介

CPU 超频测试前准备工作之前已经学习过,总的来说,开发板可以从 nand-Flash启动文件系统。

之前的文章也做过详细的说明,地址如下:

APLHA开发板系统启动-CSDN博客

I.MX6ULL 有多种型号,按照工作频率可以分为 528MHz、700Mhz(实际 696MHz),800MHz(实际 792MHz)和 900MHz(实际频率未知,应该在 900MHz 左右)。
有些朋友可能用的其 他品牌的开发板,其所使用的 I.MX6ULL 主频可能是 528MHz 的,虽然芯片标称是 528MHz 主频,但是其是可以超频的 700MHz 的。

二.  Linux内核移植之超频测试

注意:本文实际超频到 696MHZ,NXP官方宣传为 700 MHZ。

我这里的ALPHA开发板上的IMX6ULL芯片的主频是 800MHZ(实际是 792MHZ)。这里超频到 700 MHZ,是针对 528MHZ型号的 IMX6ULL芯片而言的。

1.  查看 芯片当前支持的频率

配置好开发板后启动,进入 开发板的文件系统下。进入 /sys/bus/cpu/devices/cpu0/cpufreq目录。

root@ATK-IMX6U:~# cd /sys/bus/cpu/devices/cpu0/cpufreq

查看 CPU支持的 频率:

root@ATK-IMX6U:/sys/bus/cpu/devices/cpu0/cpufreq# ls
affected_cpus               related_cpus                   scaling_governor
cpuinfo_cur_freq            scaling_available_frequencies  scaling_max_freq
cpuinfo_max_freq            scaling_available_governors    scaling_min_freq
cpuinfo_min_freq            scaling_cur_freq               scaling_setspeed
cpuinfo_transition_latency  scaling_driver                 stats
root@ATK-IMX6U:/sys/bus/cpu/devices/cpu0/cpufreq# cat scaling_available_frequencies 
198000 396000 528000 792000 

可以看出,目前的Linux 内核支持频率为 198Mhz,396Mhz,528Mhz,792Mhz。在这些支持的频率中,没有 696 Mhz的频率。

2.   超频更改测试

超频设置其实很简单,修改一下设备树文件 arch/arm/boot/dts/imx6ull.dtsi文件中的内容即可,
打开 imx6ull.dtsi 文件,找到下面代码:
		cpu0: cpu@0 {
			compatible = "arm,cortex-a7";
			device_type = "cpu";
			reg = <0>;
			clock-latency = <61036>; /* two CLK32 periods */
			operating-points = <
				/* kHz	uV */
				996000	1275000
				792000	1225000
				528000	1175000
				396000	1025000
				198000	950000
			>;
			fsl,soc-operating-points = <
				/* KHz	uV */
				996000	1175000
				792000	1175000
				528000	1175000
				396000	1175000
				198000	1175000
			>;

第 8~12 行和第16~20 行就是 I.MX6ULL 所支持 的频率,单位为 KHz,可以看出 I.MX6ULL(视具体型号而定)支持 996MHz、792MHz、528MHz、 396MHz 和 198MHz。
在上面,我们知道 Linux 内核默认支持 198MHz、396MHz、528MHz 和 792MHz 这些频率的。

在上面的代码中,加入 696MHz频率的支持。更改后代码如下:

		cpu0: cpu@0 {
			compatible = "arm,cortex-a7";
			device_type = "cpu";
			reg = <0>;
			clock-latency = <61036>; /* two CLK32 periods */
			operating-points = <
				/* kHz	uV */
				996000	1275000
				792000	1225000
                696000  1225000
				528000	1175000
				396000	1025000
				198000	950000
			>;
			fsl,soc-operating-points = <
				/* KHz	uV */
				996000	1175000
				792000	1175000
                696000  1175000
				528000	1175000
				396000	1175000
				198000	1175000
			>;

第10 行,加入了“ 696000 1225000 ”,这个就是 696MHz 的支持。
19 行,加入了 “ 696000 1175000 ”,也是对 696MHz 的支持。

修改好以后保存,并且编译设备树,在 Linux 内核源码根目录下输入如下命令,编译设备树:

wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga$ make dtbs

3.  下载运行

命令 “ make dtbs ” 只编译设备树文件,也就是将 .dts 编译为 .dtb ,编译完成以后,将设备树文件拷贝到 tftp服务所设置的目录下,更新到开发板上。
使用新的设 备 树 文 件 imx6ull-alientek_emmc.dtb 启 动 Linux 。 重 启 以 后, 查 看
/sys/bus/devices/system/cpu/cpu0/cpufreq/ scaling_available_frequencies 文 件 的内容:
root@ATK-IMX6U:/# cd  /sys/bus/cpu/devices/cpu0/cpufreq
root@ATK-IMX6U:/sys/bus/cpu/devices/cpu0/cpufreq# ls
affected_cpus               related_cpus                   scaling_governor
cpuinfo_cur_freq            scaling_available_frequencies  scaling_max_freq
cpuinfo_max_freq            scaling_available_governors    scaling_min_freq
cpuinfo_min_freq            scaling_cur_freq               scaling_setspeed
cpuinfo_transition_latency  scaling_driver                 stats
root@ATK-IMX6U:/sys/bus/cpu/devices/cpu0/cpufreq# cat scaling_available_frequencies 
198000 396000 528000 696000 792000 
root@ATK-IMX6U:/sys/bus/cpu/devices/cpu0/cpufreq# 

可以看出,此时支持了 696MHz 。如果设置调频策略为 performance ,那么处理器就会一直工作在 696MHz

注意: 编译 .dtb(设备树文件)时,是会调用 imx6ull.dtsi 文件的,其实就类似于头文件。

例如,imx6ull-14x14-evk.dts设备树配置文件会调用到 imx6ull.dtsi文件,而 imx6ull-14x14-evk.dts文件又会被 imx6ull-14x14-evk-gpmi-weim.dts 调用,这里的 imx6ull-14x14-evk-gpmi-weim.dts文件就是 NXP官方的 Nand-Flash版的设备树文件。

正点原子的声明:
对于所用的芯片为 528MHz 主频但是想体验一下高性能的朋友体验一下超频,笔者测试过 528MHz 超频到 700MHz,还没有出现过超频不稳定的现象发生,但是!毕竟是超频了的,肯定
没有工作在 528MHz 稳定。
在实际的产品中,禁止任何超频!务必严格按照 I.MX6ULL 手册上给出的标准工作频率来
运行!!如果想要更高的性能,请购买相应型号的处理器!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值