发现有很多朋友居然不知道STM32CubeProgrammer这个工具,今天暂且简单讲述一下吧。
1STM32CubeProgrammer介绍
STM32CubeProgrammer这个工具大概也是在去年这个时候推出来的,差不多有一年了。
它的主要功能就是Programmer编程,功能和STM32 ST-LINK Utility有很多相似之处,但引入了一些新的功能。比如UART and USB DFU bootloader。
主要特点
擦除,编程,查看和验证设备闪存的内容
支持Motorola S19,Intel HEX,ELF和二进制格式
支持调试和引导加载程序接口:
ST-LINK调试探针(JTAG / SWD)
UART和USB DFU引导加载程序接口
通过外部Flash加载器的示例来编程,擦除和验证外部存储器,以帮助用户开发用于特定外部存储器的加载器
自动执行STM32编程(擦除,验证,编程,配置选项字节)
允许OTP内存编程
支持选项字节的编程和配置
通过脚本提供自动化的命令行界面
ST-LINK固件更新
使用STM32 Trusted Package Creator工具实现安全的固件创建
多支持操作系统:Windows、 Linux、 macOS
地址:
https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stm32cubeprog.html?icmp=tt6238_gl_bn_dec2017.html
2
STM32CubeProgrammer安装问题
安装的时候出现的问题基本上都是没有安装,或错误安装JRE导致,比如出现如下提示:
还有,在windows上可能因为权限问题,以管理员身份方式运行有可能会得到解决。
同时,STM32CubeMX这个工具也存在同样问题,所以需要安装JRE才行。可以在线安装,也可以离线安装。
JRE地址:
https://www.java.com/en/download/manual.jsp
3
STM32CubeProgrammer升级
就在这前不久STM32CubeProgrammer升级到V1.4.0版本了。主要更新内容:
这里新增两条内容:
Added STM32CubeProgrammer C++ API
Added support of secure firmware install on STM32L462CEU6F
第2条估计都还好理解,第1条是什么意思呢?
安装好STM32CubeProgrammer-1.4.0之后,在安装目录下有关于api相关的说明文档STM32CubeProgrammer_API.chm:
In addition to the graphical user interface and the commandline interface, STM32CubeProgrammer offers a C++ API that you could use to develop your own application and benefit of wide range of features to program STM32 microcontrollers memories (such as Flash, RAM, and OTP) either over debug interface or bootloder interface (USB DFU, UART, I²C, SPI and CAN).
大概意思就是:除了使用STM32CubeProgrammer这套界面和命令行工具编程之外,还提供这套API接口对STM32的FLASH、RAM和OTP编程,基于USB DFU, UART, I²C, SPI and CAN的bootloder。(主要作用还是Progrom)
API包例子
兼容Visual Studio和Qt工具的8个例子:
3 examples with ST-LINK debug interface (JTAG/SWD) with different scenarios.
One example with SPI bootloader via ST-LINK/V3
One example with CAN bootloader via ST-LINK/V3
One example with I2C bootloader via ST-LINK/V3
One example with USB DFU bootloader
One example with UART bootloader