STM32的MCU产品全面开花,除了推出性能怪兽CORTEX-M7之外,又推出号称性能与低功耗并重基于CORTEX-M4系列的低功耗产品STM32-L4系列,宣称性能能达到1.25 DMIPS/MHz (Drystone 2.1)及273.55 Coremark® (3.42 Coremark/MHz @ 80 MHz),到底情况如何,今天就性能方面做个简单评测。
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
开发板的硬件布局及主要元器件如下
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在线,那就更完美了!
相关推荐:
STM32 L4系列超低功耗微控制器官方介绍
NUCLEO-L432KC官方技术文档
STM32L4单片机参考设计
STM32单片机官方开发工具一览
NUCLEO-L432KC相关评测:
尖货来袭——NUCLEO32-L432评测
https://www.stmcu.org.cn/module/forum/thread-607019-1-1.html
STM32L432 NUCLE0开箱测评——jinglixixi
https://www.stmcu.org.cn/module/forum/thread-607022-1-1.html
STM32L432 NUCLE0开箱测评——jinglixixi
https://www.stmcu.org.cn/module/forum/thread-606875-1-1.html
Nucleo STM32L432KC 深度评测——Paderboy
https://www.stmcu.org.cn/module/forum/thread-606895-1-1.html
STM32L432 Nucleo开发板评测四步走——wenyangzeng
https://www.stmcu.org.cn/module/forum/thread-606894-1-1.html
Nucleo-L432KC评测,超低功耗+高性能的里程碑——哈佛祖安智
https://www.stmcu.org.cn/module/forum/thread-607068-1-1.html
Nucleo-32 STM32L432KCU6 评估板之云端开发工具-mbed体验——哈佛祖安智
https://www.stmcu.org.cn/module/forum/thread-607071-1-1.html
往期评测:
【评测站】NUCLEO-L073RZ——低功耗之王,实至名归
https://www.stmcu.org.cn/module/forum/thread-606456-1-1.html
【评测站】小身材,大不同——STM32F042和STM32L031
https://www.stmcu.org.cn/module/forum/thread-606499-1-1.html
|