tag 标签: 双核处理器

相关博文
  • 热度 12
    2022-9-14 15:33
    2577 次阅读|
    0 个评论
    本篇测评由电子工程世界的优秀测评者“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.git cd 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/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中 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 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中 下载代码 git clone https://github.com/qinyunti/qtperf.git 运行qtcreator /home/lhj/qtcreator-5.0.0-rc1/bin/qtcreator.sh & Open File or Project... .pro文件中添加QT += widgets 修改#include 为 #include 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
  • 2022-8-11 10:41
    0 个评论
    本篇测评由电子发烧友的优秀测评者“HonestQiao”提供。 此次板卡的测试,是用macOS将Ubuntu系统烧录到eMMC的操作实录。 米尔MYD-YT507H开发板,官方提供了HMI系统和Ubuntu18.04镜像,体验过默认的HMI系统后,我就换上了我喜欢的Ubuntu系统了。 一、系统烧录 参考官方的文档,使用全志的图形界面烧录工具,在Windows下烧录简单又方便: 因为我使用的是macOS系统,所以我是在macOS下进行烧录的,这需要使用命令行来操作。 首先,我们看一下板子上的接口: 在上图中,红色的TV接口上面,有两个Type-C的接口,标注了OTG接口,可以用来烧录固件。标注了Debug的,可以用于串口终端,来进行设备调试。 所以,要进行系H,连接到电脑,就可以准备烧录了。 从官方资料库中,下载Ubuntu镜像和PhoneixSuit的macOS版本: 然后,进入命令行执行: 此时,会等待按键,具体的按键如下: 当 ----enter sem_wait------- 出现后,应先按住 FEL按键 不放,再按一下 RST按键 ,然后烧录就会开始进行,中途会提示百分比信息,此时就可以松开FEL按键了。 如果按键不及时,可以再次运行命令,并按键进入烧录。 烧录完成后,重启即可开始体验新的系统了。 二、串口终端连接 默认的Ubuntu系统,是18.04的,开发板相关的驱动都自带了,但是没有图形界面,所以启动的时候,只能进到命令行界面。即使HDMI连接了显示器,也只会显示MYIR的LOGO,不会显示命令行界面。 参考前面发的开发板的整体图,用Type-C数据线,把Debug接口对应的Type-C口接上,连接到电脑,就可以在电脑上使用串口终端工具,直接连接操作了。 Windows上的串口终端工具,可以使用Putty或者MobaXterm。 Linux或者macOS上,可以使用screen命令或者minicom进行连接。 串口终端连接上以后,就像是在本地操作Ubuntu系统的命令行界面。 登录串口终端,默认的用户如下: 管理员: root / root 普通用户:myir / 123456 串口终端连接后,先简单查看了一下系统的基本信息: 从上图中,我们可以看到: Linux内核:4.9.170版本 CPU:四核,arm64/aaarch64(AArch64是ARMv8 架构的一种执行状态) 内存:1G 三、远程ssh连接 通过串口终端操作,还是有一些不太方便,那么下一步,就是联网,并能够使用ssh远程登录。 #先切换到root用户 $suroot #将网络配置文件,修改为如下的内容 $vim /etc/ network/interfaces source-directory /etc/ network/interfaces.d autolo iface lo inet loopback autoeth0 ifaceeth0 inetdhcp autoeth1 ifaceeth1inetdhcp 设置完成后,参考之前开发板的全图,使用网线连接到设备,重启设备,就能够自动联网了。 启动的时候,需要注意的是,要等全部启动过程完成,提示用户Login的时候,才可以使用ssh远程登录。 在ssh远程登录以前,我们需要获得开发板取得的ip地址,这可以通过在路由器管理界面查看来获取,并且最好做mac地址绑定,以防发生变化。 我们也可以在串口终端中登录,然后使用ifconfig来查看。 其中,lo为系统本地回环网络设备,eth0、eth1对应两个有线网口。 ifconfig命令的结果如上图所示,eth0接了网线,所以其获得了ip地址,后续我将使用该地址,进行远程操作。 要进行远程ssh连接,Windows系统可以使用Putty或者MobaXterm,Linux或者macOS系统,则可以直接使用ssh命令来进行连接: #请注意替换为实际获得的ip地址 ssh myir@ 192.168.1.239 #登录后,切换到root用户 suroot 远程登录成功后,我们开始进行一些基础的设置,让系统更好使用。 注意:在sudo安装配置完成以前,以下的命令,使用root用户执行。 如果图简单省事,可以试用 unminimize 命令,一步操作,自动安装成一个完整版本的Ubuntu系统。 但我更喜欢自己来一手调教系统,这样更加的适合自己使用,而不会让系统变得臃肿。 1.将默认的shell,设置为bash: #执行后,按照提示,选no即可 dpkg-reconfigure dash 设置完成,退出ssh,重新连接即可 2.更换Ubuntu apt更新源为国内源: cp/etc/apt/sources.list/etc/apt/sources.list.bak #换源 echo"#中科大源 deb http: //mirrors.ustc.edu.cn/ubuntu-ports/bionic-updatesmainrestricteduniversemultiverse deb-srchttp: //mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse deb http: //mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse deb-src http: //mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse deb http: //mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse deb-src http: //mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse deb http: //mirrors.ustc.edu.cn/ubuntu-ports/ bionic main universe restricted deb-src http: /etc/apt/sources.list 3.更新系统:更新后,最好重启一遍 apt update apt upgrade 4.时区设置: #执行后,会提示进行相关的信息选择,依次选:6.Asisa、70.Shanghai即可 apt installtzdata #安装ntp服务 atp installntp #查看系统当前时间,应该显示正确的本地时间 date 5.sudo安装和设置: #安装sudo工具 apt update #在最后添加 vim /etc/sudoers myir ALL =( ALL : ALL ) NOPASSWD: ALL sudo安装完成后,后续需要root权限的指令,都可以使用类似 sudo apt update 的方式来提权来执行。 经过上述的简单调教,这个系统,已经能够基本使用了,可以方便地在其他电脑上,使用ssh远程登录操作使用。 既然能用了,我们就来点个灯试试吧。 在开发板上,有一个Blue灯,可以被我直接使用控制,具体位置如下: 我们可以使用如下的指令控制它: #取消触发 /sys/ class /leds/ blue/trigger #熄灭 echo 1 /sys/ class /leds/ blue/brightness #点亮 echo 0 /sys/ class /leds/ blue/brightness #闪烁 /sys/ class /leds/ blue/trigger 执行上面的最后一条指令后,将会看到,蓝色指示灯闪烁起来了。 到这里,我们完成了Ubuntu系统的基本设置,以及能够成功点灯了。 下一篇文章,将会分享如何建立xfce图形界面的建立,如何远程连接图形界面,以及如何在公司摸鱼连接到家里的米尔MYD-YT507H开发板,先放个图,预览一下: 想要了解优秀测评者“ HonestQiao ”关于MYD-YT507H开发板测评原文的可以复制下方链接查看: https://bbs.elecfans.com/jishu_2293682_1_1.html
相关资源