
1 STM32CubeProg介绍STM32CubeProg(TM32CubeProgrammer)是针对STM32的一款多功能的编程下载工具。 3 h9 h! g; k/ Q: g4 s) z STM32CubeProg提供图形用户界面(GUI)和命令行界面(CLI)版本。 / y3 m7 V+ ^% n7 m STM32CubeProg还允许通过脚本编写选项编程和上传、编程内容验证以及编程自动化。 2 R7 {# s3 |; A, W1 [0 A 1.支持格式
2.支持操作系统
4.支持操作/功能
6.附加说明:C++ API除了使用STM32CubeProg这套界面和命令行工具编程之外,还提供这套API接口对STM32的FLASH、RAM和OTP编程,基于USB DFU, UART, I²C, SPI and CAN的bootloder。(主要作用还是编程) STM32CubeProg安装好之后,在安装目录下有一个api目录,里面有相关的API的例子,提供了一些兼容Visual Studio和Qt工具的例子:
比如基于Visual studio: ![]() ![]() 关于这个API更多详细内容,大家可以下载安装了解: ![]() 2 STM32CubeProg下载7 v8 s( r" m. @4 X$ Y3 STM32CubeProg安装1.安装环境 STM32CubeProg支持Windows、Linux、 Mac三大操作系统操作系统。7 [# {0 Y6 E$ M4 K# N/ O( S# u g( Q ![]() STM32CubeProg基于JAVA开发而来,因此需要电脑安装JRE(JAVA运行环境)。" G) w' E. e' p" o @* k2 ~ 在windows上可能因为权限问题,以管理员身份方式运行有可能会得到解决。- t2 [: d; I6 y1 K, } 否则,会出现类似错误:" U; w" u3 g8 `0 R6 O; @% G/ O; ? 8 w8 C9 t' f2 {' M1 K2 V8 n ![]() 2.安装过程下面以V2.5.0b版本、Windows为例,讲述一下安装过程(基本一路Next下去),根据提示选择安装就行了,下面针对初学者,把过程分享出来。 4 c. c# ~/ E0 M1 h7 F- T ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 提示: 可能你电脑系统的环境与我有差异,过程中可能有一些差异,一般来说问题不大。 * H+ A& |" J: h5 t3 M/ ` j) _; ]4 STM32CubeProg使用STM32CubeProg作为一个编程工具,包含常规的读、写(下载/编程)、擦除,选项字节编程等。 ( Q* J% E2 @4 c5 S 1.硬件连接,打开工具,点击“连接”。 ![]() 2.如果出现类似下图信息,说明硬件连接正常 ![]()
![]() ![]() ![]()
4.读取 可设置读取的起始地址、大小、宽度,读取其实就是连接芯片之后,自动读取。 ![]() 5.擦除 ![]() ) `8 {1 c$ e6 @' d 6.选项字编程和配置 ![]() 7.外部Flash编程 ![]() STM32CubeProg工具图形化界面(GUI)的操作比较简单,还有一种命令行(CLI)后面抽时间给大家描述。 5 拓展下载文件:hex、bin在上面下载界面,大家可能看到了“起始地址”,这里就牵涉到文件格式的问题。这里讲述一下bin和hex差异,以及Keil MDK、 IAR EWARM如何生成hex、bin. 1.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制定的一种十六进制标准文件格式,是由编译器转换而成的一种用于下载带处理器里面的文件。 E. f$ t I; X, ~* U0 X$ ?6 q% sHex文件格式是由一行一行的十六进制数据组成,每行包含:开始、长度、数据、类型、校验和等重要信息。 2.bin文件/ V) G0 t, ^: p8 Q Hex文件是有一定格式的,而Bin文件就是一种没有格式的程序文件,只是包含了程序数据。所以,我们下载bin文件时需要指定起始地址,如果起始地址不对,你的程序就不能正常运行。 3 W7 X: N8 U8 l" m6 ]3.Keil生成hex配置Project ->Options for Target -> Output 勾选上“Create HEX File”(如下图) ![]() 4.IAR生成hex配置Project ->Options -> Output Coverter -> 勾选上“Generate additional output”、选择输出格式为“Intel extended”,再次设置输出名称就配置好了(如下图)。 ![]() 转载自:strongerHuang 9 z- x z1 }/ q) i |
【2025·STM32峰会】GUI解决方案实训分享3-搭建空白TouchGFX例程并实现简单的功能(含硬件部分的串口打印)
【2025·STM32峰会】GUI解决方案实训分享2-编译运行TouchGFX咖啡机例程(含桌面仿真)
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
新版STM32Cube for Visual Studio Code开发体验
【STM32N6570-DK评测】摄像头video encoder
【STM32N6570-DK评测】开发环境及LED debug
【STM32H7S78-DK评测】移植AI框架TensorFlow【DSP指令加速篇】
【STM32H7S78-DK评测】移植AI框架TensorFlow【下篇】
【STM32H7S78-DK评测】搭建基于ST官方VSCode扩展的STM32开发环境
【NUCLEO-H533RE评测】一、初识H5安全编程Debug Authentication