凡用过STM32的用户应该知道,当你完成程序调试后,想对STM32芯片进行程序代码烧录编程的话可以有多种方式。若通过调试接口【JTAG/SWD】来烧写程序,一般要使用STVP或STLinkUtility工具软件来完成;若通过UART接口来烧写程序,往往要下载个基于PC 端的flash烧录工具软件STM32 Flash loader demo配合;若通过USB接口来烧写程序,往往需下载DfuSe USB 固件升级工具软件来实现。如今ST推出了新的高集成度编程工具软件STM32CubeProgrammer,以后就不用这么麻烦了,因为它同时支持上述三类编程接口,而且还兼具其它功能。
一、STM32CubeProgrammer具备如下功能特性:
1、可对片内flash进行擦除或编程以及查看flash内容;
2、支持S19,HEX,ELF及BIN等格式的文件;
3、支持调试接口或bootloader接口;
---STLINK 调试接口【JTAG/SWD】
---UART或USBDFU bootloader 接口
4、支持对外部的存储器的擦除或编程;
5、支持STM32芯片的自动编程【擦除、校验、编程、选项字配置】;
6、支持对STM32片内OTP区域的编程;
7、既支持图形化界面操作也支持命令行操作;
8、支持对STLINK调试器的在线固件升级功能;
9、配合STM32 Trusted Package Creator tool实现固件加密操作;
10、支持WINDOWS,LINUX,MAC OS多种操作系统;
二、与STM32CubeProgrammer有关的几个用户手册
与STM32CubeProgrammer操作有关的用户手册目前有DB340,UM2237,UM2238等.可以前往ST官方网站www.st.com自行搜索下载。
三、操作界面演示
四、几点提醒
针对上述的几种接口及编程模式,我用多块STM32开发板连接测试过,都是OK的。不过有几点提醒跟大家分享下。
1、安装STM32CubeProgrammer前需安装或升级JAVA,安装过程中会有提醒。
2、使用STM32CubeProgrammer通过STLINK连接目标板时,有时可能会出现连接不上的情况。除了硬件连接因素外,还有就是你手头的STLINK内部的固件版本偏低,目前需要手动升级,这可以借助STM32CubeProgrammer工具进行在线升级,升级时可能需要重新插拔一两次。
此时你点击上图中右下角的Firmware upgade后出现下面的界面:
然后你点击Open in update mode,直到出现firmware version的版本后,Upgrade变成有效时就可以进行STLINK的固件在线升级了,升级完成后即可再次连接。再次连接时建议先点击SLTINK序列号后面的那个环形循环箭头【如下面箭头所指】,如果能显示序列号,此时就可以Connect了。
3、使用USB DFU模式进行程序烧录时,如果之前安装过STM32 DFU编程工具,记得先卸载之前的STM32 DFU驱动,否则会出现连接不上的情况。卸载之后再运行安装目录下的STM32Bootloader.bat文件。【特别提醒!】
4、其它更多使用方法及细节可以参考上面提到的用户手册,尤其是UM2237.至于该工具的下载可以前往官方网站www.st.com 直接搜索STM32CubeProgrammer即可找到相关资料。