描述
Coremark的源码托管在GitHub上,且由于官方提供的环境默认是没有安装git,所以这里先安装git方便获取其代码。
使用命令“sudo apt-get install git”安装git,待安装完成后使用“git --version”确认是否安装成功。
2、移植
正常情况下,linux环境不需要修改任何东西,即可使用make命令进行编译。
所以coremark的目录下必须能获取编译环境变量“CC”,否则需要自行修改core_portme.mak文件中的CC定义。使用命令“make PORT_DIR=linux”编译coremark为可执行文件“coremark.exe”,如下图所示,且由于是使用了交叉编译环境,在虚拟机中会出现“/bin/sh: 1: ./coremark.exe: Exec format error”。
然后将该执行文件拷贝到rz-g2l开发板上,本人使用的是windterm终端连接串口,这里串口传输文件以xmodem协议为例说明,如下图所示,等待文件传输完成,其他协议未一一测试使用。
再修改执行文件的权限,保证在当前用户下可以正常运行,运行后等着执行完成将会输出测试结果,如下两图所示。
由于rz-g2l有双核A55,下面接下来测试一下多线程跑分,这里修改core_portme.h多线程定义如下图所示。
然后重新生成可执行文件,按照单核跑分相同操作执行可执行文件结果如下图所示。
3、Coremark结果确认
在ARM官网和瑞萨官网都没有发现明确指出cortex-A55内核的运算性能,这里在coremark官方发现了cortex-A其他系列内核的运算性能,这里以NXP的I.MX8M为例,4核1500MHz主频,跑分为13.119 coremark/MHz,如下图所示。同时可以看到其使用了多线程,gcc版本和优化等级与我们测试的开发板相同,故可以参考其结果为单核3.27975 coremark/MHz。由第2部分也可以算出rz-g2l跑分为单核3.7838655975 coremark/MHz,略高于I.MX8M。
打开APP阅读更多精彩内容