美文网首页
交叉编译Coremark v1.01并在LS1046ARDB测试

交叉编译Coremark v1.01并在LS1046ARDB测试

作者: Alan王伦胜 | 来源:发表于2018-09-27 11:41 被阅读0次

下载源码

alan@FSLChengdu:/data/alan/lsdk$ git clone https://github.com/eembc/coremark.git

预备编译环境

alan@FSLChengdu:/data/alan/lsdk/coremark$ source /opt/fsl-qoriq/2.0/environment-setup-aarch64-fsl-linux

因为要在android上测试,所以需要静态链接,修改Makefile

diff --git a/linux64/core_portme.mak b/linux64/core_portme.mak

index 5cfabee..28f12d0 100755

--- a/linux64/core_portme.mak

+++ b/linux64/core_portme.mak

@@ -21,12 +21,12 @@

OUTFLAG= -o

# Flag: CC

#      Use this flag to define compiler to use

-CC = gcc

+CC = aarch64-fsl-linux-gcc  --sysroot=/opt/fsl-qoriq/2.0/sysroots/aarch64-fsl-linux

# Flag: CFLAGS

#      Use this flag to define compiler options. Note, you can add compiler options from the command line using XCFLAGS="other flags"

PORT_CFLAGS = -O2

FLAGS_STR = "$(PORT_CFLAGS) $(XCFLAGS) $(XLFLAGS) $(LFLAGS_END)"

-CFLAGS = $(PORT_CFLAGS) -I$(PORT_DIR) -I. -DFLAGS_STR=\"$(FLAGS_STR)\"

+CFLAGS = $(PORT_CFLAGS) -I$(PORT_DIR) -I. -DFLAGS_STR=\"$(FLAGS_STR)\" -static

#Flag: LFLAGS_END

#      Define any libraries needed for linking or other flags that should come at the end of the link line (e.g. linker scripts).

#      Note: On certain platforms, the default clock_gettime implementation is supported but requires linking of librt.

编译单核版本

alan@FSLChengdu:/data/alan/lsdk/coremark$ make PORT_CFLAGS="-O3 -funroll-all-loops --param max-inline-insns-auto=550" PORT_DIR=linux64

alan@FSLChengdu:/data/alan/lsdk/coremark$ file coremark.exe

coremark.exe: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, for GNU/Linux 3.14.0, BuildID[sha1]=c6bcd6a2a56bca92735d6d308113902632f0d2ef, not stripped

编译4核版本

alan@FSLChengdu:/data/alan/lsdk/coremark$ make PORT_CFLAGS="-O3 -funroll-all-loops -static --param max-inline-insns-auto=550" PORT_DIR=linux64

上传到LS1046ARDB板子测试

单核coremark性能

layerscape:/system/xbin # ./coremark.1thread

2K performance run parameters for coremark.

CoreMark Size    : 666

Total ticks      : 17748

Total time (secs): 17.748000

Iterations/Sec  : 11268.875366

Iterations      : 200000

Compiler version : GCC4.9.3 20150311 (prerelease)

Compiler flags  : -O3 -funroll-all-loops --param max-inline-insns-auto=550 -DPERFORMANCE_RUN=1  -lrt

Memory location  : Please put data memory location here

                        (e.g. code in flash, data on heap etc)

seedcrc          : 0xe9f5

[0]crclist      : 0xe714

[0]crcmatrix    : 0x1fd7

[0]crcstate      : 0x8e3a

[0]crcfinal      : 0x4983

Correct operation validated. See readme.txt for run and reporting rules.

CoreMark 1.0 : 11268.875366 / GCC4.9.3 20150311 (prerelease) -O3 -funroll-all-loops --param max-inline-insns-auto=550 -DPERFORMANCE_RU                                                        N=1  -lrt / Heap

4核coremark性能

layerscape:/system/xbin # ./coremark.4thread

2K performance run parameters for coremark.

CoreMark Size    : 666

Total ticks      : 18273

Total time (secs): 18.273000

Iterations/Sec  : 43780.441088

Iterations      : 800000

Compiler version : GCC4.9.3 20150311 (prerelease)

Compiler flags  : -O3 -funroll-all-loops --param max-inline-insns-auto=550 -DMULTITHREAD=4 -DUSE_FORK=1 -DPERFORMANCE_RUN=1  -lrt

Parallel Fork : 4

Memory location  : Please put data memory location here

                        (e.g. code in flash, data on heap etc)

如果感觉到本文对您有所助益,您可以请我喝一杯咖啡。

相关文章

  • 交叉编译Coremark v1.01并在LS1046ARDB测试

    下载源码 alan@FSLChengdu:/data/alan/lsdk$ git clone https://g...

  • 移植qt程序并在开发板运行

    移植qt程序并在开发板运行 实验环境 交叉编译平台 (on VMware14.0,Win10) 交叉编译链 gcc...

  • 交叉编译测试记录

    1、arm-xx-genuabi-linux 必须按照文件夹顺序排列。1.1 runtime复制到目标板1.2 交...

  • ITOP 4412 交叉编译环境 的搭建

    1 交叉编译工具### 编译的时候需要用到交叉编译工具,提供的交叉编译工具是用户光盘“02_编译器以及烧写工具”→...

  • golang进行交叉编译

    golang进行交叉编译 交叉编译即编译不同操作系统平台的可执行程序 golang执行交叉编译,只需要使用两个变量...

  • 交叉编译

    配置64位ubuntu交叉编译环境时,设置arm的工具链的路径,需要先安装lib32stdc++6 然后在~/.b...

  • 交叉编译

    在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程...

  • 交叉编译

    使用go的交叉编译 最后使用go build windows_fping.go 编译出.exe可执行文件 如果编译...

  • 交叉编译

    1.为啥需要交叉编译?因为linux 系统上的gcc 在android 系统上没法正常调用,所有需要使用andro...

  • 在Linux环境交叉编译Qt5.5.0源码及编译示例

    在Linux环境交叉编译Qt5.5.0源码及编译示例 实验环境 交叉编译平台 (on VMware14.0,Win...

网友评论

      本文标题:交叉编译Coremark v1.01并在LS1046ARDB测试

      本文链接:https://www.haomeiwen.com/subject/zfuxbftx.html