本篇測評由電子工程世界的優秀測評者“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開發板的相關性能都是非常高的,可以滿足邊緣計算,人機交互,智能終端等各類高性能應用場景需求。
審核編輯:湯梓紅
-
嵌入式
+關注
關注
5068文章
19014瀏覽量
303232 -
開發板
+關注
關注
25文章
4943瀏覽量
97188 -
米爾
+關注
關注
0文章
48瀏覽量
7918
發布評論請先 登錄
相關推薦
評論