查看原文
其他

STM32下载编程工具 | STM32CubeProg介绍、下载、安装和使用教程

strongerHuang 嵌入式专栏 2022-05-20

关注+星标公众,不错过精彩内容

作者 | strongerHuang

微信公众号 | 嵌入式专栏


前面讲述了ST的 STVP 和 ST-LINK Utility 两款下载编程工具,今天讲述的 STM32CubeProg 这款工具,是 ST 继前面两款工具之后新推出的一款工具,是目前主推的一款下载编程工具。

目前(2020.11)STM32CubeProg最新版本为 V2.5.0,官网地址:

https://www.st.com/en/development-tools/stm32cubeprog.html

(公号不支持外链接,请复制链接到浏览器打开)

1

STM32CubeProg介绍

STM32CubeProg(TM32CubeProgrammer)是针对STM32的一款多功能的编程下载工具。


STM32CubeProg提供图形用户界面(GUI)和命令行界面(CLI)版本。


STM32CubeProg还允许通过脚本编写选项编程和上传、编程内容验证以及编程自动化。


1.支持格式

  • Motorola S19

  • ELF

  • bin

  • hex


2.支持操作系统

  • Windows

  • Linux

  • macOS


3.支持调试和引导接口
  • ST-LINK:JTAG、 SWD

  • Bootloader接口:UART、 USB DFU、 I2C、 SPI和CA


4.支持操作/功能

  • 擦除

  • 编程(下载/写入)

  • 读取

  • 验证

  • 允许OTP存储器编程

  • 支持选项字节的编程和配置

  • 比较文件与目标内存

  • 对外部存储器进行编程\擦除和验证

  • 可加载、编辑和保存可执行文件和数据文件

  • 一次性自动化编程(擦除、验证、编程、配置选项字节、计算校验和)


5.其他特征
  • 免费软件

  • 提供命令行界面(CLI)

  • ST-LINK / V2固件升级

  • 提供命令行界面以通过脚本进行自动化



6.附加说明:C++ API
除了使用STM32CubeProg这套界面和命令行工具编程之外,还提供这套API接口对STM32的FLASH、RAM和OTP编程,基于USB DFU, UART, I²C, SPI and CAN的bootloder。(主要作用还是编程)

STM32CubeProg安装好之后,在安装目录下有一个api目录,里面有相关的API的例子,提供了一些兼容Visual Studio和Qt工具的例子:
  • 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


比如基于Visual studio:


关于这个API更多详细内容,大家可以下载安装了解:


2

STM32CubeProg下载

1.官网地址:

https://www.st.com/en/development-tools/stm32cubeprog.html

(公号不支持外链接,请复制链接到浏览器打开)


2.网盘地址:

官方需要账号或填写相关信息才能下载,也可以在我网盘下载,后台回复“ST工具下载链接”获取网盘下载地址。


3

STM32CubeProg安装

1.安装环境

STM32CubeProg支持Windows、Linux、 Mac三大操作系统操作系统。



STM32CubeProg基于JAVA开发而来,因此需要电脑安装JRE(JAVA运行环境)。

在windows上可能因为权限问题,以管理员身份方式运行有可能会得到解决。

否则,会出现类似错误:


JRE地址:

https://www.java.com/en/download/manual.jsp


2.安装过程
下面以V2.5.0b版本、Windows为例,讲述一下安装过程(基本一路Next下去),根据提示选择安装就行了,下面针对初学者,把过程分享出来。


提示:

可能你电脑系统的环境与我有差异,过程中可能有一些差异,一般来说问题不大。


4

STM32CubeProg使用

STM32CubeProg作为一个编程工具,包含常规的读、写(下载/编程)、擦除,选项字节编程等。


1.硬件连接,打开工具,点击“连接”。


2.如果出现类似下图信息,说明硬件连接正常


3.编程(下载):打开文件,点击“下载”。


4.读取

可设置读取的起始地址、大小、宽度,读取其实就是连接芯片之后,自动读取。


5.擦除


6.选项字编程和配置


7.外部Flash编程


STM32CubeProg工具图形化界面(GUI)的操作比较简单,还有一种命令行(CLI)后面抽时间给大家描述。


5

拓展下载文件:hex、bin

在上面下载界面,大家可能看到了“起始地址”,这里就牵涉到文件格式的问题。这里讲述一下bin和hex差异,以及Keil MDK、 IAR EWARM如何生成hex、bin.


1.hex文件

https://en.wikipedia.org/wiki/Intel_HEX

Intel HEX is a file format that conveys binary information in ASCII text form. It is commonly used for programming microcontrollers, EPROMs, and other types of programmable logic devices. In a typical application, a compiler or assembler converts a program's source code (such as in C or assembly language) to machine code and outputs it into a HEX file. The HEX file is then imported by a programmer to "burn" the machine code into a ROM, or is transferred to the target system for loading and execution.


简单来说:Hex是由Intel制定的一种十六进制标准文件格式,是由编译器转换而成的一种用于下载带处理器里面的文件。


Hex文件格式是由一行一行的十六进制数据组成,每行包含:开始、长度、数据、类型、校验和等重要信息

2.bin文件

Hex文件是有一定格式的,而Bin文件就是一种没有格式的程序文件,只是包含了程序数据。所以,我们下载bin文件时需要指定起始地址,如果起始地址不对,你的程序就不能正常运行。


3.Keil生成hex配置
Project ->Options for Target -> Output 勾选上“Create HEX File”(如下图)


4.IAR生成hex配置
Project ->Options -> Output Coverter -> 勾选上“Generate additional output”、选择输出格式为“Intel extended”,再次设置输出名称就配置好了(如下图)。

本文就分享到这里,如果对你有帮助,希望帮忙转发分享一下,感谢


------------ END ------------


后台回复『ST工具』『下载编程工具』『STM32Cube生态系统』阅读更多相关文章。


关注微信公众号『嵌入式专栏』,底部菜单查看更多内容,回复“加群”按规则加入技术交流群。


点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存