creep 发表于 2017-12-31 12:26:11

[Nucleo-L4R5] 搭建工程及CoreMark测试

L4R5和L496低功耗对比测试
学习下用LL库点灯



1、STM32L4+

       过去的一年整个电子行业都有很多波折,对ST而言,部分产品线的涨价、缺货,以及连续跳票还没发布就被秒杀的高端产品线H7,但是这些仍然挡不住ST前进的脚步。STM32微控制器出货量已经超30亿颗,从最小的传感器、植入医疗器械,到消费电子、白色家电、电动工具、 媒体装置、通信产品、计算机和工控设备,意法半导体的STM32被用于各种高科技产品。在2017的年底正式量产发布了STM32L4+,主打超低功耗,运算性能提升到了150DMIPS(233 ULPMark-CP),最高运行频率达到120MHz。STM32L4+中的+”表示最新产品设计具有更高的计算性能、更大存储容量、更丰富的片上功能、更高效的高性能图形处理功能。其中STM32L4RX不带加密功能,STM32L4SX带加密功能。


                                                               

从官方的说明中我们可以详细准确了解到STM32L4+的各项参数:


●增强的存储器功能包括两个8线SPI端口,使其成为首个支持该接口的STM32产品,使用这两个单线/双线/四线/八线SPI或HyperBus™接口连接闪存或SRAM存储器,可以用较低的成本提高代码执行和数据存储速度。


●STM32L4+的片上大容量存储器包括640KB的SRAM,可以辅助高速运算性能,最大限度提升图形处理性能。此外,该系列产品还有高达2MB的双区闪存,为代码和数据提供强大的存储空间,以及高效的读写同步功能。片上闪存是当前超低功耗微控制器市场上容量最大的,还有丰富的纠错功能,适用于安全关键应用。


●新产品的先进节能技术经过STM32L全系验证,其中意法半导体独有的FlexPowerControl技术,当微控制器进入低功耗模式时,可以保护重要数据,例如,SRAM内容和I/O引脚状态。FlexPowerControl还提供数个独立的电源域和可编程的高精度时钟。其中,电源域确保功耗在每个电压调节和关断模式下都尽可能最低,可编程高精度时钟可以节省外部元器件,当低频率运行时最大限度降低功耗。此外,新产品还提供七个主要低功耗模式,每个模式下还有子模式选项,在低功耗、短启动时间、可用外设、可用唤醒源方面优化系统。在这些功耗模式中,关机模式将电流降至仅有20nA。STM32L全系产品还支持批处理模式,在主CPU关闭时,可在低功耗时高能效地采集并存储数据。


●Chrom-GRC™图形存储管理器可让用户像处理方形显示器一样处理圆形显示器,将图形处理负荷降低20%。虽然圆形显示器与方形显示器的存储器管理方式相同,但是圆形显示器因处理不显示像素而浪费存储器空间,STM32L4+ Chrom-GRC只处理有效像素,更高效地管理存储器资源。


●STM32L4+还有丰富的数字和模拟功能,其中包括USB Host、USB Device、USB OTG;17个定时器(用于电机控制等功能);数字通信接口(包括SPI、SAI、CAN);高速数字滤波器(用于信号处理)。


●模拟外设包括高速模数转换器(ADC)、数模转换器(DAC)和高精度基准电压源、比较器。所有功能都是为在任何工作模式下最大化能效而设计,例如,在两次采样捕获间隔时关闭转换器。







2、简单测试:


由于STM32Cube的方便快捷,搭建一个简单的测试工程已经非常方便了。如果想要自己创建工程也可以参考官方的HAL开发包的众多例子。
我习惯自己使用keil自己创建测试工程,然后根据需要参考官方的代码去实现各个外设,下面的点灯和串口打印测试就是这样的流程。


Nucleo开发板可以把串口连接到stlink 的一个VCP上进行信息打印,这个可以非常方便快捷的打印调试程序信息,STM32L4R5-Nucleo 上使用的是LPUART1 ,这个串口使用的是PG7和PG8的时候需要注意下面设置:            



                                          




对应的代码是:

HAL_PWREx_EnableVddIO2();

剩下的就比较简单了,初始化LED和串口后打印输出信息:

#include "main.h"
//creep
//2017-12-31
int main(void)
{
    uint8_t sta = ON;
    HAL_Init();
    SystemClock_Config();
    LPUART1_Init();
    LED_Init();

    while(1)
    {
      LED1(sta);
      LED2(sta);
      LED3(sta);
      sta = !sta;
      HAL_Delay(1000);
      printf("Hi,I am NUCLEO-STM32L4R5!!\r\n");
    }
}运行结果:



然后再测试下CoreMark,官方的值是409 ,可能是keil的优化一般得出的结果为311





对比下之前STM32L496的CreMark. STM32L496的时钟为80MHZ,STM32L4R5为120MHZ.


https://www.stmcu.org.cn/module/forum/data/attachment/forum/201704/04/214433f45bmgmrpug4g154.png


搭建了测试工程后续会继续对STM32L4R5的其他特性进行继续测试。


测试代码及文档:













Paderboy 发表于 2017-12-31 19:30:55

本帖最后由 Paderboy 于 2017-12-31 19:38 编辑

:loveliness::loveliness::loveliness:赞赞赞,还是橙子哥,有耐性。。自己建工程。。

creep 发表于 2017-12-31 20:47:06

Paderboy 发表于 2017-12-31 19:30
赞赞赞,还是橙子哥,有耐性。。自己建工程。。 ...

不会Cubemx :'(:'(:'(

wofei1314 发表于 2018-1-2 11:22:02

大神6666
页: [1]
查看完整版本: [Nucleo-L4R5] 搭建工程及CoreMark测试