真有这么强?–意法半导体NUCLEO32-L432开发板评测

作者:netlhx

STM32的MCU产品全面开花,除了推出性能怪兽CORTEX-M7之外,又推出号称性能与低功耗并重基于CORTEX-M4系列的低功耗产品STM32-L4系列,宣称性能能达到1.25 DMIPS/MHz (Drystone 2.1)及273.55 Coremark® (3.42 Coremark/MHz @ 80 MHz),到底情况如何,今天就性能方面做个简单评测。

ST官网
贸泽官网

NUCLEO32-L432属于NUCLEO32家族的新品。

“”

和以往的NUCLDO32一样的包装,一样的简单说明,请忽略STM32系列的外包装。

“”

背面仍然千篇一律,请再次忽略。

“”

与以往的NUCLEO32开发板的区别,一是MICRO接口上的L432KC标签,告诉你这是一款基于STM32-L432KC的评估板;另一个区别是MCU的封装形式变了,以前常用的LQFPN32变成了UFQFPN32形式,所以MCU的四周就多出了一圈裸露的焊盘!

“”

开发板仍然坚持一向的可更换MCU的设计理念,如果想将开发板上的MCU换成其它型号,只要将原来的MCU用焊台拆下来,然后添上其它兼容的MCU型号即可。

“”

开发板的背面主要包括STLINK/V2-1调试接口,最下面还有IDD的检测跳线,只是受限于开发板的尺寸,这个间距有点小,还有就是焊接比较脆弱,需要十分小心。

“”

MICRO USB接口以及旁边的LED调试指示灯,加上两边的排针,资源实在精简到了极点。

“”

除了开发板上的丝印,包装盒里的纸质说明也列出了GPIO接口的引脚编号,方便随时查阅。

关于STM32L432这款MCU,属于STM32基于CORTEX-M4里面比较低端的型号,在官方的产品家族里位置如下

“”

不过从官方给出的宣传参数来看,其COREMARK居然达到了罕有的273,比MAINSTREAM的值245居然还要高(当然主频值也略高)。

不过STM32L4系列的主打功能是超低功耗,按照官方给出的参数,主要如下

8 nA Shutdown mode (2 wakeup pins)
28 nA Standby mode (2 wakeup pins)
280 nA Standby mode with RTC
1.0μA Stop 2 mode, 1.28 μA Stop 2 with RTC
84 μA/MHz run mode
Batch acquisition mode (BAM)
4 μs wakeup from Stop mode
关于低功耗的实测,爱板网已有同系列的L476的详细评测,此处不再评测。

开发板的硬件布局及主要元器件如下

“”

“”

NUCLEO系列开发板设计得非常灵活,PCB板上的大量SB可以用来调整不同的功能,以实现不同的功能。比如可以通过SB的不同组合来使用STLINK/V2-1的MCO作为主控MCU的时钟源等功能。

接下来主要是通过将COREMARK的源码移植到STM32上,验证官方宣称的COREMARK测试值。

首先使用STM32CUBEMX来建立一个基本的程序框架。

“”

硬件功能只配置了USART2用来输出一些测试的信息。

“”

时钟使用内置的MSI时钟输出(如何使用STLINK/V2-1的MCO来作为MCU的时钟请参考官方说明),MSI输出为8MHZ,经PLL电路后频率变为80MHZ,这也是该MCU的最大支持频率,以保证最高性能。

接下来下载COREMARK的源代码

“”

下载前需要注册一个账号,下载源代码后解压,基本的目录结构如图

“”

涉及到COREMARK核心的代码文件主要有以下几个

“”

要移植的代码主要集中中core_portme.c及core_portme.h这两个文件中。

COREMARK的基本工作原理是执行一段测试代码,然后检测代码运行所用的时间,对比特定的标准最后得出一个数值,这个数值就是最终的得分了。如果对COREMARK的内部原理感兴趣,可以研究一下其代码。

关于代码的移植,STM32社区也给出了一个指导方案。

将移植好的代码添加到STM32工程文件中,最终的目录结构如下

“”

为了最大程度的释放硬件性能,需要对工程代码做一下优化,在MDK中的优化设置如下

“”

优化等级设为O3,同时开启Optimize for Time选项。

接下来就可以来查看COREMARK在NUCLEO32-L432上的测试结果了,看看有没官方宣称的273那么高。

“”

嗯,测试的结果达到了209,并没有官方宣传的那么高。当然考虑到不同的编译器、优化设置等参数的影响,这一值与官方宣称的值还是有一点的差距啊!

接下来再对MCU超频,通过上面MCU的时钟设置图可以看出,只要调整上述PLL参数值就可以调MCU的主频。咱们先激进一点,直接将PLL-N的值调整为30,这样系统就能在10MHZ的频率下工作了。下面是测试的结果

“”

上图可以看到,系统的主频率为120MHZ,COREMARE值更是达到了314之高!

当然这只能算是自娱自乐!ST有一个特色,对于民间的呼声从来不理,估计都忙着处理大客户去了,所以这次的COREMARK跑分结果只能算是一次娱乐,诸位看过即忘,不要期望ST能有点解释,比如测试环境的影响,工具链的选择,优化参数等。(Coremark测试用代码包)

总体来说,NUCLEO系列开发板还是很良心的,一是价格低廉,二是慷慨大方,免费提供各种试用甚至分发。要是在各大论坛或用户讨论组里再常驻一两个FAE在线,那就更完美了!

本文转载自爱板网
此文章版权归著作者所有,如有任何问题请联系小编进行删除。

评论

editor Chen的头像
editor Chen 周日, 09/18/2016 - 15:14

赞!~\(≧▽≦)/~

上帝今天不上班

最新文章