当前位置: 首页 > news >正文

基于RA单片机移植CoreMark跑分源码

关注+星标公众,不错过精彩内容

来源 | 瑞萨嵌入式小百科

在嵌入式处理器领域最为知名和常见测试CPU性能的就是:CoreMark 和Dhrystone

CoreMark是用来衡量嵌入式系统中中心处理单元(CPU,或叫做微控制器MCU)性能的标准。

DMIPS:Dhrystone Million Instructions executed Per Second。用来计算同一秒内系统的处理能力,它的单位以百万来计算,也就是(MIPS)。主要用于测整数计算能力。

下面就结合RA6M4开发板,手把手教你移植CoreMark跑分的代码。

01

Coremark简介

CoreMark是用来衡量嵌入式系统中使用的中心处理器(CPU,或叫做微控制器MCU)性能的标准,它是在2009由eembc的shay gal-on开发的,旨在成为一个行业标准,取代过时的dehrystone基准。代码用C编写,包含以下算法:列表处理(增删改查和排序)、矩阵操作(公共矩阵操作)、状态机(确定输入流是否包含有效数字)和CRC。用户可以自由的下载CoreMark,并移植到自己的平台上运行,随后就可以看到分数。

02

下载CoreMark代码

可以在CoreMark官网下载官方代码:

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

下载完后的压缩包里面会包含如下文件:

CoreMark的测试代码文件包括:

  • core_list_join.c

  • core_main.c

  • core_matrix.c

  • core_state.c

  • core_util.c

  • coremark.h

  • simple/core_portme.c

  • simple/core_portme.h

03

在e2studio里面新建CoreMark测试工程

1

本人是用RA6M4开发板调试,新建一个工程,并选好所使用的的MCU型号,将上面CoreMark需要的文件直接拷贝到src文件夹下面,如下图:

备注:该系统本身也会有一个main函数,该main函数里面会直接调用hal_entry函数,hal_entry.c文件是自动生成的,没办法删除,所以需要将core_main.c里面的内容全部复制到hal_entry.c文件里面,并且将里面的main(void)函数改成void hal_entry(void)。

2

配置UART串口功能,这里不着重介绍串口功能的调试,假设串口打印功能已经调通。

3

打开定时器功能,设定1ms中断一次,用于计算跑完CoreMark里面的算法需要的时间。

04

移植完后代码的具体修改方法

1

在hal_entry.c文件里面添加串口打印的头文件,用来调用串口打印函数。

2

在hal_entry函数里面添加打开串口功能的函数,如下图红色框内:

3

修改portable_init函数,由于许多功能的初始化配置(如:时钟)已经在进入hal_entry函数前已经配置好了(可以参考startup.c文件,系统启动后会先进入这个文件),这里就不需要进行任何初始化配置,另外也无任何传入参数,所以将传入参数删掉,具体修改如下图:

4

修改计时相关代码,本人使用的是定时器功能1ms中断一次,具体修改如下:

增加1ms定时器中断函数,如下图:

5

修改迭代次数,并增加Tick函数的定义

根据系统运行的情况,可以调整ITERATIONS的数值,但要保证程序运行时间至少要大于10s。

6

设置打印信息,根据编译器的版本,自行定义,如下图:

7

如果自己的打印函数和CoreMark代码里面的打印函数名不一致,用自己的串口打印函数替换ee_printf()打印函数

8

e2studio编译环境默认是不能打印float字符的,点击菜单栏的Project->C/C++ Project Settings,进入该界面进行配置,如下图:

05

运行结果如下图

------------END------------

单片机将常量数据放在指定位置的小技巧

卷王?2025年瑞萨RA家族推出了10个系列MCU~

一颗LED也能“翻”出新花样

http://www.jsqmd.com/news/336481/

相关文章:

  • 黑客攻击MongoDB实例删除数据库并植入勒索信息
  • 背着全新圣罗兰曼哈顿盒子手袋,一如往常的高级时髦感!
  • 一键触发漏洞:OpenClaw远程代码执行漏洞分析
  • 2026废弃物暂存柜五大品牌排行榜 谁才是靠谱之选? - 品牌推荐大师
  • 2026年宁波留学中介前十机构盘点,性价比高选择解析 - 留学机构评审官
  • 自定义事件系统:$emit、$on、$off 的深度解析与实践应用
  • 如何科学地“设计”SFT 数据?一次关于 ODA 的完整平台级验证
  • 2026年口碑好的污泥压滤机/压滤机厂家推荐及采购参考 - 品牌宣传支持者
  • 机器学习输入层:从基础到前沿,解锁模型性能第一关
  • 2026 最新道路救援服务商 / 厂家 TOP5 评测!全国覆盖+24小时响应权威榜单发布,节假日/异地/长途/跨省救援首选品牌推荐 - 品牌推荐2026
  • Vue与Web Components的集成:技术原理、实践方案与生态协同
  • 书匠策AI:学术征途的「全维智囊」,让论文写作从“孤军奋战”到“智领未来”
  • 2026年适合送礼的高端瓶装水哪个牌子好:五大礼赠优选品牌测评 - 速递信息
  • 磷脂酰丝氨酸PS+DHA+神经酸脑活素品牌十大排名推荐:提高记忆助力脑活力 - 博客万
  • 深入隐藏层:解锁机器学习模型性能的核心奥秘
  • Text2DSL——自然语言转 Elasticsearch / Easysearch DSL 神器
  • 2026年评价高的轻型堆垛机/环形轨道堆垛机厂家推荐及选购指南 - 品牌宣传支持者
  • 强烈安利10个降AI率平台,千笔·专业降AI率智能体帮你解决AIGC检测难题
  • GitHub项目上传、删除与协议设置:新手到高手的完整指南
  • 2026年全国青石板厂家权威推荐榜 生态耐用适配多场景 全景解析选型方向 - 深度智识库
  • Qt学习全攻略:从核心原理到本地项目实战
  • 2026年麻将机品牌推荐:基于商业运营长期测试评价,针对管理效率与成本痛点指南 - 品牌推荐
  • 【C++基础与提高】第六章:函数——代码复用的艺术 - 教程
  • 2026年知名的3寸脚轮/5寸脚轮厂家推荐及选购指南 - 品牌宣传支持者
  • 2026年包装封箱机厂家权威推荐:自动化/智能/物流封箱机及全自动封箱设备实力厂家精选 - 品牌推荐官
  • 【流程思维】五、重要根源: 穿透表象,重塑系统
  • IE浏览器未过时,https://iebrowser-cn.com一键获取适配
  • Cyclin D1抗体在肺癌放疗抵抗研究中揭示何种机制?
  • 2026年性价比高的欧美空运小包货代有哪些 - 工业品牌热点
  • 丝氨酸/苏氨酸磷酸化抗体在蛋白质合成研究中发挥何种作用?