本文来源电子发烧友社区,作者:李先生, 帖子地址:https://bbs.elecfans.com/jishu_2284342_1_1.html
前言
获取代码
添加代码
修改代码
前言
根据手册描述性能可达5.6 CoreMark / MHz。

我们就实际”跑个分”看看。
https://github.com/eembc/coremark
进入HPM6750EVKMINI/proj/led目录
Clone代码
git clonehttps://github.com/eembc/coremark
删除其他文件,只保留如下内容,并删除barebones下的.mak文件

按照上一步将文件下载到工程目录下后,按照如下方式刷新

可以看到源码添加到了工程目录

按如下设置不编译ee_printf.c因为已经有打印函数rt_kprintf。

coremark.h中
#include"rtthread.h"
#include"core_portme.h"改为
#include"barebones/core_portme.h"
增加宏定义
#ifHAS_PRINTF
#defineee_printf printf
#endif
改为
//#ifHAS_PRINTF
#defineee_printfrt_kprintf
//#endif
core_portme.h中
#defineHAS_FLOAT1
改为
#defineHAS_FLOAT0
前面添加#include
#defineCOMPILER_FLAGS
FLAGS_STR/* "Please put compiler flags here (e.g. -o3)" */
#endif
按照实际修改比如
#defineCOMPILER_FLAGS
“-O3”
#endif
core_portme.c中
#include"coremark.h"改为
#include"../coremark.h"
实现接口
barebones_clock()
使用rt_tick_get()
所以前面要包含#include"rtthread.h"
CORETIMETYPE
barebones_clock()
{
//#error
// "You must implement a method to measure time in barebones_clock()! This function should return current time.n"
returnrt_tick_get();
}
#defineEE_TICKS_PER_SEC (CLOCKS_PER_SEC / TIMER_RES_DIVIDER)改为
#defineEE_TICKS_PER_SEC RT_TICK_PER_SECOND
因为已经初始化了环境所以注释掉portable_init的
//#error
// "Call board initialization routines in portableinit(if needed), in particular initialize UART!n"
core_main.c中
main改为core_main
ee_printf("Total time (secs): %dn", time_in_secs(total_time));改为
ee_printf("Total time (millisecond): %dn", time_in_secs(total_time*1000));
if(time_in_secs(total_time) > 0)
ee_printf("Iterations/Sec : %dn",
(int)((default_num_contexts * results[0].iterations*1000.0
/ time_in_secs(total_time*1000))));
main.c中
调用
intcore_main(intargc,char*argv[]);
core_main(0, 0);
由于定义了大数组
#if(MEM_METHOD == MEM_STACK)
ee_u8stack_memblock[TOTAL_DATA_SIZE * MULTITHREAD];
#endif
所以main的任务栈要修改大一些
Rtconfig.h中#defineRT_MAIN_THREAD_STACK_SIZE (2048*4)
main任务优先级也提高一点大于shell的优先级
#defineRT_MAIN_THREAD_PRIORITY 21
测试
如果提示ERROR! Must execute for at least 10 secs for a valid result!
则将#defineITERATIONS 10000改大一点,测试时间要大于10秒。
配置为0则自动计算迭代次数。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
mcu
+关注
关注
147文章
19232浏览量
405181 -
先楫半导体
+关注
关注
12文章
294浏览量
3414
发布评论请先 登录
相关推荐
热点推荐
先楫解决方案 | 变频器EtherCAT通讯卡+远程IO方案
先楫半导体推出的基于HPM5E00系列的工业级变频器EtherCAT通讯卡及远程IO解决方案,致力于帮助开发者在以HPM微控制器作为设备从站
元禾控股投资先楫半导体:国产高性能MCU驶入机器人控制“快车道”
RISC-V高性能芯片赛道。此次融资不仅是对先楫半导体企业技术实力的认可,更标志着我们开启在机器人控制领域从“蓄势待发”到逼近爆发临界点的新篇章。随着全球智能机器人产
上榜福布斯:先楫半导体入选亚洲百家最具潜力企业《Forbes Asia 100 to Watch》
福布斯亚洲(ForbesAsia)于美东时间2025年8月25日发布《ForbesAsia100toWatch》榜单,上海先楫半导体科技有限公司(先
【上海晶珩睿莓1开发板试用体验】4、Coremark性能测试
CoreMark 介绍
CoreMark 是由 EEMBC(嵌入式微处理器基准委员会)维护的一个轻量、可移植的基准套件,用于评估处理器的整型
发表于 08-18 22:18
先楫半导体高性能MCU入驻立创商城,国产芯势力再添新动能
先楫半导体(HPMicro)宣布其全系列高性能MCU芯片正式上架立创商城(LCSC),标志着国产高端MCU在供应链渠道与生态服务方面迈上新台阶,国产芯势力再添新动能。
【先楫半导体HPM6750EVKMINI评估板试用体验】基准性能测试之二:coremark


评论