OKMX6ULL-S开发板采用NXP的高性能、超高效、低成本处理器MCIMX6Y2开发设计,采用先进的ARM Cortex-A7内核。开发板采用Linux4.1.15+QT5.6操作系统,支持工业级和商业级两种配置:256MB DDR3L/512MB DDR3L,256MB NandFlash/4GB eMMC,支持OTG、SD/TF卡批量烧写方式,支持单步更新内核。
FETMX6ULL-S与FETMX6UL-C并无太大区别,堪称双胞胎。
FETMX6ULL-S将CPU更换为NXP的i.MX6ULL,主频提升到800MHz;成为FETMX6UL-C核心板的互补产品,而且在功能和FETMX6UL-C完全兼容。
FETMX6ULL-S相比于FETMX6UL-C最大的提升就是它的主频由528MHz提升到了800MHz。
主频高了,意味着CPU单位时间内可执行的时钟周期多了。可执行时钟周期多了,意味着CPU在单位时间能执行的指令数量就比较多。可用的系统资源相应就比较多。
一句话,主频高了,系统速度相应提高。
通过查看/proc/cpuinfo文件,可以获得CPU等信息:
i.MX6UL的CPU信息如下:
root@imx6ulevk:~# cat /proc/cpuinfo
Processor : 0
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 3.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5
Hardware : Freescale i.MX6 Ultralite (Device Tree)
Revision : 0000
Serial : 262589d4ee6c5c1d
i.MX6ULL的CPU信息如下:
root@fl-imx6ull:~# cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 3.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5
Hardware : Freescale i.MX6 Ultralite (Device Tree)
Revision : 0000
Serial : 0000000000000000
通过以上CPU参数可知,i.MX6UL与i.MX6ULL除主频外差别并不大。
为了更好地体现二者因主频带来的差异,特别进行了以下两个测试:
下面进行一个测试,在ubuntu中写一个测试程序,测试程序内容为让开发板进行10亿次加减乘除运算。将测试程序编译后分别移植入FETMX6ULL-S和FETMX6UL-C中,并分别在两个对应的开发板中运行这个硬浮点程序。测试程序如下:
#include
int main()
{
float a = 0.3f, b=1.0f;
long i;
for(i=0;i <1000000000;i++)
{
a = a*b;
a = a/b;
a = a+b;
a = a-b;
}
printf("success ok\n");
printf("%f\n", a * b);
return 0;
}
FETMX6UL-C硬浮点时间为1分33秒65,而FETMX6ULL-S硬浮点时间为1分02秒45。
由此可知执行相同次数的加减乘除运算,FETMX6ULL-S比FETMX6UL-C快了近30秒,所以FETMX6ULL-S主频高的最大体现就是它的运行速度更快。
下载一个480p的视频作为测试素材。将OKMX6UL-C、OKMX6ULL-S两个开发板的频率调节到最大。
1. 当前内核中支持的所有cpufreq governor 类型:
root@freescale/$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
串口输出为:
conservative ondemand userspace powersave interactive performance
其中userspace表示用户模式,在此模式下允许其他用户程序调节CPU频率。
2. 查看当前CPU支持的频率档位:
root@freescale/$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
串口输出为:
198000 396000 528000
3. 设置为用户模式,修改频率为最高:
root@freescale/$ echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
root@freescale/$ echo 528000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
4. 查看当前频率:
root@freescale/$ cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
串口输出:
528000
上述过程均以FETMX6UL-C为例,FETMX6UL-C的最高频率可设为528000,FETMX6ULL-S的最高频率可设为792000。
其次,将下载好的测试视频分别放入开发板中并播放。
mplayer-fs -vo fbdev /run/media/mmcblk0p1/t21.mp4
在播放的过程中对CPU占用率进行查询,可得如下图所示结果:
FETMX6UL-C的CPU占用率:
FETMX6ULL-S的CPU占用率:
通过图中数据可知FETMX6UL-C的CPU占用率为:99%,而FETMX6ULL-S的CPU占用率为:68%。
由此可知FETMX6ULL-S的占用率更低,因此能耗更低。
由上述两个测试可得出结论,因FETMX6ULL-S的主频高于FETMX6UL-C,故其性能相较于FETMX6UL-C也更为优异。与此同时,FETMX6ULL-S核心板与底板间采用的是邮票孔连接方式,其所占空间更小,节省了更多的空间,降低了成本,也更适合在高盐高湿的环境下使用。但因为FETMX6ULL-S采用邮票孔设计,核心板与开发板是一体的,故灵活度差于采用板对板连接器设计的FETMX6UL-C系列。
OKMX6UL-C
OKMX6ULL-S
综上为FETMX6UL-C和FETMX6ULL-S的对比测评,FETMX6ULL-S有更高的主频,更低的价格,无愧于“性价比之王”的美称。二者也是各有优势,FETMX6UL-C系列的推出时间较长,产品资料和成熟方案较多,成功的方案经验也更丰富一些,大家可根据自己的需求选择更符合自己要求的开发板。
进入飞凌嵌入式官网,了解关于OKMX6ULL-S开发板的更多信息。