本帖最后由 荣丰宇 于 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是很多人都要做到,过程按照官方的文档做就行~
如何将coremark程序移植到STM32上.pdf
(1.12 MB, 下载次数: 26)
|