CMS32M65xx/67xx系列CoreMark跑分测试
CMS32M65xx/67xx系列CoreMark跑分测试
1、参考资料准备
1.1、STM32官方跑分链接
1.2、官网链接
- 官方移植文档,如下所示,点击红框处-移植文档: A new whitepaper and video explain how to port CoreMark-Pro to bare-metal
1.3、测试软件git下载链接
2、代码移植
在工程中新建CoreMark文件夹,将Git下载的coremark-main文件解压,从coremark-main文件夹中拷贝文件
core_list_join.c
core_main.c
core_matrix.c
core_state.c
core_util.c
coremark.h
simple/core_portme.c(simple文件夹下)
simple/core_portme.h(simple文件夹下)
将上述文件拷贝到新建的文件夹中。
主要注意配置时间基数、官方以及参考都是使用系统时钟(SysTick),当然也可以使用定时器来做时基
在core_portme.c文件夹中,做以下修改#define EE_TICKS_PER_SEC (1000)
该定义与定时器时基有关。定时器设定1ms周期,配置为1000。
//#define NSECS_PER_SEC CLOCKS_PER_SEC
//#define CORETIMETYPE clock_t
//#define GETMYTIME(_t) (*_t = clock())
//#define MYTIMEDIFF(fin, ini) ((fin) - (ini))
//#define TIMER_RES_DIVIDER 1
//#define SAMPLE_TIME_IMPLEMENTATION 1
//#define EE_TICKS_PER_SEC (NSECS_PER_SEC / TIMER_RES_DIVIDER)#include "CMS32M6510.h"
#define CORETIMETYPE uint32_t
#define EE_TICKS_PER_SEC (1000) //和定时器配置相关
void
start_time(void)
{
// GETMYTIME(&start_time_val);Time0_cnt=0;TMR_Start(TMR0);
}void
stop_time(void)
{
// GETMYTIME(&stop_time_val);TMR_Stop(TMR0);
}CORE_TICKS
get_time(void)
{
// CORE_TICKS elapsed
// = (CORE_TICKS)(MYTIMEDIFF(stop_time_val, start_time_val));
// return elapsed;CORE_TICKS elapsed = Time0_cnt;return elapsed;
}
在core_portme.h文件夹中,做以下修改##define MAIN_HAS_NOARGC 1
该定义与coremark_main函数入口参数有关。#define ITERATIONS 1000
该定义根据MCU来修改,保证计算时间否则会出现Errors detected
的情况。
#ifndef MAIN_HAS_NOARGC
#define MAIN_HAS_NOARGC 1
#endif#define ITERATIONS 1000
3、跑分结果
3.1、65xx跑分结果
3.2、67xx跑分结果
65xx-CoreMark跑分工程代码
67xx-CoreMark跑分工程代码
4、参考文档
参考文章1:51CTO-看看你的MCU能跑多少分?极简教程教会你测试MCU性能!
参考文章2:CSDN-CoreMark移植过程记录
相关文章:

CMS32M65xx/67xx系列CoreMark跑分测试
CMS32M65xx/67xx系列CoreMark跑分测试 1、参考资料准备 1.1、STM32官方跑分链接 1.2、官网链接 官方移植文档,如下所示,点击红框处-移植文档: A new whitepaper and video explain how to port CoreMark-Pro to bare-metal 1.3、测试软件git下载链接 …...

中国区域30m/15天植被覆盖度数据集(2010-2022)
时间分辨率:日空间分辨率;:10m - 100m共享方:式开放获取数据大小:2.98 TB数据时间范围:2010-01-01 — 2022-12-31元数据更新时间:2024-12-23 数据集摘要 高时空分辨率的植被覆盖度产品存在着广…...
LabVIEW准分子激光器智能控制系统
LabVIEW 开发准分子激光器智能控制系统,针对放电激励型准分子激光器强电磁干扰环境下的控制难题,采用 “PC 端 LabVIEW 人机交互 MCU 端实时控制 光纤隔离通信” 架构,实现激光能量闭环控制、腔体环境监测、气路自动管理等功能。硬件选用 N…...
微服务面试资料1
在当今快速发展的技术领域,微服务架构已经成为构建复杂系统的重要方式之一。本文将围绕微服务的核心概念、技术栈、分布式事务处理、微服务拆分与设计,以及敏捷开发实践等关键问题展开深入探讨,旨在为准备面试的 Java 开发者提供一份全面的复…...
Pytest Fixture 详解
Pytest Fixture 详解 Fixture 是 pytest 最强大的功能之一,用于提供测试所需的依赖资源(如数据库连接、临时文件、模拟对象等),并支持复用、作用域控制和自动清理。以下是全面详解: 1. 基本用法 定义 Fixture 使用 …...

力扣HOT100之二分查找:74. 搜索二维矩阵
这道题直接a了,我们可以参考上一道题:35.搜索插入位置的思路,详情见我的上一篇博客。将每一行的第一个元素当作一个数组中的元素,然后对这个数组进行二分查找,如果直接找到了target,则直接返回true…...
【前端】前后端通信
前端开发主要完成的两件事: 1)界面搭建 2)数据交互 本知识页参考: https://juejin.cn/post/6925296067378429960 0. XMLHttpRequest 客户端的一个API,为浏览器和服务器通信提供了一个便携通道。现代浏览器支持XMLHttp…...

编程技能:格式化打印04,sprintf
专栏导航 本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。 (一)WIn32 专栏导航 上一篇:编程技能:格式化打印03,printf 回到目录…...
C语言基础(11)【函数1】
内容提要 函数 文章目录 内容提要函数函数的描述函数的分类相关概念函数的定义:定义:案例: 形参和实参形参(形式参数)实参(实际参数)案例: 函数的返回值案例: 函数 函数…...

R语言基础| 下载、安装
在此前的单细胞教程中,许多小伙伴都曾因为R语言基础不足而十分苦恼。R语言是一种开源的编程语言和软件环境,专门用于统计分析、图形表示和数据挖掘。它最初由Ross Ihaka和Robert Gentleman在1993年创建,旨在为统计学家和数据分析师提供一个广…...
【hive sql】窗口函数
参考 包括窗口函数在内的执行顺序 from & join --确定数据源 where --行级过滤 group by --分组 having --组级过滤 窗口函数 --计算窗口函数结果 select --选择列 distinct --去重 order by --最终排序(可对窗口函数结果进行排序) limit/offset -…...
Ubuntu24.04 交叉编译 aarch64 ffmpeg
ffmpeg 官网: https://ffmpeg.org文档: https://ffmpeg.org/documentation.html 编译参数说明: https://trac.ffmpeg.org/wiki/CompilationGuide/Generic在Linux下编译: https://trac.ffmpeg.org/wiki/CompilationGuide 下载页: https://ffmpeg.org/download.html 安装依赖 …...
《AI角色扮演反诈技术解析:原理、架构与核心挑战》
AI角色扮演反诈技术解析:原理、架构与核心挑战 研究目标 技术栈梳理: 系统总结AI角色扮演在执法场景中的实现路径,涵盖大型语言模型(LLM)、提示词工程(Prompt Engineering)、多模态交互链路等…...

微软的新系统Windows12未来有哪些新特性
在今年即将到来的重大设计升级中,苹果计划对其全线操作系统统一按年份命名,作为另一巨头微软的win12还远吗?win11和win10是微软现在正在用的主流版本,win11系统发布于2021年6月24日,win10系统发布于2015年7月29日。预计win12尝鲜版可能在2025年下半年或明年。 尽管win12还…...
树莓派超全系列教程文档--(54)如何使用rsync在计算机之间同步文件夹
如何使用rsync在计算机之间同步文件夹 使用 rsync 在计算机之间同步文件夹 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rsync 在计算机之间同步文件夹 您可以使用 rsync 在计算机之间同步文件夹。例如,您可以使用 rsync 将R…...
华为ICT和AI智能应用
在华为的业务布局中,AI智能创新则贯穿于华为多个业务领域,二者紧密相关,共同推动华为及相关行业的发展。以下是具体介绍: Techco转型 - 背景:随着5G - A、云、人工智能等技术的发展,运营商从传统连接服…...
ROS2与Unitree机器人集成指南
Tested systems and ROS2 distro systemsROS2 distroUbuntu 20.04foxyUbuntu 22.04humblesrc目录上级才可以colcon build git clone https://github.com/unitreerobotics/unitree_ros2 Install Unitree ROS2 package 1. Dependencies sudo apt install ros-humble-rmw-cyclon…...

在虚拟宇宙中低语——进程间通信,Linux命名管道的前世今生
文章目录 🌌 序章🌠 一、命名管道的宿命与哲学1.1、创建及简单使用1.2、命名管道的工作原理1.3、命名管道与匿名管道的区别 2、命名管道的特点及特殊场景2.1、特点2.2、四种特殊场景 3、命名管道实操3.1、实现文件拷贝3.2、实现进程控制 小结 dz…...
Cursor 工具项目构建指南:Java 21 环境下的 Spring Boot Prompt Rules 约束
简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 Cursor 工具项目构建指南:Java 21 环境下的 Spring Boot Prompt Rules 约束前言项目简…...
各个布局的区别以及示例
各个布局的区别以及示例 在前端开发中,常见的布局方式主要有以下几种,每种布局都有其适用场景和特点: 1. 普通文档流(Normal Flow) 特点:默认布局方式,元素按照HTML顺序依次排列。适用场景&am…...
什么是MVC?
导语: 在Java后端面试中,“MVC架构”是绕不开的基础话题。它不仅关乎项目的整体设计思路,更体现了候选人的架构理解能力与编码规范意识。本文将从面试官视角出发,结合高频问题、代码示例、答题技巧与加分项,带你全面吃…...

STM32的ADC简介
一、ADC简介 STM32的ADC是一种12位逐次逼近型模拟数字转换器。它具备18个通道,能够测量16个外部信号源以及2个内部信号源。各通道的A/D转换可以执行单次、连续、扫描或间断模式。转换结果可采用左对齐或右对齐的方式(12位)存储于16位数据寄存…...

Bash shell四则运算
文章目录 四则运算1. expr 命令2. $(( )) 表达式(推荐)3. $[ ] 表达式(已弃用)4. let 命令小数运算i 和 i 区别 四则运算 算术运算: - * / %(取模,求余数) Bash sh…...

(javaSE)Java数组进阶:数组初始化 数组访问 数组中的jvm 空指针异常
数组的基础 什么是数组呢? 数组指的是一种容器,可以用来存储同种数据类型的多个值 数组的初始化 初始化:就是在内存中,为数组容器开辟空间,并将数据存入容器中的过程。 数组初始化的两种方式:静态初始化,动态初始化 数组的静态初始化 初始化…...

力扣刷题Day 70:在排序数组中查找元素的第一个和最后一个位置(34)
1.题目描述 2.思路 方法1(自己写的):一次二分查找找到等于target的一个元素索引axis,然后向左右延伸找边界。 方法2(灵茶山艾府佬的闭区间二分查找写法):定义一个lower_bound()函数找到第一个…...
vue 多端适配之pxtorem
在 Vue 3 Vite 项目中使用 postcss-pxtorem 自动将 px 单位转换为 rem 单位,可以按照以下步骤配置: 一、基础版本 1. 安装依赖 首先安装必要的插件: npm install postcss postcss-pxtorem autoprefixer -D # 或 yarn add postcss postcs…...

图片压缩工具 | 图片属性详解及读取解析元数据
ℹ️ 图片信息及属性 基本属性 格式类型:JPEG、PNG、GIF、WEBP、BMP、TIFF等文件大小:以KB、MB等为单位的存储空间占用创建/修改日期:文件的元数据时间戳 视觉属性 尺寸/分辨率 宽度(像素)高度(像素&…...
React---day8
9.6 不可变数据的力量 我们知道是不能够修改this.state里面的数据的 举个例子 export class App extends React.PureComponent{constructor(){super();this.state {userList:[{name : "tom" , age : 18},{name : "lily" , age : 20},{name : "tik…...

C# Onnx 动漫人物人脸检测
目录 效果 模型信息 项目 代码 下载 参考 效果 模型信息 Model Properties ------------------------- stride:32 names:{0: face} --------------------------------------------------------------- Inputs ------------------------- name&am…...

C++内存列传之RAII宇宙:智能指针
文章目录 1.为什么需要智能指针?2.智能指针原理2.1 RAll2.2 像指针一样使用 3.C11的智能指针3.1 auto_ptr3.2 unique_ptr3.3 shared_ptr3.4 weak_ptr 4.删除器希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力! 智能指针是 C 中用于自动…...