荣丰宇 发表于 2017-4-4 00:57:00

【NUCLEO-L496ZG评测】+带你把玩L496

本帖最后由 荣丰宇 于 2017-4-8 15:37 编辑

1) 开箱、开发板基本特性
收到社区发来的板子啦~上图上图看看


笔者之前还没有使用过stm32L4系列的芯片和板卡呢,期待可以带来不一样的体验哦
看看板卡上有哪些资源吧

Nucleo-L496ZG作为Nucleo板卡,就像Arduino一样,其本身并没有太多太多外设:a.板卡上部分是板载的ST-link,作为程序下载调试器,方便开发;b.将管脚拓展出来,支持ST Zio和Arduino UNO接口;c.板子上有很多跳线帽,可以做功能配置和切换;d.红蓝绿三个led,可以做做简单的实验;e.板卡下端有有一个复位按键和一个用户按键,f.此板卡不支持网口的,所以也没有与留下网口的,而是其特色的usb-otg接口

再看看官网上对L496的特性描述吧•超低功耗模式:8 nA,有备份寄存器没有RTC(5个唤醒引脚)•超低功耗模式 + RTC:200 nA,具有备份寄存器(5个唤醒引脚)•超低功耗模式 + 16 KB RAM:170 nA•超低功耗模式 + 16 KB RAM + RTC:450 nA•动态运行模式:低至84 μA/MHz•唤醒时间:5 μs可以看出它的主要特性是USB OTG功能和LCD驱动哈笔者了解一款stm32芯片的途径就是看它的datasheet啦~看系统框图、时钟、管脚、寄存器分布……
STM32L496单片机,最高频率可达80MHz,凭借带有DSP和浮点单元(FPU)的ARM Cortex-M4内核扩展了超低功耗产品系列及其性能。提供USB(支持OTG 2.0全速和无需外接晶振USB OTG、LPM和BCD),LCD驱动(4x44或8x40,带有升压转换器)。STM32L496提供256 KB~1 MB Flash,其存储范围可以利用SDIO、Quad SPI和FSMC接口轻松扩展。

2) 开发板上电接下来该是上电看看效果啦~
首先肯定是安装板卡的驱动啦,因为之前有用过这类板卡,所以稍等就安装成功啦

最后,板卡虚拟出来一个移动磁盘和虚拟串口,方便做调试哈~


开发板的现象,大概是通过按用户按键切换三个不同颜色的LED闪动,就不上图了

3) 开发环境搭建

至于开发环境嘛,为了开发工具支持L496这款芯片,保险起见,还是去官网下载最新的开发工具和IDE哦
笔者用的是STM32Cubemx和IAR8.10.1,
STM32Cubemx,用于生成初始化的配置代码工程,图形化,简化底层操作,但是不建议初学者,以免对底层没有概念
考虑到后面要Coremark跑分,我之前一直习惯使用Keil的,但是Coremark对工具编译器什么的比较敏感,IAR优化这方面要好一些啦

接下来就是建立工程来进行个简单的使用介绍吧

与其他Nucleo板卡不一样的是,L496使用的是LPUART1作为stlink的串口,而且在使用stm32cubemx定制工程时,初始化的端口可能不准确哦
需要自行更正,这个算是一个坑啦

然后,串口重定向是一个很有用的代码块,加上去就可以愉快地使用printf打印输出啦
#ifdef __GNUC__
/* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
set to 'Yes') calls __io_putchar() */
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */
/**
* @brief Retargets the C library printf function to the USART.
* @param None
* @retval None
*/
PUTCHAR_PROTOTYPE
{
/* Place your implementation of fputc here */
/* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */
HAL_UART_Transmit(&hlpuart1, (uint8_t *)&ch, 1, 0xFFFF);

return ch;
}4) 开发板跑分和功耗测试




在STM32上跑coremark是很多人都要做到,过程按照官方的文档做就行~


最后给出跑分结果


附上整个工程哈



jackten 发表于 2017-4-21 19:46:05

你好,我单独用STM32Codemx配置了LPUART1,引脚也修改正确了,    但是程序在printf的时候就卡死了,,请问怎么回事呢?

荣丰宇 发表于 2017-4-21 22:16:50

jackten 发表于 2017-4-21 19:46
你好,我单独用STM32Codemx配置了LPUART1,引脚也修改正确了,    但是程序在printf的时候就卡死了,,请问 ...

printf重定向里面也需要修改哦!你看看呢
HAL_UART_Transmit(&hlpuart1, (uint8_t *)&ch, 1, 0xFFFF);

jackten 发表于 2017-4-22 11:36:55

荣丰宇 发表于 2017-4-21 22:16
printf重定向里面也需要修改哦!你看看呢
HAL_UART_Transmit(&hlpuart1, (uint8_t *)&ch, 1, 0xFFFF); ...

需要怎么修改呢?不是codemx直接生成就可以用了的吗?

荣丰宇 发表于 2017-4-24 19:02:18

jackten 发表于 2017-4-22 11:36
需要怎么修改呢?不是codemx直接生成就可以用了的吗?

下载我的工程然后看看吧

cougar 发表于 2020-3-1 07:25:32

谢谢分享~~~~~
页: [1]
查看完整版本: 【NUCLEO-L496ZG评测】+带你把玩L496