[MCU] 【翌创ETEB-6001DPX测评】第三篇 最大工作频率300MHz CoreMark跑分多少分?

常见泽1   2024-11-3 15:55 楼主

简介

Coremark是一个综合性的基准测试程序,正如其名称所表示的, CoreMark测试是一个简单而又复杂的基准测试程序,是专门用来测试处理器核心性能的。通过执行常用于应用程序中的简单代码(基本的数据结构和算法)来测试cpu性能。结果是计算每秒钟主程序的迭代次数。

 

CoreMark测试是最大程度抛弃了程序对系统的依赖,不依赖于系统库函数,对编译器依赖也比较小,因此对于不同平台(如大小尾数,高端或低端处理器),其结果有较好的参考价值。运行 CoreMark测试产生一个简单分数,使用户能够快速比较不同处理器的性能。

 

CoreMark测试是读/写操作、整数操作和状态机控制等操作混合而成,其代码较小并易于理解。和其他 EEMBC基准测试项目不同, coremark不是某一实际的应用测试,但其实际工作内容,都是一些嵌入式系统中常用的算法,包括矩阵操作、链表操作、状态机操作和CRC算法等。

下载coremark

http://www.eembc.org/coremark/index.php

 

操作步骤

 

2.1之前的printf工程基础上添加

导入COREMARK C文件到工程

image-20241102155231-1.png  

2.2添加路径

image-20241102155231-2.png  

2.3修改堆栈大小,不然肯定不够COREMARK消耗

 

image-20241102155231-3.png

2.4修改部分参数

1加入PTIM的定时配置

之前用ST的一般用SYSTEMTICK的,用PTIMER也是一样

static void PTIMER_peripheral_init(void)

{

    PTIM_InitTypeDef init;

 

    /* init structure */

    PTIM_StructInit(&init);

    // clk = 100MHz / (99 + 1) = 1MHz  100MHZ/(49999+1) = 2khz

    init.prescaler = 49999;

    /* set period to the maximun*/

    init.period = 0xffffffffffffffff;

    /* set one shot mode */

    init.workMode = PTIM_WORK_ONESHOT;

    /* set load mode */

    init.loadMode = PTIM_LOAD_IMMEDIATELY;

    /* init PIT3 */

    PTIM_Init(PIT3, &init);

    /* start timer count */

    PTIM_Enable(PIT3);

}

image-20241102155231-4.png  

GETMYTIME改为PIT3的计数值获取

 

2 portable_init函数里加入初始化

 开启Cache

SCB_EnableICache();

   SCB_EnableDCache();

   CRG_SYSCNT_ClockSrcSel(CRG_CLKSRC_SYSCNT_XO25M);

   SYSCNT_Init();

   PTIMER_peripheral_init();

   UART0_printf_init();

 

3至少配置10S以上

#define ITERATIONS 12000

 

4#ifndef COMPILER_FLAGS

        #define COMPILER_FLAGS  "-LTO -Omax"

image-20241102155231-5.png  

 

测试结果

200MHZ的COREMARK跑分1000分,分数还不错了对比ST的F7主频216M也大差不差了1082的分值

image-20241102155231-6.png  

ET6000跑分结果

image-20241102155231-7.png  

 

看了下这时候是200MHZ典型频率情况下的跑分

改成300MHZ主频试试看

看了下300MHZ下PITIMER频率还下降了只有75M APB1,200MHz的时候有100M

image-20241102155231-8.png  

 

于是开始修改PTIMER分频系数,保证NPERSEC为1S

运行出来出错,时间不够10S?

这里我有点想不明白,我设置的是1S,理论上肯定够了Iterations

除非这个PTIMER值不对

 

image-20241102155231-9.png  

只能修改Iterartions到15000

 

最高跑到了1498的值

image-20241102155231-10.png  

回复评论 (4)

我非常支持国产芯片,希望大家都能踊跃购买国产芯片

点赞  2024-11-3 17:04

这个是不是也是它单核M7的成绩?

点赞  2024-11-8 17:36
引用: humancat01 发表于 2024-11-3 17:04 我非常支持国产芯片,希望大家都能踊跃购买国产芯片

对 支持国产芯片 国产芯片现在挺好用的

点赞  2024-11-10 13:39
引用: nmg 发表于 2024-11-8 17:36 这个是不是也是它单核M7的成绩?

是的 单核的成绩 回头研究下双核怎么来测评

点赞  2024-11-10 13:39
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复