本篇测评由电子工程世界的优秀测评者“qinyunti”提供。
此次的板卡测试,是米尔myd-yt507h开发板的各项性能测试。
coremark跑分 coremark是用在嵌入式系统中用来测量cpu性能的基准程序。该标准于2009年由eembc(embedded microprocessor benchmark consortium 嵌入式微处理器基准协会)组织的shay gal-on提出,并且试图将其发展成为工业标准,从而代替陈旧的dhrystone标准。coremark较dhrystone避免了编译器不同带来的不同。
准备代码在wsl中打开终端git clone https://github.com/eembc/coremark.gitcd coremark/ vi simple/core_portme.h修改#define compiler_flags \ flags_str /* please put compiler flags here (e.g. -o3) */#endif为#define compiler_flags \ -o3 /* please put compiler flags here (e.g. -o3) */#endif如果-o0编译则改为”-o0” typedef ee_u32 ee_ptr_int;改为typedef unsigned long ee_ptr_int;
编译export path=$path:~/myd-yt507h/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin 编译 aarch64-linux-gnu-gcc -o coremarko3 core_list_join.c core_main.c core_matrix.c core_state.c core_util.c simple/core_portme.c -dperformance_run=1 -diterations=100000 -isimple -i. -o3 -o0编译则改为 aarch64-linux-gnu-gcc -o coremarko0 core_list_join.c core_main.c core_matrix.c core_state.c core_util.c simple/core_portme.c -dperformance_run=1 -diterations=100000 -isimple -i. -o0
运行复制程序到windows下cp coremarko3 /mnt/ecp coremarko0 /mnt/e 在windows下导入程序到开发板 chmod +x coremarko3chmod +x coremarko0 ./coremarko0./coremarko3 运行结果如下 -o0 803.034513-o3 4093.788532可以看到优化等级的影响巨大。
结果对比可以从如下地址查看对应处理器的得分。https://www.eembc.org/coremark/scores.php 和imx8m配置差不多都是1.5g,4核cortex-a53.imx8m得分是19678.58我们这里是4093.788532x4=16375.154128 差不太多。由于跑了操作系统和图形界面,实际上跑裸机的分会更高。
参考https://www.eembc.org/coremark/
存储性能测试 对于越来越高端的嵌入式芯片,尤其用于汽车人机,ai,边缘计算等场景的高性能cpu,其综合性能是一个关注点,我们之前已经进行过cpu的coremark测试,其性能和国际主流芯片大厂类似芯片是差不多的,板子的性能不仅仅和cpu相关,综合来看的画存储部分也是一个很重要的部分,所以我们针对存储部分进行性能测试。
ram性能测试wsl中 git clone https://github.com/qinyunti/stream.git cd stream/ export path=$path:~/myd-yt507h/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin aarch64-linux-gnu-gcc -o3 stream.c -o stream cp stream /mnt/e 导出到windows下,下载到开发板 chmod +x stream ./stream 运行结果如下
参考https://www.cs.virginia.edu/stream/ref.html
ram压力测试参考 https://pyropus.ca./software/memtester/wget https://pyropus.ca./software/memtester/old-versions/memtester-4.5.1.tar.gz tar -xvf memtester-4.5.1.tar.gz cd memtester-4.5.1/ export path=$path:~/myd-yt507h/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin aarch64-linux-gnu-gcc -o3 memtester.c tests.c -o memtester cp memtester /mnt/e 导出到windows下,下载到米尔myd-yt507h开发板 chmod +x memtester ./memtester 运行结果如下,默认一直测试下去,可以最后指定测试次数比如./memtester 512m 1512m表示测试ram大小1表示测试一次另外也可以-p直接指定物理地址,适合在板子开发阶段裸机代码直接指定物理地址测试。 对于ram我们一般会关注其可靠性,一般会考虑在不同温度,电磁环境等进行对比测试,这里条件有限不再测试。
emmc性能测试查emmc版本 其中mmc0: new high speed mmc card at address 0001表示emmc 设备支持的时钟模式:
speed mode
clock (mhz)
default speed
26
hight speed sdr
52
hight speed ddr
52
hs200
200
hs400
200
sdr:单边沿采样ddr:双边沿采样 其中mmcblk0boot0,mmcblk0boot1,mmcblk0rpmb为物理分区所以我们这里x8-bit理论最大吞吐量应该是52mb/s。 输入df回车我们看到emmc有两个分区/dev/mmcblk0p4/dev/mmcblk0p8 输入mount回车 我们看到两个分区分别挂载在/根目录和/media ls /media查看里面没有文件我们就拿/media /dev/mmcblk0p8作为测试 测试命令 读dd if=/dev/mmcblk0p8 of=/dev/null bs=块大小 count=块数量写dd if=/dev/zero of=/media/test.bin bs=块大小 count=块数量测试记录如下
bs/count 1gb
指令
结果
读
16k/65536
time dd if=/dev/mmcblk0p8 of=/dev/null bs=16k count=65536
45.124mb/s
4k/262144
time dd if=/dev/mmcblk0p8 of=/dev/null bs=4k count=262144
45.118mb/s
1k/1048576
time dd if=/dev/mmcblk0p8 of=/dev/null bs=1k count=1048576
45.096mb/s
写
16k/65536
time dd if=/dev/zero of=/media/test.bin bs=16k count=65536
33.524mb/s
4k/262144
time dd if=/dev/zero of=/media/test.bin bs=4k count=262144
33.379mb/s
1k/1048576
time dd if=/dev/zero of=/media/test.bin bs=1k count=1048576
32.395mb/s
从上测试来看读与最大52mb/s的吞吐量差不太多,写的速率也有33mb/s性能是不错的。
sd卡性能测试与emmc测试方法类似,并且和sd速率相关这里不再测试。
qt性能测试 一般对于图形界面程序会关心刷新率,比如qt程序。这里通过一个简单的qt程序测试qt的性能,通过尽可能快速的绘制不同控件,测试相应时间来测试性能。
代码wsl中下载代码git clone https://github.com/qinyunti/qtperf.git运行qtcreator/home/lhj/qtcreator-5.0.0-rc1/bin/qtcreator.sh &file->open file or project... .pro文件中添加qt += widgets修改#include 为 #include build->build project “qtperf4” 提示错误 手动修改/build-qtperf4-yt507h_dev_kit-debug/makefile如上红色框中的内容为/home/lhj/myd-yt507h/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/qt_5.12.5/aarch64-buildroot-linux-gnu/sysroot/usr/lib/libglesv2.so 重新编译将程序拷贝到windows下cd ../ build-qtperf4-yt507h_dev_kit-debug/export cp qtperf4 /mnt/e 导入到开发板
运行chmod +x qtperf4ld_library_path=/usr/local/qt_5.12.5/lib/:$ld_library_path export qt_qpa_eglfs_integration=none ./qtperf4测试10次的结果如下比如54ms操作了10次qpushbutton 整体而言性能是不错的。
总结从coremark的基础性能测试,包括emmc、ram的存储性能测试,以及qt的显示测试来看,米尔myd-yt507h开发板的相关性能都是非常高的,可以满足边缘计算,人机交互,智能终端等各类高性能应用场景需求。
模具激光焊接机到底具备哪些优点
不想太冒险?消息指iPhone8已取消2 大特色!不用卖肾了
小米汽车被官宣,雷军亲自带队出战
联发科八核处理器解读:首批机型价格过高
大联大品佳集团推出基于Infineon ICL5101的商业照明解决方案
试用视频丨国产开发板各项性能测试--米尔MYD-YT507H开发板
新唐科技N567G200控制器简介
奥迪计划投资120亿欧元 全面发展电气化市场
晶圆代工产能紧张或到明年下半年才能缓解
什么是真RMS钳位呢?为什么我们需要使用真RMS钳位呢?
山东济南一年淘汰30万组的铅酸电池 电动车能环保吗?
PLC应用系统设计的项目分析,硬件选型,编程要点和程序调试方法的概述
利用Ultimaker S3开发自动送货机器人,解决物流最后一英里问题
中国柔性AMOLED面板厂家崛起,打破了韩国企业的垄断格局
提高智能家居安全性的方法
TVS管作用及其应用电路
阿里发布自研CPU芯片倚天710
直线电机模组激光切割设备在厨具行业中的应用
智能建筑的物联网能力可以如何来调节
机器人产业正在快速的崛起