你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32G071】3性能测试

[复制链接]
Angel_YY 发布时间:2019-1-19 19:22
本帖最后由 Angel_YY 于 2019-1-23 22:35 编辑

从官方的数据看,STM32G0系列的最高主频从STM32F0的48MHz升级到了64MHz,对于这个数字好像也没有什么感觉,有没有方法比较直观的体现出性能的提升呢?接下里我们就以比价简单的方式对比一下STM32G071和STM32F072两块开发板的性能有多少差距。
我的思路是这样的,使用STM32CubeMX生成两块开发板的工程,都使用最高主频,使用相同的编译器,分别执行一百万次加法,记录两块开发板所用时长,来对比性能差异。
0001.png
首先使用STM32CubeMX设置开发板的主频为64MHz,生成工Keil程后在工程文件中,使用HAL库的HAL_GetTick函数实现计时功能。
具体方式如下:
首先定义几个时间变量:
uint32_t TimeCnt1;
uint32_t TimeCnt2;
uint32_t TimeCnt3;
uint32_t Tempval;
uint8_t aTxBuffer[50];
初始化HAL库时基
  HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/10000);
在主循环中实现连续的加法测试:
    TimeCnt1=HAL_GetTick();  //获取当前时间
    for(int i=0;i<1000000;i++)  //开始百万次加法
    {
      Tempval++;
    }        
    TimeCnt2=HAL_GetTick();  //再次获取时间
    TimeCnt3=TimeCnt2-TimeCnt1;  //获取两次时间差值
    sprintf((char *)aTxBuffer,"G071_Time:%dms\r\n",TimeCnt3);
    HAL_UART_Transmit(&hlpuart1,aTxBuffer,strlen((char *)aTxBuffer),HAL_UART_TIMEOUT_VALUE);  //串口输出差值,单位毫秒
在PC机端,使用串口助手接收下位机发送过来的数据
0002.png
发现百万次加法使用STM32G071的64MHz主频,用时大概788ms。
在使用STM32072进行测试。
0003.png
同样使用STM32CubeMX生成工程,主频设置为48MHz,生成Keil工程后打开工程。
0004.png
同样在PC端打开串口助手,接收下位机上传的结果,发现同样的算法,在F072的48MHz主频下用时达到了1685ms.用时超过了G071的一倍。
比较两个开发板输出的时间,在同样的算法,同样的编译器,同样的默认优化下,STM32G071的用时只有STM32F072用时的一半左右。
总结:STM32G0的主频增加到了64MHz,比STM32F072的48MHz增加了50%,但是从执行效率上看G0的效率相比F0增加了一倍多,如果再考虑官方声称价格相对于F0来说还要更有优势,其性价比可见非常之高了。当然本实验只是片面的测试了单片机在连续加法时的表现,并没有做更全面的测试,但也能说明STM32G0系列的性能提升还是很明显的。


两个开发板的工程:
G071.zip (11.74 MB, 下载次数: 17)
收藏 评论7 发布时间:2019-1-19 19:22

举报

7个回答
stm1024 回答时间:2019-1-19 21:01:21
不错~支持一下
子曰好人 回答时间:2019-1-21 09:52:17
支持一下,从CoreMark的数据也可以看到G0的性能在M0+内核mcu中属佼佼者了
Angel_YY 回答时间:2019-1-22 13:38:58
子曰好人 发表于 2019-1-21 09:52
支持一下,从CoreMark的数据也可以看到G0的性能在M0+内核mcu中属佼佼者了

之前想移植CoreMark来着,可没什么资料,所以没动手。
chuan199 回答时间:2019-1-22 14:21:47
這樣比較不太公平,應該都用48MHz
G0:59DMIPS,F0:38DMIPS
性能差異差多少,最好再加耗電流
Angel_YY 回答时间:2019-1-22 14:31:15
chuan199 发表于 2019-1-22 14:21
這樣比較不太公平,應該都用48MHz
G0:59DMIPS,F0:38DMIPS
性能差異差多少,最好再加耗電流

这个只是从一个方面来做测试而已,并不能做到全面公平的比较。
从不同角度来理解,结果可能不一样。
比如从我的角度理解,就是在价格相同的情况下,能买到多高性能的MCU,这样理解是不是会感觉好一点儿了呢
Angel_YY 回答时间:2019-1-22 21:40:53
STM32F0@48MHz     38DMIPS and 68 CoreMark
STM32G0@64MHz    59DMIPS and 142 CoreMark

如何将CoreMark程序移植到STM32上




damiaa 回答时间:2019-1-23 10:04:33
不错不错。有机会搞个G0板玩玩。

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版