0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【先楫半导体HPM6750EVKMINI评估板试用体验】基准性能测试之二:coremark

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-11-18 15:27 次阅读
本文来源电子发烧友社区,作者:李先生, 帖子地址:https://bbs.elecfans.com/jishu_2284342_1_1.html

前言
根据手册描述性能可达5.6 CoreMark / MHz
poYBAGKXHneAY4odAAEfBa7VPxI398.png
我们就实际跑个分看看。
获取代码
https://github.com/eembc/coremark
进入HPM6750EVKMINI/proj/led目录
Clone代码
git clonehttps://github.com/eembc/coremark
删除其他文件,只保留如下内容,并删除barebones下的.mak文件
pYYBAGKXHnmAJb8BAABunDTxB9o500.png
添加代码
按照上一步将文件下载到工程目录下后,按照如下方式刷新
poYBAGKXHnqAQm5tAADWR_VH__k223.png
可以看到源码添加到了工程目录
pYYBAGKXHnuAdwA6AAAxev2wunE486.png
按如下设置不编译ee_printf.c因为已经有打印函数rt_kprintf
pYYBAGKXHn2ADpTrAAGZWtvVa6k848.png
修改代码
coremark.h
#include"rtthread.h"
#include"core_portme.h"改为
#include"barebones/core_portme.h"
增加宏定义
#defineITERAtiONS 1
#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则自动计算迭代次数。
poYBAGKXHn6AbXqpAABg5BpNo0k501.png
问题:优化等级改为-O3#defineITERATIONS 10000出错,改为8000测试。
pYYBAGKXHn-AcoS8AABdvognLXc315.png
主频是816M
RT_TICK_PER_SECOND=1000
RT_TICK_PER_SECOND=100
优化等级0
优化等级3
优化等级0
优化等级3
RAM中运行
717
2290
2292
CoreMark/MHz
0.878
2.8
2.8
ROM中运行
和手册描述的5.6CoreMark/MHz刚好差一倍,不知道是不是手册描述的是双核累加。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17186

    浏览量

    351773
  • 先楫半导体
    +关注

    关注

    10

    文章

    216

    浏览量

    2137
收藏 人收藏

    评论

    相关推荐

    HPM6E00技术日 | 百人研讨共话工业应用创新及发展趋势

    现场交流氛围热烈。 活动开场,半导体市场销售执行副总裁陈丹率先发言:“从成立之初就一直致力于为中国市场提供具有创新价值的高
    发表于 09-02 10:14

    半导体hpm_apps v1.6.0上线

    半导体hpm_apps v1.6.0上线
    的头像 发表于 08-02 08:18 891次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b><b class='flag-5'>hpm</b>_apps v1.6.0上线

    有奖提问!半导体HPM6E00系列新品发布会!!

    半导体HPM6E00新品预览”的活动,盛况空前。 自此之后一直收到大家的信息,问什么时候能够买到HPM6E00,这不,我们来了~
    发表于 06-20 11:45

    半导体与您相约嵌入式盛会embedded world China Conference2024

    》演讲。分享半导体HPM5300到HPM6200,再到即将发布的HPM6E00系列MCU,
    的头像 发表于 06-07 08:17 413次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>与您相约嵌入式盛会embedded world China Conference2024

    半导体所有开发已上RT-Thread主线啦

    目前,半导体在RT-Thread主线支持的开发包含以下这些
    的头像 发表于 06-05 08:17 592次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>所有开发<b class='flag-5'>板</b>已上RT-Thread主线啦

    半导体 hpm_sdk v1.5.0 正式发布

    半导体 hpm_sdk v1.5.0 正式发布
    的头像 发表于 04-12 08:17 624次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b> <b class='flag-5'>hpm</b>_sdk v1.5.0 正式发布

    半导体 hpm_sdk v1.5.0 正式发布

    半导体 hpm_sdk v1.5.0 正式发布!功能升级更强大 版本更新概况 新支持的IDE IAR Embedded Workbench for RISC-V (
    发表于 04-08 11:14

    引领极致视界——性能MCU HPM6800系列产品生态绽放,共链未来

    2024年3月28日,上海-国产高性能微控制器厂商上海半导体科技有限公司(
    的头像 发表于 03-30 08:16 894次阅读
    引领极致视界——<b class='flag-5'>先</b><b class='flag-5'>楫</b>高<b class='flag-5'>性能</b>MCU <b class='flag-5'>HPM</b>6800系列产品生态绽放,共链未来

    性能MCU HPM6800系列产品生态绽放,共链未来

    2024年3月28日,上海 - 国产高性能微控制器厂商上海半导体科技有限公司(
    的头像 发表于 03-29 18:21 1089次阅读

    半导体携手立功科技推出了国产高性能微控制器HPM6800系列

    上海半导体科技有限公司(半导体,HPMicro)推出了国产高
    的头像 发表于 03-13 12:24 900次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>携手立功科技推出了国产高<b class='flag-5'>性能</b>微控制器<b class='flag-5'>HPM</b>6800系列

    基于HPM5300 RISC-V内核MCU的HPM5361EVK开发测评效果(

    HPM5361EVK是基于HPM5300系列高性能RISC-V内核MCU的一款开发
    的头像 发表于 03-12 10:30 2988次阅读
    基于<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>HPM</b>5300 RISC-V内核MCU的<b class='flag-5'>HPM</b>5361EVK开发<b class='flag-5'>板</b>测评效果(<b class='flag-5'>二</b>)

    HPM5361EVK开发,网友测评效果(

    上海半导体举办的HPM5361EVK开发试用活动圆满结束,广大工程师和爱好者们踊跃参与此次
    的头像 发表于 03-12 08:16 2195次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>HPM</b>5361EVK开发<b class='flag-5'>板</b>,网友测评效果(<b class='flag-5'>二</b>)

    半导体推出了国产高性能微控制器HPM6800系列

    上海半导体科技有限公司(半导体,HPMicro)推出了国产高
    的头像 发表于 03-07 12:30 1332次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>半导体</b>推出了国产高<b class='flag-5'>性能</b>微控制器<b class='flag-5'>HPM</b>6800系列

    芯原2.5D GPU IP赋能半导体HPM6800系列RISC-V MCU

    芯原股份(股票代码:688521.SH)与半导体(简称“”)的合作,为高性能图形处理领域
    的头像 发表于 03-05 09:21 1023次阅读

    HPM5361EVK开发试用体验】(原创)5.手把手实战AI机械臂

    与ChatGPT API结合,使机械臂能够基于视觉信息和AI指令进行动作。 今天更新到这里... 谢谢! 接上四篇: 【HPM5361EVK开发
    发表于 02-06 10:28