基于博流BL606P音视频开发板的CoreMark基准性能测试

描述

编辑语:

芯片开放社区(OCC)面向广大开发者推出应用实战系列内容,通过分享开发者实战开发案例,总结应用开发经验,梳理开发中的常见问题及解决方案,为后续参与的开发者提供更多参考与借鉴。

本文是关于开发者 qinyunti 基于BL606P-DVK开发板实战开发的系列文章中的一篇,主要介绍了CoreMark基准性能测试,后面还会持续更新该开发者的测评内容,敬请期待!

01 前言

按照测评计划,我们这一篇进行性能测试。CPU基准性能测试有很多种,比较常见的是coremark,我们就以coremark进行CPU的基准性能测试。

02 过程

2.1 准备代码

下载代码

git clone https://github.com/eembc/coremark.git

只保留如下内容,并添加到工程app目录下

音视频

2.2 修改代码

core_portme.h中

#define HAS_PRINTF 0改为#define HAS_PRINTF 1     #define ee_printf printf

改为

#define ee_printf aos_cli_printf

添加#include "aos/cli.h"

添加#define MAIN_HAS_NOARGC 1

FLAGS_STR按照实际改为”-O0”或者”-O3”等。

typedef size_t         ee_size_t;改为

typedef unsigned int         ee_size_t;

添加#define ITERATIONS 10000

该值需要按照实际修改,如果提示运行时间不够则修改增加该值。

core_portme.c中

barebones_clock()

{

#error

    "You must implement a method to measure time in barebones_clock()! This function should return current time. "

}

改为

barebones_clock()

{

//#error

//    "You must implement a method to measure time in barebones_clock()! This function should return current time. "

return aos_sys_tick_get();

}

注释掉

#if 0

#error

    "Call board initialization routines in portable init (if needed), in particular initialize UART! "

#endif

以下两个宏确定获取时间tick的单位

#define TIMER_RES_DIVIDER          1

# define CLOCKS_PER_SEC    (100)

core_main.c中main函数改为coremark_main

core_util.c/coremark.h还有其他文件中的crc16改为core_crc16

main函数中调用

void coremark_main(void);

coremark_main();

2.3 测试

设置优化等级

音视频

·2K performance run parameters for coremark.

CoreMark Size    : 666

Total ticks      : 10261

Total time (secs): 102.610000

Iterations/Sec   : 97.456388

Iterations       : 10000

Compiler version : GCC10.2.0

Compiler flags   : -O3

Memory location  : STACK

seedcrc          : 0xe9f5

[0]crclist       : 0xe714

[0]crcmatrix     : 0x1fd7

[0]crcstate      : 0x8e3a

[0]crcfinal      : 0x988c

Correct operation validated. See README.md for run and reporting rules.

CoreMark 1.0 : 97.456388 / GCC10.2.0 -O3 / STACK

2.4 对比

https://www.eembc.org/coremark/scores.php

03 总结

以上结果仅作参考,因为和配置关系很大,比如编译器优化,主频,cache的使能等等。

审核编辑:汤梓红
 
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分