你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32CubeProg介绍、下载、安装和使用教程

[复制链接]
STMCU小助手 发布时间:2022-10-15 23:08
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.支持格式

  • Motorola S19

  • ELF

  • bin

  • hex


    1 [$ {7 Z8 O6 f& M* Y, p  q

      V" h5 @3 X# X* Q0 ^6 s4 [* Y. T

2.支持操作系统

  • Windows
  • Linux
  • macOS
    - ?& r: E+ B; I6 B) I9 g" x
    * f/ T! j2 g% l* z! }* x
3.支持调试和引导接口  E- M, r/ {, j
  • ST-LINK:JTAG、 SWD
  • Bootloader接口:UART、 USB DFU、 I2C、 SPI和CA
    " {; o8 ~) p. s7 d& ]

    ( s0 \- G1 w9 b# l" B7 y

4.支持操作/功能

  • 擦除

  • 编程(下载/写入)

  • 读取

  • 验证

  • 允许OTP存储器编程

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

  • 比较文件与目标内存

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

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

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

    1 u- T- T/ W; v

    6 d9 G3 e9 z) O' j+ R0 H
5.其他特征
  • 免费软件
  • 提供命令行界面(CLI)
  • ST-LINK / V2固件升级
  • 提供命令行界面以通过脚本进行自动化
    ! a8 x" `; F  `' `) ~. D0 D

    $ a# W; E( ^7 W8 `% w" j$ O8 |

微信图片_20221015230733.jpg

) N% ?2 h, ]2 K7 M- O
6.附加说明:C++ API
除了使用STM32CubeProg这套界面和命令行工具编程之外,还提供这套API接口对STM32的FLASH、RAM和OTP编程,基于USB DFU, UART, I²C, SPI and CAN的bootloder。(主要作用还是编程)
1 u; N; M; ^$ S6 j; R, aSTM32CubeProg安装好之后,在安装目录下有一个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

    " i% G6 G* A4 d0 S7 k) `. {

    / x2 I  S; [- V
比如基于Visual studio:
微信图片_20221015230729.jpg
微信图片_20221015230720.jpg

  P& `8 Z# e# i/ f3 H' }  E
关于这个API更多详细内容,大家可以下载安装了解:

, P% V. k' z( b7 H4 `9 t( O/ j
微信图片_20221015230718.png
0 }- K1 [: H: ?1 X* }- u
2
STM32CubeProg下载
7 v8 s( r" m. @4 X$ Y
3
STM32CubeProg安装

1.安装环境

STM32CubeProg支持Windows、Linux、 Mac三大操作系统操作系统。7 [# {0 Y6 E$ M4 K# N
/ O( S# u  g( Q
微信图片_20221015230709.png
% k0 }# T& v3 m  F: |  K/ P9 Y
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
微信图片_20221015230707.png
6 A/ c3 f) V0 g9 z6 P$ a

! }& h: s7 \8 l) O  z& l, n
- U' ^  M- v* w" ~  p5 H2.安装过程下面以V2.5.0b版本、Windows为例,讲述一下安装过程(基本一路Next下去),根据提示选择安装就行了,下面针对初学者,把过程分享出来。

( R# C* Z. J! B) G* s0 Y$ B4 ?6 h, _: J4 c. c# ~/ E0 M1 h7 F- T
微信图片_20221015230704.png
微信图片_20221015230701.png
微信图片_20221015230659.png
微信图片_20221015230657.png
微信图片_20221015230653.png
微信图片_20221015230651.png
微信图片_20221015230649.png
微信图片_20221015230646.png
微信图片_20221015230643.png
微信图片_20221015230640.png
微信图片_20221015230637.png
' ]( v5 N5 v/ W( Y

提示:

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

* H+ A& |" J: h5 t3 M/ `  j) _; ]
4
STM32CubeProg使用

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

( Q* J% E2 @4 c5 S

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

微信图片_20221015230634.png

0 V; S& G7 V5 I+ \" j- H2 g) q5 ?
2.如果出现类似下图信息,说明硬件连接正常
微信图片_20221015230631.png


) \3 S" a6 I/ D3 [' \2 Y& E/ u3.编程(下载):打开文件,点击“下载

微信图片_20221015230628.png
微信图片_20221015230625.png
4 k5 N3 z# n  i" M9 p/ l
微信图片_20221015230608.png


3 Y. M5 o/ g8 w6 k7 l

4.读取
可设置读取的起始地址、大小、宽度,读取其实就是连接芯片之后,自动读取。
微信图片_20221015230617.png
5.擦除
微信图片_20221015230611.png
) `8 {1 c$ e6 @' d

6.选项字编程和配置

微信图片_20221015230605.png
" W+ \! a2 Q" O0 u% e# B

7.外部Flash编程

微信图片_20221015230602.png
1 b, R8 q2 w( R2 X0 D
STM32CubeProg工具图形化界面(GUI)的操作比较简单,还有一种命令行(CLI)后面抽时间给大家描述。
. S: d9 S7 R: i+ Y
5
拓展下载文件:hex、bin

在上面下载界面,大家可能看到了“起始地址”,这里就牵涉到文件格式的问题。这里讲述一下bin和hex差异,以及Keil MDK、 IAR EWARM如何生成hex、bin.
$ y, ^2 s& w: w# M+ ]2 p3 x

9 _6 B4 g! l4 r/ }. y7 f' F

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.

! {' A8 P% Z% ?% R' \
简单来说:Hex是由Intel制定的一种十六进制标准文件格式,是由编译器转换而成的一种用于下载带处理器里面的文件。
  E. f$ t  I; X, ~* U0 X$ ?6 q% s
Hex文件格式是由一行一行的十六进制数据组成,每行包含:开始、长度、数据、类型、校验和等重要信息

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”(如下图)
微信图片_20221015230557.png

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

' U! M% L6 l/ v8 I8 G! D, y  q
2 V0 T/ c2 _& |! l$ l9 Y% E* r# a

/ j  e- `% ]* U: V. X9 e% {7 e  G
微信图片_20221015230554.png

# r7 @5 E" q+ E. ^0 I- d# _
. X# v( k1 }% I, g% S
6 ]$ j+ T* ^, h0 o* e; l
+ Q4 w' i( w  k  z6 L3 I转载自:strongerHuang
$ Q! l7 z: I$ h5 x* S3 S
6 r% r4 v$ G- @, ~9 z- x  z1 }/ q) i
微信图片_20221015230623.png
收藏 评论0 发布时间:2022-10-15 23:08

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版