STM32L496G-Discovery文档阅读及点亮LED实现流水灯

作者: NumBerOneFrog
上传时间为: 2018-01-24 10:36 PM
2018-01-24
阅读:

终于等到了爱板网的第一块试用版,STM32L496 Discovery kit。之所以申请这一款开发板,是因为之前接触过STM32F1、STM32F4系列的微控制器。首先还是先看看拿到的板子吧。

发过来的板子有一块STM32L496G-DISCO板子和一块扩展模块板子,该扩展模块板子据说可以兼容WiFi、Grove Mikrobus接口。整块Discovery板子看着非常舒服,配上一块小巧的1.54”的带触摸液晶显示屏(240X240像素)。

整块板子最重要的部分当然是STM32L496AGI6微控制器,该控制器集成1MB Flash以及320 KB RAM,采用UFBGA169封装。其他的官网也有介绍,我就直接开始点亮板子吧。首先是整块板子的探索以及供电方式。官网对STM32L496AG微控制器的Key Features介绍到1.71 V 到 3.6 V的电源供电,-40 °C 到 85/105/125 °C的温度变化范围。对于该控制器的资源,也给了详细的电路结构图[1]。

DB3160: Discovery kit with STM32L496AG MCU[2]对开发套件的特性作了大致的介绍,列出点亮板子我关注的资源的吧,1 Mbyte的Flash存储和320 Kbytes的RAM,64 Mbit-Quad-SPI Flash存储,8个LEDs,复位开关,5种供电选择,MCU的两种供电电压1.8 V和3.3 V。对于系统需求,windows操作系统支持XP, 7, 8, 10,支持Linux和macOS,当然我是选择win7操作系统。开发工具链支持Keil MDK-ARM,IAR™ EWARM和GCC-based IDEs including free SW4STM32 from AC6,平时用惯了MDK5平台来开发arm系列微处理器,当然就选择熟悉的IDE MDK-ARM。顺便普及了spi 的single Dual quad模式[3],SPI 的标准模式是有4根管腿:

SCLK : Serial Clock (output from master).

MOSI : Master Output, Slave Input (output from master).

MISO : Master Input, Slave Output (output from slave).

SS : Slave Select (active low, output from master).

这个就是single的模式,然后Dual的模式是说那个数据线是两根,但是为了不增加管腿,所以上面的MOSI和MISO就变成一次只能是一个方向,要不就是输入要不就是输出。这个其实就是一个半双工的模式。然后qual模式就很好理解了,它就是4根数据线,半双工的工作方式。

技术手册TN1235: Overview of the ST-LINK embedded in STM32 MCU Nucleo, Discovery Kits and Eval Boards[4]介绍了ST-LINK。ST-LINK是ST微控制器在线调试和编程器,并且内嵌到我们使用的开发板中。ST-LINK and ST-LINK/V2既可以内嵌到开发板中,也可以成为独立的硬件模块连接到开发板上。接着介绍了ST-LINK的版本和历史,ST-LINK的USB接口。ST_LINK的版本号可以通过对应开发板的user manual查到,并对ST-LINK的key features作了介绍,USB连接器5V的电压供应,当和PC通信时会有一个状态灯闪烁。ST-LINK固件升级STLinkUpgrade.exe: historical version for Windows

STLinkUpgrade.jar: java version for Windows, Linux and MacOS

技术手册TN1238: STMod+ interface specification[5]介绍了STMod+接口。该接口就是提供了一系列的其他接口,像SPI, UART, I²C和其他功能像RESET, INTERRUPT, ADC, PWM和general purpose I/Os。

UM2160: Discovery kit with STM32L496AG MCU[6]文档是用户手册,使用内嵌ST-LINK/V2-1作为调试/编程器,这篇文档也是进入软件编程点亮开发板的重点。32L496GDISCOVERY Discovery kit配有STM32软件HAL库和不同封装软件例程的LL APIs。该文档还对开发板上的跳帽有所说明。Joystick个人觉得使用直插式元件更合适。从顶层布局和底层布局可以看出可操作性的LED等有两个,此篇记录在大致介绍了解了该开发板之后,搭建好开发平台就会做一个流水灯实验,验证对板子的熟悉程度。板子配备液晶显示屏和microSD卡。

ST-LINK/V2-1:驱动[7]必须在连接之前安装。按照计算机位数选择不同的安装exe。

成功安装后,在设备管理器会看到对应的com号。

对于跳帽和开关:

switch SW1: ST-LINK/V2-1和 MCU之间的连接器

Jumper JP8:5-V power LED

jumper JP6: 在on-board和external MCU之间选择,ST-LINK既可以用于编程本地MCU,也可以用于编程其他MCU,相当于有了一个独立的ST-LINK硬件

jumper JP7:板子供电

jumper JP5: MCU供电,1.8V 或者 3.3V

jumper JP2:labeled IDD:直接测量STM32L496AGI6消耗

jumper JP4:VDD_USB 选择

在板子上有两个可供用户操作控制的LED,ST相关文档给出了对应的引脚,LED1对应MFX_GPIO4,橙色;LED2对应PB13,绿色。

文档Getting started with STM32 MCU Discovery Kits software development tools[8]对MDK-ARM版本的要求是5.18a或者更高版本。

参照STM32CubeL4的example建立一个流水灯的工程。

新建工程,工程名为led,放在LED目录下选择对应的MCU。

在参考案例之后终于找到所有源文件编译成功,但是始终点不亮LED,最后对比与example中LED case的差异,发现少了stm32l4xx_it相关的文件,加入对应的头文件和源文件之后,成功实现流水灯。至于为什么,现在还不知道,后续会追寻代码寻找原因。到现在,点亮LED的任务算是完成了,贴上MDK软件和工程的截图。

调试和下载代码使用ST-LINK

资料查询处:http://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-discovery-kits/32l496gdiscovery.html

作者其它经验
全部评论 ()
条评论
写评论

创建讨论帖子

登录 后参与评论
系统提示