本篇測評由電子工程世界的優秀測評者“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 和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 clonehttps://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/wgethttps://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 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回車 我們看到兩個分區分別掛載在/根目錄和/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=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 為 #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開發板的相關性能都是非常高的,可以滿足邊緣計算,人機交互,智能終端等各類高性能應用場景需求。
-
開發板
+關注
關注
25文章
5050瀏覽量
97472
發布評論請先 登錄
相關推薦
評論