|
凡用过STM32的用户应该知道,当你完成程序调试后,想对STM32芯片进行程序代码烧录编程的话可以有多种方式。若通过调试接口【JTAG/SWD】来烧写程序,一般要使用STVP或STLinkUtility工具软件来完成;若通过UART接口来烧写程序,往往要下载个基于PC 端的flash烧录工具软件STM32 Flash loader demo配合;若通过USB接口来烧写程序,往往需下载DfuSe USB 固件升级工具软件来实现。如今ST推出了新的高集成度编程工具软件STM32CubeProgrammer,以后就不用这么麻烦了,因为它同时支持上述三类编程接口,而且还兼具其它功能。 一、STM32CubeProgrammer具备如下功能特性:/ I3 U' C* G7 h9 t 1、可对片内flash进行擦除或编程以及查看flash内容;$ g$ t. m% a& j% i7 t3 q* k# O " ]0 F( F- }) P5 @( W9 S9 g% t 2、支持S19,HEX,ELF及BIN等格式的文件; 7 J; D" g) I& h8 j) l1 T: t 3、支持调试接口或bootloader接口; ---STLINK 调试接口【JTAG/SWD】; n( p, M8 B& \7 } ; m& g& s0 U5 K N ---UART或USBDFU bootloader 接口! {0 Y7 A% [$ Q + C4 K! `0 t5 u* @; {: X" ^( U6 j. Y 4、支持对外部的存储器的擦除或编程; + W' t" d& t/ J3 U1 h; i6 i$ ` 5、支持STM32芯片的自动编程【擦除、校验、编程、选项字配置】;+ s n& u6 ?' B" e/ f8 d5 S 6、支持对STM32片内OTP区域的编程;5 f+ {# `% x' B 7、既支持图形化界面操作也支持命令行操作;9 Y3 q4 w2 u9 f9 }0 D . P1 x; I( K. J6 u) A" C 8、支持对STLINK调试器的在线固件升级功能; 2 x5 y) E# u9 n9 G* [8 z# ] ' G. K: k5 o# x! r) j, i4 n 9、配合STM32 Trusted Package Creator tool实现固件加密操作;. Y/ y: e1 s3 `1 Q+ z+ P + B/ Z+ W Z( u0 x 6 L) m! D5 i5 B5 B# y, q% H$ C9 ` 10、支持WINDOWS,LINUX,MAC OS多种操作系统;6 Q: b! S6 n0 B2 `- H$ t2 W. ?! d 二、与STM32CubeProgrammer有关的几个用户手册9 {+ m" I0 Z( T% f 0 `4 l' W. B1 Z 与STM32CubeProgrammer操作有关的用户手册目前有DB340,UM2237,UM2238等.可以前往ST官方网站www.st.com自行搜索下载。 6 P- V+ ^1 k- R: d
三、操作界面演示5 Q1 F7 F! @& m% c% Q" q. [ # F) @4 @% s. D# E w% t/ |6 D
+ R. r( w7 R$ T& G: r. I0 \ % `( c* Z. ]1 m* s9 U4 V+ R/ z
# h- h6 `! r3 C. g5 S
) g- Y, o( N, G5 d5 o8 X1 E
' x, C0 C4 M6 i, |7 z8 d7 @5 l7 b
) j5 L2 Z& c9 T- p( a6 r 6 P: f) q# E ]: K; |4 d 四、几点提醒9 ~1 }' d0 R$ W9 X6 E 6 o6 K8 R7 p' G1 v) H+ E/ J9 X % }# f# K8 O: C+ m 针对上述的几种接口及编程模式,我用多块STM32开发板连接测试过,都是OK的。不过有几点提醒跟大家分享下。/ f; K$ o+ |# i7 J4 @ 1、安装STM32CubeProgrammer前需安装或升级JAVA,安装过程中会有提醒。8 y, C7 u+ [8 b3 Z& H 9 @2 `" j- g4 B/ L) @
0 \) d% {& {: }3 L. \# ~; g 2、使用STM32CubeProgrammer通过STLINK连接目标板时,有时可能会出现连接不上的情况。除了硬件连接因素外,还有就是你手头的STLINK内部的固件版本偏低,目前需要手动升级,这可以借助STM32CubeProgrammer工具进行在线升级,升级时可能需要重新插拔一两次。, i5 x" t/ m9 C' j' p 3 }, _, J$ w1 X1 ^# a - I+ J- {9 i1 k" ?6 ?
) d/ `) F2 i: X1 }5 `+ F# Q5 N7 k. T4 s ( ^6 X1 {! W4 A+ J( Q. W2 |- j 此时你点击上图中右下角的Firmware upgade后出现下面的界面: & w6 d7 r6 |, Y
3 U8 z% D( k: M+ N: t+ G( [ 9 o$ w% ~( K# ~# V$ e, U: f 然后你点击Open in update mode,直到出现firmware version的版本后,Upgrade变成有效时就可以进行STLINK的固件在线升级了,升级完成后即可再次连接。再次连接时建议先点击SLTINK序列号后面的那个环形循环箭头【如下面箭头所指】,如果能显示序列号,此时就可以Connect了。+ b' u: x2 l) h, k6 s6 ?5 t) p! f+ ^ , J7 e2 a% D; E1 X
! w7 s) j/ C, g" y( c1 E4 X9 [+ S 3、使用USB DFU模式进行程序烧录时,如果之前安装过STM32 DFU编程工具,记得先卸载之前的STM32 DFU驱动,否则会出现连接不上的情况。卸载之后再运行安装目录下的STM32Bootloader.bat文件。 8 f: |# h% E- O2 \+ t6 t+ a S( }( O D3 Y, D3 B7 t7 |
4、其它更多使用方法及细节可以参考上面提到的用户手册,尤其是UM2237.至于该工具的下载可以前往官方网站www.st.com 直接搜索STM32CubeProgrammer即可找到相关资料。 ! v" B7 y# F. P0 p* r3 l4 v5 v5 f |
STM32CubeCLT 1.22.0新版本发布
STM32CubeProgrammer 2.23新版本发布
实战经验 | STM32CubeProgrammer与STM32 Bootloader连接全流程实战指南
【STM32U3 评测】人体行为识别
【STM32U3评测】实战项目:无电池温湿度计
STM32CubeProgrammer 2.22:眼见为实 —— 全新MCU内存映射图形导出界面,规避常规开发错误
重磅升级!STM32CubeProgrammer 2.21 解锁SWD多从机模式,开发效率再飙升!
在主机模式下使用STM32Cube HAL I2C驱动
【问卷有礼】STM32CubeProgrammer—您的声音很重要!
新版STM32Cube for Visual Studio Code开发体验
微信公众号
手机版