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

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

[复制链接]
STMCU小助手 发布时间:2022-10-15 23:08
1
STM32CubeProg介绍

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


6 ]; g! t, Y5 _( }) X

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


; u' m; G2 l9 L8 r7 H

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


0 ^, `- t* k  n7 W! ?: K; x

1.支持格式

  • Motorola S19

  • ELF

  • bin

  • hex


    4 g/ i( \1 t7 _3 L; h0 ?
    5 m) I: b( S$ F# ^' u- g* b

2.支持操作系统

  • Windows
  • Linux
  • macOS
    + C: |( ]2 F  c4 k: A

    2 v5 I' C+ H. J  R8 _% E
3.支持调试和引导接口2 @& [" }3 k; l8 D7 V! s
  • ST-LINK:JTAG、 SWD
  • Bootloader接口:UART、 USB DFU、 I2C、 SPI和CA
    - n) H+ g: Q! m! i9 p7 A
    2 c# D/ X, V$ X/ R1 V* T

4.支持操作/功能

  • 擦除

  • 编程(下载/写入)

  • 读取

  • 验证

  • 允许OTP存储器编程

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

  • 比较文件与目标内存

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

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

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

    ! L' }/ h/ ~. W2 j: Y, C- a
    8 H/ P3 l4 Z1 W; W( q7 S
5.其他特征
  • 免费软件
  • 提供命令行界面(CLI)
  • ST-LINK / V2固件升级
  • 提供命令行界面以通过脚本进行自动化

    " |! d9 z( x7 _) v, h1 p/ V
    7 I" b( M* @; t3 p

微信图片_20221015230733.jpg

7 E5 v3 Q3 Y  ]& y* m0 p, B# ]! w
6.附加说明:C++ API
除了使用STM32CubeProg这套界面和命令行工具编程之外,还提供这套API接口对STM32的FLASH、RAM和OTP编程,基于USB DFU, UART, I²C, SPI and CAN的bootloder。(主要作用还是编程)
" W9 C4 i7 |5 @' r9 \2 |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

    % S/ Y& l2 ^8 [& i6 H0 i
    6 \( t/ ^) [; b
比如基于Visual studio:
微信图片_20221015230729.jpg
微信图片_20221015230720.jpg
6 @  {7 t3 [  ?# V3 ?3 g
关于这个API更多详细内容,大家可以下载安装了解:

7 m4 Z+ |( L& P3 D9 C" t
微信图片_20221015230718.png
2 Y  x  s+ g0 N  x. D
2
STM32CubeProg下载
: F( x. Z' V/ \8 y/ Q& g2 n7 V/ @) f
3
STM32CubeProg安装

1.安装环境

STM32CubeProg支持Windows、Linux、 Mac三大操作系统操作系统。- o1 F! F# B$ P: s2 {% f# M

$ F1 O  m/ Z0 S5 C5 s  I0 i
微信图片_20221015230709.png
) z8 Q1 M. u1 M" r1 d" m
STM32CubeProg基于JAVA开发而来,因此需要电脑安装JRE(JAVA运行环境)。5 g% P/ o- `; M: q: i; ?% T) H9 Z
在windows上可能因为权限问题,以管理员身份方式运行有可能会得到解决。
$ f  {/ v5 N! t( o$ w0 _否则,会出现类似错误:

6 @3 Y9 i$ m" E9 O1 E3 z4 z& u/ [- i, u" c( p$ b, {- T
微信图片_20221015230707.png

4 F- [' q5 ?: G% {9 R/ ]

" P( K+ p0 b9 l9 _7 _, a; i; i6 S. P8 s8 S, S8 S
2.安装过程下面以V2.5.0b版本、Windows为例,讲述一下安装过程(基本一路Next下去),根据提示选择安装就行了,下面针对初学者,把过程分享出来。
' D1 X1 M4 j: f/ y

3 f! }- O/ ?- h3 n' P7 X5 \5 d
微信图片_20221015230704.png
微信图片_20221015230701.png
微信图片_20221015230659.png
微信图片_20221015230657.png
微信图片_20221015230653.png
微信图片_20221015230651.png
微信图片_20221015230649.png
微信图片_20221015230646.png
微信图片_20221015230643.png
微信图片_20221015230640.png
微信图片_20221015230637.png
9 S$ r; e! [$ v' `

提示:

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

  \# G1 s& t, }6 Y) R1 e5 l/ n
4
STM32CubeProg使用

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

7 {9 v/ Q) O& \+ R, [6 S

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

微信图片_20221015230634.png
* X* w. |6 j# _  }
2.如果出现类似下图信息,说明硬件连接正常
微信图片_20221015230631.png

) q$ M' r; ]* X
3.编程(下载):打开文件,点击“下载

微信图片_20221015230628.png
微信图片_20221015230625.png

4 \  o/ t8 x! |! g1 V- h
微信图片_20221015230608.png


! Q. J4 Y1 Q8 U/ X" N

4.读取
可设置读取的起始地址、大小、宽度,读取其实就是连接芯片之后,自动读取。
微信图片_20221015230617.png
5.擦除
微信图片_20221015230611.png

- N! W3 [' r. T* E; A, I9 b7 u5 t

6.选项字编程和配置

微信图片_20221015230605.png
- ?+ K' E: G; B/ X. g' N9 [9 c1 n

7.外部Flash编程

微信图片_20221015230602.png

6 L( B: r  u% F' oSTM32CubeProg工具图形化界面(GUI)的操作比较简单,还有一种命令行(CLI)后面抽时间给大家描述。
8 }$ j' I0 |  O4 S: K6 }/ H0 W
5
拓展下载文件:hex、bin

在上面下载界面,大家可能看到了“起始地址”,这里就牵涉到文件格式的问题。这里讲述一下bin和hex差异,以及Keil MDK、 IAR EWARM如何生成hex、bin.
0 l/ h6 t6 D1 t+ X9 b3 T# L+ J- `


! e1 G. J( a! J1 |

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.

) q- m/ i, E3 k5 s8 M
简单来说:Hex是由Intel制定的一种十六进制标准文件格式,是由编译器转换而成的一种用于下载带处理器里面的文件。
6 J" ^# S- K+ f
Hex文件格式是由一行一行的十六进制数据组成,每行包含:开始、长度、数据、类型、校验和等重要信息

2.bin文件
, J4 v. D$ ~" R; d

Hex文件是有一定格式的,而Bin文件就是一种没有格式的程序文件,只是包含了程序数据。所以,我们下载bin文件时需要指定起始地址,如果起始地址不对,你的程序就不能正常运行。
' l9 ~# l8 @' q8 k$ D1 [& K
3.Keil生成hex配置Project ->Options for Target -> Output 勾选上“Create HEX File”(如下图)
微信图片_20221015230557.png

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

7 W- ^1 S+ a( u4 c+ E$ ~4 E% p
( p; {2 s# _  W

- b6 v; }) U7 z6 m$ P9 s4 t7 B
微信图片_20221015230554.png

! R1 O8 _/ J$ z1 ^% ], E
, N8 t6 D3 `6 u2 [0 T. R+ x
, h$ t% A: P7 v1 j, d' d0 Q( B) ?" M! J& W2 i6 Y4 h0 w9 |# V( t2 h
转载自:strongerHuang/ K' T* W8 w( R" F. O& h
) E7 m. M. M* N/ a
' Q9 @8 G, f- |$ V1 Z5 J9 a
微信图片_20221015230623.png
收藏 评论0 发布时间:2022-10-15 23:08

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版