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

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

[复制链接]
STMCU小助手 发布时间:2022-5-19 11:06
      在使用STM32 ARM Cortex 32微控制器进行开发时,大部分人都会选择和谐版的Keil或者IAR来作为开发工具,平时自己玩玩倒无所谓,一但商用,搞不好某天就收到了律师函,毕竟不合法。目前主流的ARM平台编译器主要有Keil MDK的ARMCC、IAR以及开源的GCC for ARM,如果不想掏钱又不想忍受虚拟机的痛苦,GCC是唯一的选择。2 f: i1 a6 z8 `  L5 q
! }9 ^) d6 ^9 d$ Y( p$ `
       ST在2019年收购了Atollic后,基于 Eclipse/CDT,GNU C/C++ Arm 工具链和 GDB 调试器搞了一个STM32CubeIDE集成开发工具,实际使用体验下来感觉还可以,写此文章分享给大家。) ~/ ^' n0 }2 N# H4 z4 s
- ~1 ?( a) q2 w* ~$ S1 g; M
      首先去ST的官网把最新的版本下载下来,我这里是1.8.0。选择Windows版本,在弹出框里填写邮箱,收到邮件后点击邮件里面ST发的链接就可以下载软件。
4 t8 m' j2 Y+ x! r2 j, @* N( N- m
% A+ n  _) Y: }% C1 L     这里建议把STM32CubeProgrammer,免得后面二次通过邮箱下载。STM32CubeProgrammer用于替代ST-Link Utility,可以直接将hex文件烧录到单片机,生产时很有用。类似与Jlink的J-Flash。
  C+ |$ K5 T- v8 l. b+ C( r# e5 B! x! D5 B1 ]

4 Y+ L* e# o7 l8 H; W0 f* P

( W5 A, Q/ G  K8 U0 P* O  s% k' x
) L$ K4 R% R- f  S2 |5 `/ i) s
下载STM32CubeIDE

  p  m0 z) v! q. J$ I
% N( d* v% b1 i1 n5 q, R" i7 J0 [5 k+ U$ O
       安装的时候软件会把Jlink驱动和ST-Link驱动给安装上,没什么特别需要注意的,一路Next就行,安装完成后重启电脑。
1 }: {; b7 A+ ^. V7 Y, h7 t, f' O/ |; t9 Q. {' x# V( |! Q( G% _
44KIIE24F]EIT~{1I}[C(H2.png

  ^2 p# w: C7 M. l+ q) `2 o. m, G+ q3 W& ?3 I5 l1 K: T
安装STM32CubeIDE
- S$ p4 w, a' r4 Y# F9 c

7 F5 f# `7 T) b. Z* @3 V; m# [1 L: k$ b
* N7 g5 U" V* o# ?7 Z1 K       点击桌面的软件图标启动,第一次启动需要设置workspace,软件的字体、一些设置都存放在workspace中,所有的工程都可以使用,可以自己定义一个文件夹来存放,并且设置为默认值,这样每次打开就不再弹出,点击Launch7 j& P( E! O1 h6 W4 c- A% e
  ~4 I! n, C- d* f
8S6$S~{1%GLN[ZF7@FR8A5R.png

% u& O; H  `+ l
0 _' \0 z8 s) Q0 ^; A2 G
设置workspace
4 U$ E1 C7 Q% `$ _4 |5 ^" J+ r. Z
LFRH3R`M9Y~UOAPD(MW_QVA.png
4 U# H4 @. ?/ N9 X- d% U
: p" Q. _* M/ h6 C
首次打开软件

8 Q! ^8 l# Z  P- Q5 s4 H+ P0 q5 a" O: R# ]# t/ ]

6 V5 Z2 }9 p0 `       我手里有一块F303的Nucleo-64的开发板,上面有个LED,借助这块开发板,先来体验下STM32CubeIDE的功能。, o* w+ o" v4 _0 u1 z

0 j' D% f# v% U2 |  R7 m- o9 k9 t       首先新建一个STM32工程。7 c: F, z$ e7 b
: G/ I3 n) |) ?/ b. L
K1J36Y%U289OBG59[J$X2UB.png
9 P' q8 G$ P  ~* |0 [2 W3 O

2 X1 o' w$ @: M' e6 ^
新建工程

! M- ?4 D5 o1 }( w* U0 s, J4 L$ A/ t! z% p! @' x
+ x- R' m# H; f& J
       这个时候软件会自动去服务器查询是否有更新数据,如果有就下载。可以等他更新完,也可以直接Cancel跳过。建议等他更新完,特别是你使用了最新的H系列或者G系列等处理器。9 |( ^5 L. M+ t
0 q1 H1 @4 v* }2 U/ ]% t4 a: }
2B{2RT%GZ1E070EB(MIO9DG.png

. h, s# q& ]) ]5 R4 W  J
* ]" t2 B! }$ {& M
等待更新数据

( L# R% ]8 |6 c6 U/ Q2 T! C4 i) K8 _
) w1 i/ s% Z0 B5 K
       进去之后,软件会打开STM32CubeMX,没错,STM32CubeIDE集成了STM32CubeMX,搞STM32的人应该都对这个软件很熟悉,可以生成各种外设的基础代码,这里选择和开发板上的处理器一样的型号STM32F303RCT6,然后点击Next。
5 V4 M5 P8 Z. a! d  |
% S& h9 Y& r' H5 H4 B1 g$ s8 }4 K9 z, p; @
UQ]7JRW9EGY({O{({G7QAQ9.png

  e# m# `1 x2 R0 n* t$ O- W* [* `1 Q# N" |/ {  P
选择处理器对应型号

1 J: B0 e+ j- O! H3 q! I9 N! h; H' \- o$ K+ d5 H, @
6 ^. z+ t3 j0 f* Z5 j4 j- e6 r
       然后输入工程名称,这里有三个选项,第一个是选择使用的语言。第二个是编译结果,如果你的代码想编译成静态链接库文件给别人调用,就可以选择Static Library。第三个如果选择了Empty,则啥也没有,是一个空工程。
0 ?' S' Y# x+ Q: O$ H6 w! P" n! t( U5 K* u9 b
8 O6 [; `. `2 A# W4 K5 @

% W% X$ G8 c8 b2 F( X4 F( X8 c% ~$ Q
输入工程名称
' @- D6 {$ P8 g. b  Q$ Z

- e! N5 N3 t* ?6 i! O9 {& h
  X2 j- P4 n; }        到目前为止,ST官方提供了三种方便开发的库文件,标准库、HAL库和LL库,如果你想调整库文件的版本,就在上个页面继续点击Next进入下面这个页面,如果不需要,上个页面直接Finish结束即可。
5 b4 E8 @3 J9 t* f3 e6 {9 _0 ?7 P8 I! G. V) p
5@(}W94W%EG60(`LUW)0LO6.png

. m. j" y. ?- c0 c( J1 [9 j7 s+ w% E0 F& G
选择库文件版本

# ?( [" p8 ~2 e* p9 Q
% M3 d* ]( L3 _2 w1 D- J9 G
, e5 o( B; Y, [9 K# N       然后软件会默认打开STM32CubeMX配置界面。
+ Z2 g7 I) z" p, d; o' W' k: [; ]8 x; C
{13C5{1IED_%R1Y}MSKBCDO.png
% N6 L4 O  a: l' n4 z: R0 b+ ?6 s
3 J& F' Y0 K5 `  O
首次进入工程后的页面

) A, e; r' i" v+ a8 {4 P' q
! R- ~0 |# h* @! L* F8 H. ^9 |- i0 F2 N% X7 s
       这里进行一些必要的配置,配置调试端口为SWD、打开外部无源晶振端口,将控制LED的PB13配置为推挽输出。
% H0 X2 _: r- b1 }" j
! }6 o# u- m# K2 D' T. P3 _
J{DL00E7R514Y@09{8KCMME.png
% L; A. s/ S6 r  i4 w- V
% ~; |) L( t' P$ P+ M' e4 Q
配置引脚
5 s2 C9 y' O# |( s/ Z4 Q4 f6 E
% w( w( ~- g  o, R# u* H

; p/ }! D  `( O+ I" ^4 a       通过上方的Clock Configuration切换到时钟树页面,将时钟源配置为外部时钟源,并设置时钟频率为最大72Mhz。) d9 |; u  H2 P9 t8 z% }% T
! O' U5 x1 H" E* T8 ^! K& w* ]! B
(JC2DBG`FD4N`40ERCAW(~1.png
$ n4 C* |$ }2 X
- u! s* R+ W3 i( ~, ?7 |( ?
配置时钟树

% x. N/ ^; g* e  v0 q% b4 ?+ Z! z8 ~. i

6 ?! x  f# A8 ]) k/ L       点击软件上方的这个按钮生成代码。8 H7 E5 n3 L# o4 H2 v

- u$ \9 z% O/ o7 I, q
D]C8(3JE%EXN$E7@)FSL@IL.png
5 J$ t& n; C" L; f4 L
6 K1 q# V7 P# [+ ?: w& r
生成代码

; l, \' e% p& G; j3 r$ n& ^6 a
$ h6 B/ ?- Y  t( O6 L- D( l$ n0 w6 b0 z& {8 ?
       生成完成后软件会自动打开main.c文件,在while里写入测试程序,让PB13端口每500ms翻转一次,实现LED每500ms翻转一次。(其实这里的延迟了501ms)
. u( \4 V' |8 w& ^, ~9 |2 P' B* z9 I3 l- L, u6 K  m
TO$~DBVWODQJ$${5F2NN_XF.png

5 T8 n" f  x. j  ^1 Z; l) ^, G# D0 }; E* ^4 m
写入测试代码
* m+ r3 W1 P: Q4 n

& s& m4 f& G. t& n5 g+ `+ X5 f6 {- z) B& D
       点击下图红框所示的编译按钮。9 c$ |$ K$ Q5 h% D% \

4 B1 l9 I; m2 J
IT(2BAEJNV$QJYN@7T88S4C.png

) ~. I0 ?5 L. h
" I* z! s1 S5 L% `0 M- ~9 \, o
开始编译

2 t# w: ?7 e& C1 y- r* e' }. C5 `, ^  ?9 H. J. Z0 n. j9 v1 T) w, u% ?# h+ \

9 A, ^; ~. ]6 T# Q3 E+ u       软件下方的Console窗口会输出实时编译进度。
0 ]0 c2 `- ]5 p( c* h) Z8 i0 L
1 o: Y& S! y8 Z4 G9 [( ^" j) [
HX0]}`SZZB]XDWHXNYQ3)JM.png

0 c6 b. ^, ]$ u6 Q( c2 ]
3 C7 Z' H+ S8 I  M$ \4 B) m
编译结果
7 H! U9 q5 @0 D0 s+ G
! W# S+ U) g. v; c' G- M& m6 d( F
0 Z7 W' o: M% K/ i8 ?- j1 u
       点击上方的烧录按钮,将程序下载到板子上。
. b- a3 M; s- E( V& ?  ]
7 c0 Z0 w" c4 x. M
SZEBK6NN1IV@B$XVFN33@NH.png
% d; z2 n3 j( E0 d: X& u
0 @5 }6 N  K  ^& E4 Q
烧录程序
9 G" q: E3 U4 i# x
2 m  b" l$ \1 l4 U* ?
, j( H, g: t7 J" Z% ^& g/ ^
       第一次使用时,会打开下图所示界面,保持默认即可,我一般会切换到调试器页面,将下图红框中的Type修改为Software system reset。一般调试器和板子只接SWDIO、SWCLK、GND这三根线,如果你接了别的如NRST等其他的线,可以选择对应的方式。这个功能类似于Keil的Debug->settings->Connect & Reset Options。- t  D( X( E4 m2 H8 l  c  `: ~
  K* A+ R' `# }2 a
H)A~{$Q6@B0]%$SGE1XGOVD.png

$ m0 @/ z+ ]. y/ s3 k
" O& ]. u+ B# O! J
配置复位方式

5 A9 s; b0 [4 ?+ t: Y/ A3 f9 _9 ?. t2 |2 b' V& P# m+ O
JCFI}02K7U]H8OBU(GXYQ%N.png

1 {2 r0 Z9 s' Z* Y7 E: c7 X3 {
Keil中的相同功能配置界面
1 K: ]  [2 h  f( f. Q4 K7 Z0 q6 m

8 m8 y7 @+ I  c5 o0 N1 Z( c. t$ z/ r1 c' d1 {- w
       烧录完成后软件将会提示,同时也能看到板子上的LED开始翻转。$ S3 W2 K3 s/ r7 _" a; \

* m/ C8 O( x+ a6 u6 i8 Y0 A1 G
6S8{K20Y1Y)[[H4%7{)C0X8.png
7 i6 D* C) |1 h" G3 F

1 m+ x4 A. E  ~
烧录成功

; C/ _3 f/ ]- [. m  S. z$ @- C

- M/ U( a$ l; E& `5 K" y  |( O       如果你的ST-Link版本不是最新版本,下载过程中将会提升更新ST-Link的固件,弹出如下图所示界面。
/ z  f6 T; U! b4 t, C7 G
* Z: d2 \8 ^5 @) r) e3 b; x
{UD~0{}7W%ARV][7}RE3KPA.png
: S1 l6 c' Z; g& `$ N0 K
# m# ~& w9 h6 M$ b
提示更新ST-Link固件版本
2 P! t. K' {8 @( y4 A
- v* n4 @6 U3 c% @6 a- ^: ?3 @

! R( ]( n; b% k! s  N% Q4 \       点击Yes后会打开下面这个页面,依次点击Open in update mode,然后Upgrade即可。ST-Link除了烧录功能外,还带有串口和硬盘功能,如果不需要,也可以在这里配置。
8 k' r5 y% K& P1 V1 w
  p! H# R# I% A* M6 b) p
OWPSB2E{N}_CCZ}8)[~2OS4.png
9 _9 n) W2 ]( c) X: ~. Q2 `

2 d4 v# H7 T) V8 z6 ?7 j
更新ST-Link固件

3 O( ], {- ~4 w, ^; E; o8 O4 B
( s7 J6 x9 }- a+ J. \
收藏 评论0 发布时间:2022-5-19 11:06

举报

0个回答

所属标签

相似分享

官网相关资源

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