本篇测评由电子工程世界的优秀测评者“qinyunti”提供。
此次的板卡测试,是米尔MYD-YT507H开发板的各项性能测试。
CoreMark跑分
CoreMark是用在嵌入式系统中用来测量CPU性能的基准程序。该标准于2009年由EEMBC(Embedded Microprocessor Benchmark Consortium 嵌入式微处理器基准协会)组织的Shay Gal-On提出,并且试图将其发展成为工业标准,从而代替陈旧的Dhrystone标准。CoreMark较Dhrystone避免了编译器不同带来的不同。
准备代码
在WSL中打开终端git clonehttps://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
和
M配置差不多都是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 clonehttps://github.com/qinyunti/STREAM.gitcd STREAM/export PATH=$PATH:~/MYD-YT507H/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/binaarch64-linux-gnu-gcc-O3 stream.c -o streamcp stream /mnt/e 导出到WINDOWS下,下载到开发板chmod +x stream./stream 运行结果如下
参考https://www.cs.virginia.edu/stream/ref.html
RAM压力测试
参考https://pyropus.ca./software/memtester/wgethttps://pyropus.ca./software/memtester/old-versions/memtester-4.5.1.tar.gztar -xvf memtester-4.5.1.tar.gzcd memtester-4.5.1/export PATH=$PATH:~/MYD-YT507H/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/binaarch64-linux-gnu-gcc-O3 memtester.c tests.c -o memtestercp memtester /mnt/e导出到WINDOWS下,下载到米尔MYD-YT507H开发板chmod +x memtester./memtester运行结果如下,默认一直测试下去,可以最后指定测试次数比如./memtester 512M1512M表示测试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回车
我们看到两个分区分别挂载在/根目录和/medials /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=16kcount=65536 |
33.524MB/S |
4k/262144 |
time dd if=/dev/zero of=/media/test.bin bs=4kcount=262144 |
33.379MB/S |
|
1k/1048576 |
time dd if=/dev/zero of=/media/test.bin bs=1kcount=1048576 |
32.395MB/S |
从上测试来看读与最大52MB/S的吞吐量差不太多,写的速率也有33MB/S性能是不错的。
sd卡性能测试
与EMMC测试方法类似,并且和SD速率相关这里不再测试。
Qt性能测试
一般对于图形界面程序会关心刷新率,比如Qt程序。这里通过一个简单的Qt程序测试Qt的性能,通过尽可能快速的绘制不同控件,测试相应时间来测试性能。
代码
WSL中下载代码git clonehttps://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为 #includeBuild->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/exportcp qtperf4 /mnt/e导入到开发板
运行
chmod +x qtperf4LD_LIBRARY_PATH=/usr/local/Qt_5.12.5/lib/:$LD_LIBRARY_PATHexport QT_QPA_EGLFS_INTEGRATION=none./qtperf4测试10次的结果如下比如54mS操作了10次QPushButton
整体而言性能是不错的。
总结
从CoreMark的基础性能测试,包括EMMC、RAM的存储性能测试,以及Qt的显示测试来看,米尔MYD-YT507H开发板的相关性能都是非常高的,可以满足边缘计算,人机交互,智能终端等各类高性能应用场景需求。
审核编辑:汤梓红
-
嵌入式
+关注
关注
5076文章
19045浏览量
303853 -
开发板
+关注
关注
25文章
4979浏览量
97272 -
米尔
+关注
关注
0文章
49浏览量
7924
发布评论请先 登录
相关推荐
评论