本篇测评由电子工程世界的优秀测评者“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