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

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

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

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

+ @$ E7 n6 ]" W6 \7 f7 x; M/ x6 x/ [3 t9 B& y

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

2 ], k5 L0 t8 `: c3 c) B

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

* ]/ C7 B! L6 L$ M, {+ P1 I

1.支持格式

  • Motorola S19

  • ELF

  • bin

  • hex

    % J& o% T! e" j/ n- J: F

    2 O: V! v9 N( }8 l$ I+ [

2.支持操作系统

  • Windows
  • Linux
  • macOS
    ' D8 ^8 }" c/ G! K
    3 O3 e4 o  q8 p3 q9 j2 c
3.支持调试和引导接口+ {" v! t5 n8 L* a9 W% I" t
  • ST-LINK:JTAG、 SWD
  • Bootloader接口:UART、 USB DFU、 I2C、 SPI和CA

    ! z3 x4 j1 h) ]5 X
    9 c1 q+ I8 a( L4 P7 w

4.支持操作/功能

  • 擦除

  • 编程(下载/写入)

  • 读取

  • 验证

  • 允许OTP存储器编程

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

  • 比较文件与目标内存

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

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

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


    3 N# U2 J) \, z7 `3 R
    8 G$ ?1 y9 D8 K4 j/ D6 e) L
5.其他特征
  • 免费软件
  • 提供命令行界面(CLI)
  • ST-LINK / V2固件升级
  • 提供命令行界面以通过脚本进行自动化

    8 a8 e/ X$ Z- A: `0 K3 v2 X
    , n4 v+ T  N0 _9 `, L- A' O

微信图片_20221015230733.jpg

2 |% J4 e. D% B& X; D$ ]* M0 j
6.附加说明:C++ API
除了使用STM32CubeProg这套界面和命令行工具编程之外,还提供这套API接口对STM32的FLASH、RAM和OTP编程,基于USB DFU, UART, I²C, SPI and CAN的bootloder。(主要作用还是编程)
7 H' k! p8 F% X; K, l. MSTM32CubeProg安装好之后,在安装目录下有一个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
    " z7 l8 L9 Z' g* k7 h) g, t9 H

    " \% W) y" |+ ~4 I( _
比如基于Visual studio:
微信图片_20221015230729.jpg
微信图片_20221015230720.jpg
, c+ V/ a+ ?" ?+ S6 i7 N! ~
关于这个API更多详细内容,大家可以下载安装了解:

5 v2 p; C3 a! l1 g
微信图片_20221015230718.png

" M& m/ _4 ^1 E% Y0 }' A# ]' N' n" i
2
STM32CubeProg下载
2 @5 g$ W8 a( a8 _: l0 M2 T
3
STM32CubeProg安装

1.安装环境

STM32CubeProg支持Windows、Linux、 Mac三大操作系统操作系统。# g8 W9 S# j! f$ e. R
% x( j; C. y7 M- M6 h1 r
微信图片_20221015230709.png

9 t3 U% l+ v  v2 Y$ `( H3 [" FSTM32CubeProg基于JAVA开发而来,因此需要电脑安装JRE(JAVA运行环境)。6 W  R* c2 X+ @; B! \
在windows上可能因为权限问题,以管理员身份方式运行有可能会得到解决。+ {7 u9 S8 l3 A$ d5 t. W9 C
否则,会出现类似错误:
* m/ E+ |2 L1 K  `4 J

" K/ n9 O7 m0 G  d" @. p! `
微信图片_20221015230707.png
$ i! r) t% ^% B8 W4 Z
8 R5 u' G! z/ _/ B  B7 M
5 t" ]( s! p4 |8 P. m2 |
2.安装过程下面以V2.5.0b版本、Windows为例,讲述一下安装过程(基本一路Next下去),根据提示选择安装就行了,下面针对初学者,把过程分享出来。

; u# a$ r( }* j3 h# {% Q/ e  s& k  M9 \% y  t& [
微信图片_20221015230704.png
微信图片_20221015230701.png
微信图片_20221015230659.png
微信图片_20221015230657.png
微信图片_20221015230653.png
微信图片_20221015230651.png
微信图片_20221015230649.png
微信图片_20221015230646.png
微信图片_20221015230643.png
微信图片_20221015230640.png
微信图片_20221015230637.png
+ i; T% s/ X  R* T" O# \; f. U

提示:

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


' W3 P) r2 F4 E2 P
4
STM32CubeProg使用

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

. Z) [9 R4 P. T8 z

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

微信图片_20221015230634.png

( F2 W& K( p0 b
2.如果出现类似下图信息,说明硬件连接正常
微信图片_20221015230631.png

% W4 D- r+ g$ `' b
3.编程(下载):打开文件,点击“下载

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

+ g3 f3 E0 c9 h% F6 W# B
微信图片_20221015230608.png

. l& L- h  T- y

4.读取
可设置读取的起始地址、大小、宽度,读取其实就是连接芯片之后,自动读取。
微信图片_20221015230617.png
5.擦除
微信图片_20221015230611.png
: P# \5 R) @1 `0 E; D; i7 n

6.选项字编程和配置

微信图片_20221015230605.png

: @/ q7 P' D3 ]4 H! i1 L

7.外部Flash编程

微信图片_20221015230602.png
) a; q, ^" K' v7 C! O2 w
STM32CubeProg工具图形化界面(GUI)的操作比较简单,还有一种命令行(CLI)后面抽时间给大家描述。
% }+ G' S) a/ G% i% h2 A* ~
5
拓展下载文件:hex、bin

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


& j# X, [( ]# j$ }

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.

. U) j0 u4 N+ F% d( S9 D! q5 O
简单来说:Hex是由Intel制定的一种十六进制标准文件格式,是由编译器转换而成的一种用于下载带处理器里面的文件。
2 ]1 c8 ~" f/ R6 s7 Y" ?
Hex文件格式是由一行一行的十六进制数据组成,每行包含:开始、长度、数据、类型、校验和等重要信息

2.bin文件4 [, ~% @( q% d

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

% O- f& w* o8 y. O$ B& L7 m3.Keil生成hex配置Project ->Options for Target -> Output 勾选上“Create HEX File”(如下图)
微信图片_20221015230557.png
- {; f3 ?+ A; y, p3 f2 M, [
4.IAR生成hex配置Project ->Options -> Output Coverter -> 勾选上“Generate additional output”、选择输出格式为“Intel extended”,再次设置输出名称就配置好了(如下图)。
+ e! a9 c2 |& j: _! m" D
, Y2 F0 b: c  @' G, u

$ ~" s6 @1 B/ V7 F7 b2 R2 n( _1 p
微信图片_20221015230554.png

. w: W3 J$ F  l% Y, u3 z4 C. `6 y' Y8 O* _0 F
' p9 h* h. |" H8 a9 b
! I: A& p/ u2 A( j1 D8 |- p; u$ j
转载自:strongerHuang9 y0 u/ G3 a& T7 t: A

8 {7 O9 z3 x3 w$ ]6 z2 h: C! O" c4 l% k8 |# d0 G* H
微信图片_20221015230623.png
收藏 评论0 发布时间:2022-10-15 23:08

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版