【MCU开发规范】:MCU的性能测试

MCU的性能测试

  • 前序
  • 性能评判方法
    • MIPS
    • CoreMark
  • EEMBC
  • 其他参考

前序

我们平时做MCU开发时,前期硬件选型(选那颗MCU)基本由硬件工程师和架构决定,到软件开发时只是被动的开发一些具体功能,因此很少参与MCU的选型。

大部分时间我们也就关心有哪些外设,时钟频率多高,相对而言比较容易忽视MCU的性能。

那MCU的性能,我们有哪些评判标准呢?

性能评判方法

MIPS

Million Instructions executed Per Second,每秒执行百万条指令,用来衡量同一秒内系统的处理能力,即每秒执行了多少百万条指令。

CoreMark

以每秒执行基准测试的总次数作为性能评价标准,通过基准测试包含:

  • 列表处理(查找和排序)
  • 矩阵处理(常见的矩阵操作)
  • 状态机(确定输入流是否包含有效数字)
  • CRC(循环冗余校验)

.
针对CoreMark目前有一个免费开源(C/C++)的非盈利机构可以支持,且有部分MCU的分数可做MCU性能参考,它的名字叫EEMBC

EEMBC

EEMBC也就是the Embedded Microprocessor Benchmark Consortium的缩写, 嵌入式微处理器基准协会

  • EEMBC官方链接

就CoreMark方法一些MCU的评分可参考:

  • CoreMark跑分
    在这里插入图片描述

如果自己想测试MCU的性能,可以下载其开源代码来测试:

  • CoreMark源码下载
    在这里插入图片描述

其他参考

参考其他博主的测试:

  • 基于CoreMark进行S32K144的性能测试
  • STM32-F103-ZET6上的CoreMark跑分测试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/611206.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows环境下实现ffmpeg本地视频进行rtsp推流

摘要:有时候服务端(如linux)或者边缘端(jetson盒子)需要接受摄像头的视频流输入,而摄像头的输入视频流一般为rtsp,测试时需要搭建摄像头环境,很不方便,因此需要对本地视频…

docker pull镜像的时候指定arm平台

指定arm平台 x86平台下载arm平台的镜像包 以mysql镜像为例 docker pull --platform linux/arm64 mysqldocker images查看镜像信息 要查看Docker镜像的信息,可以使用docker inspect命令。这个命令会返回镜像的详细信息,包括其元数据和配置。 docker i…

CDHD高创驱动器恢复出厂设置的具体方法演示

CDHD高创驱动器恢复出厂设置的具体方法演示 首先,下载并安装高创驱动器的调试软件,有需要的可以从以下链接中获取:高创CDHD伺服调试软件ServoStudio安装包-V2.38.6.30 安装完成后,打开软件,如下图所示, 如下图所示,在左侧找到配置—通信,点击连接, 如下图所示,正常情…

MySQL进阶一

目录 1.使用环境 2.条件判断 2.1.case when 2.2.if 3.窗口函数 3.1.排序函数 3.2.聚合函数 ​​​​​​​3.3.partiton by ​​​​​​​3.4.order by 4.待续 1.使用环境 数据库:MySQL 8.0.30 客户端:Navicat 15.0.12 2.条件判断 2.1.ca…

Unity MySql安装部署与Unity连接 下篇

一、前言 上篇讲到了如何安装与部署本地MySql;本篇主要讲Unity与MySql连接、创建表、删除表,然后就是对表中数据的增、删、改、查等操作。再讲这些之前会说一些安装MySql碰到的一些问题和Unity连接的问题。 当把本地MySql部署好之后,我们可能…

C++ vector内存分配及正确释放

C vector内存分配及正确释放_vector 释放-CSDN博客 内存分配 #include <iostream> #include <vector> using namespace std;int main(){ vector<int> vec(10); cout << "vec.size: "<< vec.size() <<endl; cout << &quo…

spring.rabbitmq.listener.simple.default-requeue-rejected = false 和放入死信队列的区别

目录 一、场景 二、使用 spring.rabbitmq.listener.simple.default-requeue-rejected false 2.1 特点 三、 放入死信队列 四、两种区别 一、场景 当我们使用RabbitMq的时候&#xff0c;我们如果业务中有异常&#xff0c;很有可能造成死循环&#xff0c;因为 在RabbitMQ和…

OJ刷题日记:1、双指针(1)

目录 1、283.移动零 2、1089.复写零 3、202.快乐数 1、283.移动零 题目&#xff1a; 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 …

mysql重启失败

服务器重启了一下&#xff0c;然后启动后发现mysql自动启动没有生效&#xff0c;于是手动通过systemctl启动mysqld&#xff0c;然后就报错:Starting MySQL...........The server quit without updating P[FAILED](/data/mysql/iz2zebvmy1qv3fao9c5riuz.pid). 根据配置my.cnf文…

Mysql内存表及使用场景(12/16)

内存表&#xff08;Memory引擎&#xff09; InnoDB引擎使用B树作为主键索引&#xff0c;数据按照索引顺序存储&#xff0c;称为索引组织表&#xff08;Index Organized Table&#xff09;。 Memory引擎的数据和索引分开存储&#xff0c;数据以数组形式存放&#xff0c;主键索…

Jmeter-跨线程传参(正则提取多个参数、jsonpath提取器)

目的&#xff1a; 当前接口请求的参数依赖于其他请求&#xff0c;且两个请求不是在同一个线程组时就会用到该方法进行跨线程组传参。 实际使用场景&#xff1a; 多个线程组的请求都依赖登录接口&#xff0c;但是登录接口仅执行一次。 实现方法&#xff1a; 以下举例的有正…

信息系统项目管理师——第22章组织通用治理

本章在第三版战略管理的基础上新增了2节内容&#xff0c;从2023年上半年的考情来看来 选择题&#xff0c;考1分左右&#xff0c;知识点比较分散&#xff0c;刷下题&#xff0c;考前突击下即可。 案例题&#xff0c;不考。 论文题&#xff0c;不考。 1组织战略 组织战略体现了…