当前位置:首页 > > strongerHuang
[导读]关注星标公众号,不错过精彩内容作者| strongerHuang微信公众号| 嵌入式专栏很多人说单片机性能太弱,那你了解这个性能是如何得出来的吗?概述我们经常听见某手机发布会,安兔兔跑分多少多少,其实这个跑分就是体现手机性能的一个指标。我们使用STM32开发产品,选择MCU时,一...

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

作者 | strongerHuang

微信公众号 | 嵌入式专栏


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


概述

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

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


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


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


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


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

STM32 CoreMark跑分

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


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


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


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


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


1.CoreMark是用来衡量嵌入式系统中中心处理单元(CPU,或叫做微控制器MCU)性能的标准。
2.DMIPS:Dhrystone Million Instructions executed Per Second。用来计算同一秒内系统的处理能力,它的单位以百万来计算,也就是(MIPS)。主要用于测整数计算能力。

CoreMark跑分如何得来?

CoreMark是用来衡量CPU性能的标准。该标准于2009年由EEMBC组织的Shay Gla-On提出,并且试图将其发展成为工业标准,从而代替陈旧的Dhrystone标准。
与Dhrystone一样,CoreMark小巧,便携,易于理解,免费,并且显示单个数字基准分数。与Dhrystone不同,CoreMark具有特定的运行和报告规则,旨在避免Dhrystone的问题。
CoreMark跑分是通过运行C语言代码得出来的分数。主要包含如下的运算法则:列举(寻找并排序),数学矩阵操作(普通矩阵运算)和状态机(用来确定输入流中是否包含有效数字),最后还包括CRC(循环冗余校验)。
也就是说CoreMark是使用一套用C语言编辑的测试代码,我们通过运行这套代码就能测试你MCU的性能。
CoreMark测试代码

这里我们可以参考CoreMark官网信息,地址:https://www.eembc.org/coremark/index.php


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

https://github.com/eembc/coremark


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


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


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


移植的过程,我这里就不教大家了,官方提供一些例程,网上也有很多教程,感兴趣的小伙伴可以试着移植测试一下。
------------ END ------------
后台回复『单片机』『科普知识』阅读更多相关文章。
欢迎关注我的公众号,回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。单片机、开发工具、编程技术、行业资讯等相关内容(关注并回复“1024”查看更多精彩内容)。" data-from="0">
欢迎关注我的视频号:


点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

SHT11是Sensirion公司推出的数字式温湿度传感器,采用CMOSens™技术将温湿度传感、信号放大、A/D转换、校准数据存储及I²C类串行接口集成于单芯片。与标准I²C协议不同,SHT11的接口为“类似I²C”的...

关键字: SHT11 单片机 I²C

很多嵌入式开发者天天写单片机代码、烧录程序调试功能,却很少真正把它的完整运行逻辑串起来。你可能知道单片机里有CPU、RAM、ROM,也知道写的C代码会被编译成机器指令,但你未必清楚从按下复位键的那一刻开始,芯片内部的每一...

关键字: 单片机 芯片

在2000年到2010年的单片机黄金时代,消费电子、工业控制设备里跑的几乎都是8位、16位的早期MCU芯片。那时候没有现在成熟的硬件加密核、OTA固件签名这类方案,开发者却要面对固件被轻易破解、山寨产品快速抄板的行业痛点...

关键字: 单片机 MCU

很多单片机开发者在调试通信功能时,都遇到过类似的“玄学”问题:同样的代码在实验室里跑完全正常,拿到量产设备里就随机丢包;I2C传感器偶尔返回乱码,用示波器抓波形却看不出明显异常;UART串口在高波特率下,只要设备靠近电机...

关键字: 单片机 传感器

在汽车电子、石油钻探和工业控制领域,单片机往往需要在-40℃至125℃的极端温差下持续工作。片内SRAM通常只有几十KB,难以满足数据采集和缓冲需求,而外部SRAM提供了容量扩展的可能,但高温环境对其稳定性构成了严峻挑战...

关键字: 工业高温场景 单片机

在物联网与工业控制设备的实际运行中,系统状态的可观测性直接决定了故障排查的效率。然而,许多低成本单片机受限于内部RAM资源,难以长期驻留大量运行日志,一旦遭遇异常重启或意外断电,内存中的调试信息便会瞬间丢失,导致售后团队...

关键字: 单片机 NOR Flash

在工业控制与物联网终端设备中,EEPROM存储的计数器数据(如设备开机次数、运行时长)常因突发断电导致数值丢失或错乱。传统方案采用页写入模式,单次修改需重写整页数据(通常64-128字节),不仅加速存储器磨损(EEPRO...

关键字: EEPROM 单片机

在资源极度受限的8位单片机场景中,64B RAM往往是整机系统最稀缺的硬件资源——除去堆栈、全局变量和寄存器映射占用的空间后,留给用户自定义数据的可用内存通常不足30B,想要同时实现3路传感器的实时缓存几乎是常规编程思路...

关键字: 8位 单片机 RAM

外部脉冲明明到了,计数却偶尔少一次,这类故障常被误判成传感器抖动。单片机中断链路如果把屏蔽窗口、标志位和优先级混在一起处理,真实边沿很容易在软件忙碌时消失。

关键字: 单片机 中断 屏蔽窗口

在嵌入式产品的全生命周期里,STM32的Flash就像设备内部的“数字保险柜”,既存放着工程师熬夜写出来的核心固件代码,也保存着设备运行过程中积累的关键校准参数、用户配置数据。

关键字: STM32单片机 单片机
关闭