查看: 1067|回复: 0

[经验] 国产开发板各项性能测试--米尔MYD-YT507H开发板

[复制链接]
  • TA的每日心情

    2019-10-15 10:48
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2022-9-14 10:56:40 | 显示全部楼层 |阅读模式
    分享到:
    本篇测评由电子工程世界的优秀测评者“qinyunti”提供。
    此次的板卡测试,是米尔MYD-YT507H开发板的各项性能测试。
    CoreMark跑分
    CoreMark是用在嵌入式系统中用来测量CPU性能的基准程序。该标准于2009年由EEMBC(Embedded Microprocessor Benchmark Consortium 嵌入式微处理器基准协会)组织的Shay Gal-On提出,并且试图将其发展成为工业标准,从而代替陈旧的Dhrystone标准。CoreMark较Dhrystone避免了编译器不同带来的不同。
    准备代码
    在WSL中打开终端
    cd coremark/
    vi simple/core_portme.h
    修改
    #define COMPILER_FLAGS \
    FLAGS_STR /* "lease put compiler flags here (e.g. -o3)" */
    #endif
    #define COMPILER_FLAGS \
    "-O3" /* "lease 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/e
    cp coremarko0 /mnt/e
    在windows下导入程序到开发板
    chmod +x coremarko3
    chmod +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中
    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
    运行结果如下
    RAM压力测试
    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 1
    512M表示测试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中
    下载代码
    运行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 qtperf4
    LD_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开发板的相关性能都是非常高的,可以满足边缘计算,人机交互,智能终端等各类高性能应用场景需求。
    想要了解优秀测评者“qinyunti”关于MYD-YT507H开发板测评原文的可以复制下方链接查看:
    //bbs.eeworld.com.cn/thread-1211857-1-1.html
    http://bbs.eeworld.com.cn/thread-1212023-1-1.html
    http://bbs.eeworld.com.cn/thread-1211863-1-1.html
    想要了解米尔T507-H处理器开发板可以去米尔官网查看具体的产品介绍:
    http://www.myir-tech.com/product/MYC-YT507H.htm
    需要购买米尔MYD-YT507H开发板的可以复制下方链接购买:
    https://detail.tmall.com/item.htm?id=673629085661

    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-5-15 05:49 , Processed in 0.117989 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.