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

STM32L496 Coremark 1.0 不完全跑分报告

[复制链接]
wolfgang 提问时间:2018-4-19 21:47 /
本帖最后由 wolfgang2015 于 2018-4-20 09:58 编辑

拿到一款MCU评估板,第一件事就是要验证其MCU最大性能,能让诸位心中对MCU的处理能力有个了解,这次《低功耗MCU运行FreeRTOS》培训的STM32L49拿到后我也做了一次不完全Coremark跑分测试一、测试的方法
1、设定最大时钟
01.jpg


2、设定串口,修改功能引脚与PCB板上的一致,并设定串口时钟
06.jpg


05.jpg


05_1.jpg


设置对应波特率设置为115200(图略)


虽然之前就知道Coremark根据编译器不一样结果会不一样,但没有亲侧一边,心有不甘。
这里从筹备到得到最后测试结果,花费了较多的时间。
这里用CubeMX设置好后,依次生成了4种工程(EWARM、MDK-ARM、SW4STM32、TrueSTUDIO),然后用四种不同的开发环境对工程进行逐一编译,下载到Nucleo STM32L496 开发板上,检测不同编译器对Coremark跑分的影响。


二、不完全跑分结果:
1、EWARM 工程,用IAR 8.20编译后下载,得到跑分结果入下图:
08.jpg
跑分结果:CoreMark 1.0 : 264.970853 / IAR ANSI C -Ohs-no_size_constraints / STACK

2、MDK-ARM 工程,用KEIL 5.18编译后下载,得到跑分结果入下图:
09.jpg
跑分结果:CoreMark 1.0 : 209.561597 / MDK ANSI C -O3-Optimize for Time / STACK

3、SW4STM32 工程,用AC6 V2.0 编译后下载,得到跑分结果入下图:
10.jpg
跑分结果:210.222415 / GCC6.3.1 20170620 (release)[ARM/embedded-6-branch revision 249437] -O3 / STACK



4、TrueSTUDIO 工程,用TrueSTUDIO 9.0.0 编译后下载,得到跑分结果入下图:

11.jpg
跑分结果:209.608451/ GCC6.3.1 20170215 (release) [ARM/embedded-6-branch revision 245512] -Ofast /STACKrevision 249437] -Ofast / STACK


5、Coremark跑分对比表
12.jpg


三、跑分差异不完全分析

另外我看见论坛里有朋友跑出了165左右的Coremark值,最初我也在IAR编译的代码中跑出这样的分数,觉得背离官方给的参考值甚远,就觉得那里没对,多方对比之后发现这个问题源于CubeMX生成的代码,这里把问题指出来,望各位在自己的工程代码使用中多加注意,看似跑分结果,实际上代码的问题会让MCU性能大打折扣。望诸位多加注意!


问题跑分:
07.jpg


官方参考值:
02.jpg
官方给出的STM32L496的理论 Coremark跑分在273.55左右,可能是时钟是用较为稳定SHE缘故,同IAR的分之相差不到10分,算接近了。




问题跑分(分值:165)与官方跑分偏差交大的重要原因,经分析是CubeMX生成的SystemClock_Config()函数代码造成,函数代码中缺少以下代码的显示定义,跑分偏低的朋友,请检查诸位的代码中是否确实红色部分的定义:

........
  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
  RCC_OscInitStruct.PLL.PLLM = 1;
  RCC_OscInitStruct.PLL.PLLN = 10;
  RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;

........


对应的系统时钟图的位置为:
13.jpg


这里使用的MCU是STM32L系列的单片机,片内具备SHI、MSI两种内部时钟,经测试在相同80MHz的主频下,二者跑分相差小于1,几乎相等,性能接近。至于为什么缺失丢PLLM设置就会让MCU跑慢,经查询用户手册《DM00083560_ENV4.pdf》,也没有能解答出来。
手册中默认是0x0,既是1分频,但初始化的时候并不是1分频,这部分PLLM设置时,需要代码作显示定义。 03.jpg
04.jpg


这里或许可能是HAL代码的一个BUG还是寄存器初始化的BUG,就不得而知了,望大家使用时多加注意。










收藏 1 评论6 发布时间:2018-4-19 21:47

举报

6个回答
Paderboy 回答时间:2018-4-20 09:26:54
赞赞赞。。。
wolfgang 回答时间:2018-4-20 09:58:11

能到您的点赞,很荣幸!
stary666 回答时间:2018-4-20 12:22:11
看看了,,,
寂寞,点燃一支烟 回答时间:2018-4-20 12:27:07
传个跑分附件 hex
wolfgang 回答时间:2018-4-20 15:23:21

参考官方的Coremark跑分,很简单的
andey 回答时间:2018-5-4 12:03:49
提示: 作者被禁止或删除 内容自动屏蔽

所属标签

相似问题

官网相关资源

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