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

【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扩展软件包
关注我们
st-img 微信公众号
st-img 手机版