STM32各系列MCU性能对比及测试说明

article/2025/8/26 2:49:36

置顶/星标公众,不错过每一条消息!

640?wx_fmt=png

    很多人说STM32性能太弱,那你了解这个性能是如何得出来的吗?

1写在前面

我们经常听见某手机发布会,安兔兔跑分多少多少,其实这个跑分就是体现手机性能的一个指标。


我们使用STM32开发产品,选择MCU时,一般会综合考虑MCU各方面性能。


对于MCU来说,一个重要指标是功耗,还有一个重要指标就是性能。


当我们进入ST官方微控制器网页,就会发现ST将MCU划分为不同层次,如下图


https://www.st.com/en/microcontrollers.html

640?wx_fmt=jpeg

从上面层次关系,大致可以了解ST 各MCU的功耗和性能。


2

STM32 CoreMark跑分

STM32家族的32位微控制器基于ARM Cortex®-M处理器设计,为用户提供新的自由度。


产品集高性能、实时性、数字信号处理、低功耗、低压运行、互联性于一体,保持充分的集成化和易用性。


根据性能划分,STM32各系列MCU划分为如下图几大类产品。具体可以参看官网信息。


https://www.st.com/en/microcontrollers/stm32-32-bit-arm-cortex-mcus.html

640?wx_fmt=jpeg

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


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

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


3

CoreMark跑分如何得来?

CoreMark是用来衡量CPU性能的标准。该标准于2009年由EEMBC组织的Shay Gla-On提出,并且试图将其发展成为工业标准,从而代替陈旧的Dhrystone标准。

与Dhrystone一样,CoreMark小巧,便携,易于理解,免费,并且显示单个数字基准分数。与Dhrystone不同,CoreMark具有特定的运行和报告规则,旨在避免Dhrystone的问题。

CoreMark跑分是通过运行C语言代码得出来的分数。主要包含如下的运算法则:列举(寻找并排序),数学矩阵操作(普通矩阵运算)和状态机(用来确定输入流中是否包含有效数字),最后还包括CRC(循环冗余校验)。

也就是说CoreMark是使用一套用C语言编辑的测试代码,我们通过运行这套代码就能测试你MCU的性能。


4

CoreMark测试代码

这里我们可以参考CoreMark官网信息,地址:

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

640?wx_fmt=png


这里包含CoreMark相关说明、源代码下载、移植说明等。源代码位于Github,地址:

https://github.com/eembc/coremark

640?wx_fmt=png

源码docs目录下包含与源码相关的很多说明,感兴趣可以下载来测试一下你MCU跑分多少。


其实,这里也有多种型号STM32的CoreMark跑分和测试结果:

640?wx_fmt=png

640?wx_fmt=png


STM32有些板子出厂就自带CoreMark测试程序,比如我这边手上有一个块STM32F429I-Discovery的板子,就自带性能测试代码。

640?wx_fmt=png

移植的过程,我这里就不教大家了,网上很多,也可以参看自带说明文档移植。

推荐阅读:

1.是先学STM8,还是学STM32?

2.讲讲Cortex-M内核的MPU内存保护单元

5最后

若觉得文章对你有帮助,随手点好看、分享,也是对我莫大的支持和鼓励。

扫描下面二维码、关注公众号,在底部菜单中查看更多精彩内容!

640?wx_fmt=jpeg

长按识别图中二维码关注


http://chatgpt.dhexx.cn/article/kUFNtFrl.shtml

相关文章

win xp虚拟机

做嵌入式,用的ADS版本太老了,在xp系统上更方便,所以昨天装了一个。 其实我是一个搬运工,主要参考了另一个人的步骤:点击打开链接 只是第一次让输序列号的时候跳过去了。 要镜像可以留邮箱,好像不能直接放在这里&…

VMware虚拟机装windows xp系统

一.准备安装所需要的软件: 1.VMware虚拟机的下载。 首先下载:VMware Workstation(虚拟机) V6.0.2 Build 59824 汉化版 2.XP的系统软件。 二.在VMware虚拟机为创建新的虚拟机 1.打开虚拟机,选择新建虚拟机: 2.下一步:…

Windows xp,Windows2003虚拟机部署(各2台)

文章目录 ISO镜像下载winxp部署a.安装winxp虚拟机b.优化虚拟机c.做快照 Windows 2003a.安装win2003b.优化c.快照 克隆虚拟机(以win2003为例) ISO镜像下载 ISO镜像下载链接 例:下载win10的操作系统 点击操作系统,选择要下载的镜像&#xff0…

VirtualBox 7.0.10 (macOS, Linux, Windows) - 开源跨平台虚拟化软件

VirtualBox 7.0.10 (macOS, Linux, Windows) - 开源跨平台虚拟化软件 Oracle VM VirtualBox 7 请访问原文链接:https://sysin.org/blog/virtualbox-7/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 2022 年 10 月…

虚拟机VMware安装XP系统错误解决办法

虚拟机给我的编程工作确实带了很多方便,但是虚拟机的一个最大挑战是硬件赶不上,速度太慢了。最近一直在致力于虚拟机上Win7专业版平台上SQL Server 2005Visual Studio 2012系统开发,最初还可以,但是越到后面速度越慢。最后决定重新…

VM虚拟机安装Windows XP Professional

文章目录 安装XP下载img镜像安装激活安装VM-Tools 参考 安装XP 下载img镜像 在MSDN安装原版系统镜像-img文件,地址https://msdn.itellyou.cn/ 安装激活 新建虚拟机,选择img镜像文件,开启虚拟机,提交注册码安装即可。 安装VM-Tool…

Win10 虚拟机安装 Windows xp(professional sp3)简记(非教学)

实验系统需使用 VB6.0,任务较为复杂,win10下的vb6.0兼容问题较大。考虑win10 虚拟机安装winxp,部分重点记录如下:(资料源于网络) 虚拟机采用开源的 Oracle VM VirtualBox,(Vmware也可…

VirtualBox 免费高效开源虚拟机软件(在XP下装Linux在、Ubuntu下装Vista等)

说起虚拟机软件,相信大家都会知道VMWare和 微软的Virtual PC 了。今天异次元给大家介绍的是另外一款轻量级的虚拟机软件Virtual Box。它原本是由德国的Innotek公司开发的,后来被Sun收购了。不过呢,它从出生到现在被收购,还是一直保…

VirtualBox虚拟机安装Windows XP

Ubuntu:VirtualBox虚拟机安装Windows XP 2011-03-15 14:58:45 标签: ubuntu vbox Windows xp 虚拟机 文件共享 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 http://…

超级小的xp虚拟机

链接: https://pan.baidu.com/s/1bpxkUdh 密码: 9d5b 只有200cm,启动超快,运行流畅。系统来自www.sdeepin.org 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇…

推荐两个好用的虚拟机、SSH 终端开源工具(Virtual Box、WindTerm)

笔者最近因一些变故,加上阳了,停更了一段时间,并提前回老家过年了。因并没有带笔记本电脑回去,故在折腾了一番老家电脑后,选择拥抱开源,使用一些开源的工具,而非习惯的 VMware Workstation 和 S…

Python 异步编程之——线程

上一篇我们讲到,进程是一个相对独立的单元。而线程则是一个进程内单一顺序的控制流,是操作系统运行调度的最小单元。因此,一个进程可以包含多个线程。比如,播放视频时,画面和声音就是不同的线程在处理。 1.创建线程 &…

深入理解Python异步编程

文章转载自: 驹说码事,内容有部分修改,仅用作学习,如有侵权,请联系删除。 很多朋友对异步编程都处于“听说很强大”的认知状态。鲜有在生产项目中使用它。而使用它的同学,则大多数都停留在知道如何使用 Tor…

Python异步编程Future对象详解

今天继续给大家介绍Python相关知识,本文主要内容是Python异步编程Future对象详解。 一、Python Future对象简介 在上文Python Task对象详解中,我们介绍到了Task对象,而Future对象是Task对象的基类,比Task更加底层。一个Future是…

Python异步编程之concurrent.futures中的Future对象详解

今天继续给大家介绍Python相关知识,本文主要内容是Python异步编程之concurrent的future对象详解。 一、concurrent.futures中Future对象简介 在前文Python异步编程Future对象详解种,我们介绍了asyncio中的Future对象。然而,在Python中&…

python网络编程实战_Python 异步网络编程实战

近年来 Python 的发展的非常迅速,“简单”、“高效”是 Python 吸引人的一大特色。在国内 Python 开发需求越来越大,Python 具有丰富强大的库,现在各个领域都在广泛使用,从 Web 开发,到运维开发,到机器学习…

Python异步编程实战入门:从概念到实战

概述 读者可前往我的博客获得更好的阅读体验 在Python中存在GIL机制,该机制保证了在Python中同时间内仅能运行一行代码,这导致了Python无法真正实现多线程,但可以通过多进程打破GIL限制,我们会在本文的最后讨论此内容。但Python…

Python异步编程详解

一、异步编程相关概念 1、I/O模型 IO操作实际过程涉及到内核和调用这个IO操作的进程。对于一次IO访问(以read举例),数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。所以说&am…

python进阶(十):异步编程

Python异步编程详解 原文 | 大纲 | 首页 异步编程是一种编程范式,可以提高程序的并发性和响应性。在Python中,可以使用asyncio模块来实现异步编程。了解Python的异步编程对于编写高效和可扩展的程序非常重要。 使用asyncio模块 Python的asyncio模块提…

超简单的Python教程系列——异步

Python 3.5 引入了两个新关键字:​ ​async​ ​​和​ ​await​ ​​。这些看似神奇的关键字完全可以在没有任何线程的情况下实现类似线程的并发。在本教程中,我们将介绍异步编程的原因,并通过构建我们自己的小型异步类框架来说明Python的​…