news 2026/6/24 6:42:25

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于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也能“翻”出新花样

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/20 15:36:54

GitHub项目上传、删除与协议设置:新手到高手的完整指南

GitHub项目上传、删除与协议设置:新手到高手的完整指南 引言 对于每一位开发者而言,GitHub不仅是代码的托管平台,更是个人技术履历和协作开发的核心。然而,从如何将第一个项目成功推送,到管理项目生命周期&#xff0…

作者头像 李华
网站建设 2026/6/23 13:59:26

设计亲子互动游戏推荐工具,输入孩子年龄,推荐适配亲子游戏,标注玩法及教育意义,帮家长陪伴孩子,增进亲子感情。

1. 项目背景 & 实际应用场景 场景描述 现代父母工作繁忙,缺少高质量陪伴孩子的时间。市场上亲子游戏很多,但家长往往不知道哪些适合自己孩子的年龄段,也不清楚游戏的教育意义。 我们设计一个智能亲子游戏推荐工具,家长只需输入…

作者头像 李华
网站建设 2026/6/20 7:06:08

Cyclin D1抗体在肺癌放疗抵抗研究中揭示何种机制?

一、Cyclin D1在细胞周期调控中具有何种关键作用?Cyclin D1是细胞周期调控网络中的核心蛋白,属于细胞周期蛋白D家族成员,在细胞从G1期向S期过渡的进程中发挥着决定性作用。该蛋白通过与细胞周期蛋白依赖性激酶4或6结合形成复合物,…

作者头像 李华
网站建设 2026/6/20 7:08:44

《How to fix your entire life in 1 day》

爆火的文章《How to fix your entire life in 1 day》(如何在一天内彻底修复你的人生)其实并不是真的让你在24小时内解决所有人生难题,而是提供了一个“人生重置协议”。这篇文章由博主 Dan Koe 撰写,浏览量极高,核心在…

作者头像 李华
网站建设 2026/6/20 7:07:45

2026年软件测试公众号爆款内容密码:错误日志手动测试的实战与趋势

错误日志测试为何成为2026年焦点? 在AI自动化测试工具席卷行业的2026年,错误日志手动测试却逆势成为公众号内容的热点。根据最新行业数据,涉及错误日志深度分析的文章阅读量同比提升40%,互动率增长25%。这一现象背后,…

作者头像 李华
网站建设 2026/6/22 4:28:36

HoRain云--DPDK高性能网络开发全攻略

🎬 HoRain 云小助手:个人主页 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。 目录 ⛳️ 推荐 …

作者头像 李华