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

【经验分享】STM32CubeIDE使用说明—— 下载安装

[复制链接]
STMCU小助手 发布时间:2022-5-19 11:06
      在使用STM32 ARM Cortex 32微控制器进行开发时,大部分人都会选择和谐版的Keil或者IAR来作为开发工具,平时自己玩玩倒无所谓,一但商用,搞不好某天就收到了律师函,毕竟不合法。目前主流的ARM平台编译器主要有Keil MDK的ARMCC、IAR以及开源的GCC for ARM,如果不想掏钱又不想忍受虚拟机的痛苦,GCC是唯一的选择。
& x, j( _6 [* ?' R8 I- `' D+ a7 S5 [  u1 L
       ST在2019年收购了Atollic后,基于 Eclipse/CDT,GNU C/C++ Arm 工具链和 GDB 调试器搞了一个STM32CubeIDE集成开发工具,实际使用体验下来感觉还可以,写此文章分享给大家。
- a- p% ~5 ^+ Q; C+ p4 A0 I5 M8 U6 y7 S, E# R" x3 H! m
      首先去ST的官网把最新的版本下载下来,我这里是1.8.0。选择Windows版本,在弹出框里填写邮箱,收到邮件后点击邮件里面ST发的链接就可以下载软件。; P4 d0 y* w+ h' U6 v% O

/ x6 N, {9 {: O4 c1 g! `     这里建议把STM32CubeProgrammer,免得后面二次通过邮箱下载。STM32CubeProgrammer用于替代ST-Link Utility,可以直接将hex文件烧录到单片机,生产时很有用。类似与Jlink的J-Flash。
# q! q/ q- ~8 o: Y/ G! X* ^. M$ z2 ]
) S' q( p$ m. e4 R4 H0 x  `: x+ E
2 F/ y: G3 w8 C

& O4 i. C. f0 D1 z  s3 N# k
下载STM32CubeIDE

5 @5 b/ E0 x" s: Q; ~2 e0 [" }) V& p
( P: e) Y7 g, A. }
       安装的时候软件会把Jlink驱动和ST-Link驱动给安装上,没什么特别需要注意的,一路Next就行,安装完成后重启电脑。& ~  Q9 U* ~2 D

% K( M+ @- c5 L' B" C: \
44KIIE24F]EIT~{1I}[C(H2.png

6 r6 B5 M. V  {3 z0 ~/ S1 j
' N2 t' i: X! j/ H0 [0 ?
安装STM32CubeIDE
" H8 R# u  n0 t" \

, R+ T, c# G$ p" P( ^" r
( X. ~' e) ?* C8 Z) K  q3 \  b1 p       点击桌面的软件图标启动,第一次启动需要设置workspace,软件的字体、一些设置都存放在workspace中,所有的工程都可以使用,可以自己定义一个文件夹来存放,并且设置为默认值,这样每次打开就不再弹出,点击Launch/ _3 t7 l$ H& l) d1 P

& Y. }0 |* K5 i: n, i3 R; y9 T
8S6$S~{1%GLN[ZF7@FR8A5R.png
$ x  s7 r- M/ Z1 ]: M

$ p; \2 a: X* I8 A- M& C; |! m4 M# j
设置workspace

2 i6 L0 S- Y  j7 n0 D
LFRH3R`M9Y~UOAPD(MW_QVA.png
+ Z2 Y- n2 t# k' X

( r0 z$ I0 M! g3 ]2 C4 K: r
首次打开软件
% D/ d$ c0 b/ s/ L
  |) ?, Y) }# }9 ^3 g7 ~
$ K# p2 ]) @7 `1 `3 j, `9 h8 L- ?' Z
       我手里有一块F303的Nucleo-64的开发板,上面有个LED,借助这块开发板,先来体验下STM32CubeIDE的功能。. D( ~+ {' z4 h

' U3 B/ e: j4 L3 T/ I& C9 `3 ?       首先新建一个STM32工程。; G, a3 [- g) e* B

4 h: S9 q/ k0 R% D7 [. d
K1J36Y%U289OBG59[J$X2UB.png

3 c4 O2 b/ h  I- I& }; O. B( H2 ~
新建工程
5 H* [4 L6 z5 }8 g
1 r$ J. U) I5 v5 A; y
+ v2 s) k' }" ?
       这个时候软件会自动去服务器查询是否有更新数据,如果有就下载。可以等他更新完,也可以直接Cancel跳过。建议等他更新完,特别是你使用了最新的H系列或者G系列等处理器。- V; ]; T* g6 r8 f1 `7 _
! u5 i+ l0 Y# E+ Z. W  m
2B{2RT%GZ1E070EB(MIO9DG.png

: |9 c7 p+ k( U9 K6 }5 `
8 H% J2 Z* O1 x/ ?
等待更新数据

' y9 `2 D, a3 T4 k$ y) J' b/ b) j0 H$ H8 X

! Q4 M8 `% P# H1 L* c# E* Y& E       进去之后,软件会打开STM32CubeMX,没错,STM32CubeIDE集成了STM32CubeMX,搞STM32的人应该都对这个软件很熟悉,可以生成各种外设的基础代码,这里选择和开发板上的处理器一样的型号STM32F303RCT6,然后点击Next。
5 U$ j3 F6 }$ w( W/ U
& s/ p$ i+ W- p: ]( C' X6 x/ A% i" _4 w- N5 ^
UQ]7JRW9EGY({O{({G7QAQ9.png

3 b# B- i3 `4 f% p
: N9 a& A3 u9 D  N( O) B
选择处理器对应型号

9 i7 _% g  i  X/ L- H" z. g, e: F* ?' }1 j& R& X) S
8 l8 j% K5 ]* X
       然后输入工程名称,这里有三个选项,第一个是选择使用的语言。第二个是编译结果,如果你的代码想编译成静态链接库文件给别人调用,就可以选择Static Library。第三个如果选择了Empty,则啥也没有,是一个空工程。
  N; z) f1 [9 x) G9 v) i0 l" f9 `) X) O6 T: g

4 d* Q# j" L' U- v- Z/ K
, z1 O3 \3 H/ D- |% q4 V8 G
输入工程名称
( X% r1 X" b; Y8 N( ~
" M! \% f. j# @" O+ a

& j- f! `, w# {; p8 T! ~        到目前为止,ST官方提供了三种方便开发的库文件,标准库、HAL库和LL库,如果你想调整库文件的版本,就在上个页面继续点击Next进入下面这个页面,如果不需要,上个页面直接Finish结束即可。
1 p. _( |1 U6 D6 h6 {% V0 g
$ Z3 k$ o# V, N4 S
5@(}W94W%EG60(`LUW)0LO6.png
) W2 t& j0 f1 u# ?
7 Q; o& C8 q: [) p9 I& W
选择库文件版本

5 }' t) j- x+ P2 e( u0 T0 I3 o

" u# m3 `" \7 A4 n! r0 r       然后软件会默认打开STM32CubeMX配置界面。- P* j. W& @* G4 \/ T+ m

2 M: A3 ?8 q6 }. Y8 \
{13C5{1IED_%R1Y}MSKBCDO.png
3 I* U  B. g5 C& N2 A4 z3 H8 B, P
0 x6 c$ O  {) }3 U+ \/ [! F
首次进入工程后的页面
  q: {4 D& j% K/ \, X/ b; B
5 R- C8 g- j7 J. L. W
" ^0 ~9 V" M/ D7 l$ [8 i" {
       这里进行一些必要的配置,配置调试端口为SWD、打开外部无源晶振端口,将控制LED的PB13配置为推挽输出。# h" F+ P/ D) T- ]% e9 q9 j) C2 r1 U
) M" U& z& s" b. i7 l
J{DL00E7R514Y@09{8KCMME.png
0 f# y- M5 v$ H5 H
9 P. t! @- {) s5 Z( i
配置引脚

0 a  F2 I7 O. u2 M* q0 k4 U0 ?* K& U" }1 T) U0 u, M# S5 L3 s
- u0 X9 m' E% U7 \) w  F! k2 I5 I* Y
       通过上方的Clock Configuration切换到时钟树页面,将时钟源配置为外部时钟源,并设置时钟频率为最大72Mhz。
) |7 Y/ t, C& e! @% J8 [+ ?6 X+ s6 h" ]: k! F5 v7 `0 `
(JC2DBG`FD4N`40ERCAW(~1.png
% x! r: [- s' i# Z4 q6 d

4 T) X5 P8 B" q, q- x/ }; e# F3 s
配置时钟树

4 k" s! P9 ^/ d2 F) j0 m
+ r- V, P4 }7 R* ^! }7 W; S3 y4 u* f' f+ G# j# h
       点击软件上方的这个按钮生成代码。
# b3 V8 h/ k' ^' G8 p" E& k9 S0 @5 d9 s
D]C8(3JE%EXN$E7@)FSL@IL.png
& h9 ^" ^4 s  O

- a' i* n( `1 Z# e4 t" F) O% m1 \
生成代码
2 u, v1 W, V( [' Q! l6 f4 m" W

6 {. U6 p" `' Q+ m, M4 ?5 p9 S  W* H1 ?; i$ U5 G$ E8 ?+ t
       生成完成后软件会自动打开main.c文件,在while里写入测试程序,让PB13端口每500ms翻转一次,实现LED每500ms翻转一次。(其实这里的延迟了501ms)0 \3 B2 U6 f9 K/ v+ j6 f/ J! w3 e
0 t$ o: Y6 g  a, w
TO$~DBVWODQJ$${5F2NN_XF.png

, u6 \  ^3 n0 m
( u5 q& R0 c3 W4 Q, \4 ~- Z
写入测试代码

# X5 W- E6 l! Y
6 V$ Q0 @; i) P* [  W, }' A/ E! B; g; z1 N5 d. h8 I
       点击下图红框所示的编译按钮。
5 j8 _5 M# }) G) c; B- L; j6 G+ u  w( R. o4 T
IT(2BAEJNV$QJYN@7T88S4C.png

) M' E* A! ]5 G  {- S- ^1 H' o4 v: Z( h+ [' q4 j9 Q0 F0 _. ^7 h
开始编译

5 u) D' R9 d7 E, h4 t& ^  O1 s, m
% Z' b# O  q6 I2 ]7 B9 ]* x1 @: g) i
       软件下方的Console窗口会输出实时编译进度。
# d. @! d5 t- K! U$ l$ }9 w: n9 s5 w* z% ~
HX0]}`SZZB]XDWHXNYQ3)JM.png
0 y, o& k  M% s6 H6 A

. Y0 s6 Y0 o( t  W6 G  P" K
编译结果

& W2 `0 T$ L: l# q$ \8 \; e
) u# a1 z# f7 R+ d
4 Z' z! U) ~" w+ P7 d       点击上方的烧录按钮,将程序下载到板子上。' D1 M' p; {% S  X7 Z" x
: F% {, S  T% C
SZEBK6NN1IV@B$XVFN33@NH.png

2 L2 `7 L2 ?9 T, t% P( C! V/ X3 f! B' |, s3 x/ b8 t
烧录程序
# q# ?) q3 ~9 ?- U' Y! k8 n( W- I: [
. E( f# v( S$ ?% O1 a; F8 m. b
* b) X* H7 E1 h& S& H
       第一次使用时,会打开下图所示界面,保持默认即可,我一般会切换到调试器页面,将下图红框中的Type修改为Software system reset。一般调试器和板子只接SWDIO、SWCLK、GND这三根线,如果你接了别的如NRST等其他的线,可以选择对应的方式。这个功能类似于Keil的Debug->settings->Connect & Reset Options。
% m- j1 U0 F* W. p( b
- ^1 o  ~. y  A( f2 M: x
H)A~{$Q6@B0]%$SGE1XGOVD.png
( P& Z6 ~+ g, k4 S, z" ~7 A
- P5 `, i6 I; q
配置复位方式

/ ^& n; j: j) y9 r
% D' D& Z7 t5 y
JCFI}02K7U]H8OBU(GXYQ%N.png
; j6 h0 i( P9 ]5 L% x* v
Keil中的相同功能配置界面

2 `1 U- o0 L2 ~4 c1 d  V1 D! F
" S0 ~; p. ~; u, M! i
3 C  m; x( w( M       烧录完成后软件将会提示,同时也能看到板子上的LED开始翻转。  i& r: j- D" F

0 Y- g) |! Z" S. g  n
6S8{K20Y1Y)[[H4%7{)C0X8.png

- x9 k0 j& w2 V, i% `$ Z: W8 P: J: Q# ]
烧录成功
5 D2 E$ k! p& N

5 j5 H& p6 @% n' W, J
( i+ w. F" V  x" l       如果你的ST-Link版本不是最新版本,下载过程中将会提升更新ST-Link的固件,弹出如下图所示界面。/ G+ f0 m3 f4 K& d9 E4 q
- @2 x6 f# ~$ y$ ^
{UD~0{}7W%ARV][7}RE3KPA.png
! W3 _$ g9 h" E8 P3 @& l, o  ?

# k' Q( b: H1 o# {3 g0 `5 B' Y+ [0 n
提示更新ST-Link固件版本

( @1 N) |, `( e
3 I% V4 g) S6 t9 X! l- p* C9 p3 N7 L+ b# A  {5 M; @( m
       点击Yes后会打开下面这个页面,依次点击Open in update mode,然后Upgrade即可。ST-Link除了烧录功能外,还带有串口和硬盘功能,如果不需要,也可以在这里配置。
7 z: X! ]  _: t! G2 g" `) T! x( \. g1 [4 m$ I" B" |
OWPSB2E{N}_CCZ}8)[~2OS4.png
$ \- s1 {- z* Y( H1 F' g

/ O' Y4 R( T! z$ R; g
更新ST-Link固件
5 g4 D) N) t. Q- l& N
% ]' s$ T/ W; W, }, p' D
收藏 评论0 发布时间:2022-5-19 11:06

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版