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

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

[复制链接]
STMCU小助手 发布时间:2022-5-19 11:06
      在使用STM32 ARM Cortex 32微控制器进行开发时,大部分人都会选择和谐版的Keil或者IAR来作为开发工具,平时自己玩玩倒无所谓,一但商用,搞不好某天就收到了律师函,毕竟不合法。目前主流的ARM平台编译器主要有Keil MDK的ARMCC、IAR以及开源的GCC for ARM,如果不想掏钱又不想忍受虚拟机的痛苦,GCC是唯一的选择。% a- X) B  O5 _) H" z( }

) x4 n: _5 B( P       ST在2019年收购了Atollic后,基于 Eclipse/CDT,GNU C/C++ Arm 工具链和 GDB 调试器搞了一个STM32CubeIDE集成开发工具,实际使用体验下来感觉还可以,写此文章分享给大家。
- [  J8 ], p0 l& o5 K9 |4 f) ~  p
      首先去ST的官网把最新的版本下载下来,我这里是1.8.0。选择Windows版本,在弹出框里填写邮箱,收到邮件后点击邮件里面ST发的链接就可以下载软件。  _! r8 U3 I: _. s, D. ]$ x: [4 J
9 v  N) }  i# l
     这里建议把STM32CubeProgrammer,免得后面二次通过邮箱下载。STM32CubeProgrammer用于替代ST-Link Utility,可以直接将hex文件烧录到单片机,生产时很有用。类似与Jlink的J-Flash。; ^* |! e6 q$ ?; U% [

( l6 |+ l. S+ C  S! j& m6 t: R! b1 p; `" R1 r* j8 C, y# E' D
8 X: B+ ~) N# l" `, F

3 y5 j, u. s0 O, Q  i
下载STM32CubeIDE

/ o+ r5 a! k+ o, E2 p) ?, Q, k! V" b6 A1 e( {8 f( X2 {

4 f  f$ Z/ a( W! ?% `       安装的时候软件会把Jlink驱动和ST-Link驱动给安装上,没什么特别需要注意的,一路Next就行,安装完成后重启电脑。
; F1 w5 p/ e/ I8 L; }5 Y1 c* Z4 q4 G8 ?" O' T' D
44KIIE24F]EIT~{1I}[C(H2.png

8 z8 h( i) [  L5 M: F9 ^5 w9 U& \/ w+ @/ {( V
安装STM32CubeIDE
8 C- V' x/ p3 E, z2 @

: P- r9 {, X: K& @  h  _- U1 w3 g2 l3 O' h
       点击桌面的软件图标启动,第一次启动需要设置workspace,软件的字体、一些设置都存放在workspace中,所有的工程都可以使用,可以自己定义一个文件夹来存放,并且设置为默认值,这样每次打开就不再弹出,点击Launch* ]9 A, |# Z1 t* `/ {# @
- j, i' T! r3 W3 m; Q! k; f) R6 Z6 I! F
8S6$S~{1%GLN[ZF7@FR8A5R.png
: M9 @- r2 a# e" W% @

9 A$ A# L5 q8 V7 `0 p5 F% X* U
设置workspace

# p% m* C9 a# P
LFRH3R`M9Y~UOAPD(MW_QVA.png
3 t4 m; w: _6 ^* l# L( N4 I( p8 s

% Y+ t( R/ s  E+ A8 @
首次打开软件
* i. ~" I1 m  b" q) X6 W

% \, M9 p: h$ E9 ?
& D" a1 m* g6 h# a       我手里有一块F303的Nucleo-64的开发板,上面有个LED,借助这块开发板,先来体验下STM32CubeIDE的功能。
( p8 h/ S( G; s; Y1 Q4 U
  ?0 p+ T6 k1 W4 P8 y       首先新建一个STM32工程。
3 x& S& j( D4 Q: M, b; [
0 f7 Q9 L2 _, v
K1J36Y%U289OBG59[J$X2UB.png
. ]6 a6 W8 K8 l
$ F/ c) O' C5 Q' O
新建工程
# F  J$ G3 p7 g" L

3 Z8 x( Q; m% P) t2 t9 A
( F9 q5 K) I# H; W9 _0 p  E       这个时候软件会自动去服务器查询是否有更新数据,如果有就下载。可以等他更新完,也可以直接Cancel跳过。建议等他更新完,特别是你使用了最新的H系列或者G系列等处理器。# O/ A; n2 f3 T3 M

+ E- f$ W9 M& i2 N0 v9 V, o7 y
2B{2RT%GZ1E070EB(MIO9DG.png
7 k3 R1 y2 u) Z/ c5 s9 `
8 }9 I5 w3 y8 J0 v2 v+ `
等待更新数据
2 |  \. @* m1 d. X- {( b3 D
+ I% h+ }7 w; I- K/ S+ {" c  E
: ^4 P7 I! W, w6 p& K6 E# W
       进去之后,软件会打开STM32CubeMX,没错,STM32CubeIDE集成了STM32CubeMX,搞STM32的人应该都对这个软件很熟悉,可以生成各种外设的基础代码,这里选择和开发板上的处理器一样的型号STM32F303RCT6,然后点击Next。
7 v3 }1 H) @) F1 y& @1 M
; s( l9 o3 p# ?- }8 R$ w4 O* y
! ]+ ~9 ?2 q( V
UQ]7JRW9EGY({O{({G7QAQ9.png
& f, N+ N! d; G9 I6 l( j
' M) A# x1 Y7 K! B* P0 r  N
选择处理器对应型号

; m. I' q, _, E  u8 s1 ~9 ]: Q3 b! H# z4 Z( I* V4 ?

+ f& l: |3 K7 s8 ]  ~       然后输入工程名称,这里有三个选项,第一个是选择使用的语言。第二个是编译结果,如果你的代码想编译成静态链接库文件给别人调用,就可以选择Static Library。第三个如果选择了Empty,则啥也没有,是一个空工程。+ ?. j: n, R, `/ B

6 Q' b# d) H3 Z  {# U4 k1 n
2 P2 L! r: S1 \" _1 g, b

8 S1 g" }7 c: S% U7 ^& e
输入工程名称

# C3 i, @6 k; t' T
$ {! ^3 v1 ]) w$ A& S" U! X6 K9 J9 I2 f- X% B! p
        到目前为止,ST官方提供了三种方便开发的库文件,标准库、HAL库和LL库,如果你想调整库文件的版本,就在上个页面继续点击Next进入下面这个页面,如果不需要,上个页面直接Finish结束即可。+ k( H; D0 f0 j! Z) J. A- h

, c1 ]% v3 n8 Q  `( ]5 q+ n, g
5@(}W94W%EG60(`LUW)0LO6.png

+ g" k8 X; U  n1 O+ A& P/ @: C: Y3 J2 Y
选择库文件版本
9 J* H! i5 V' d# X

/ J, G) }  M# ^+ Z8 z$ ?& J6 J* g6 f- w8 o
       然后软件会默认打开STM32CubeMX配置界面。
2 B) [& t& t  W$ Z- O4 |; g( T0 }% Y9 m( Q
{13C5{1IED_%R1Y}MSKBCDO.png

2 i  _. L9 \! R
$ D2 W% H, c# ~
首次进入工程后的页面

8 |6 k3 U" A( z" ]  R& ]* @# g# a( W; I9 n
& y6 b! _1 S2 ]- M# [" J1 s
       这里进行一些必要的配置,配置调试端口为SWD、打开外部无源晶振端口,将控制LED的PB13配置为推挽输出。
2 \, B. p6 I7 ]$ ?; N
  E3 _" ?3 l. R9 n- x. A, S6 P2 `/ J
J{DL00E7R514Y@09{8KCMME.png

) }* n" S1 T* ^  \0 \* q3 b0 S  x9 B) S+ ^6 K% ^. {# e5 h, P
配置引脚
/ p! M' n8 H' W* Q. s5 r# X7 v
2 N1 N# S# W# _- }9 Q; A
6 m/ b" h" Q: [3 T9 m# [* u
       通过上方的Clock Configuration切换到时钟树页面,将时钟源配置为外部时钟源,并设置时钟频率为最大72Mhz。% z; V7 \* B& E% s& }
8 `* ?' J1 X4 Q5 ?
(JC2DBG`FD4N`40ERCAW(~1.png

6 ^2 E1 ?+ h5 _0 Z* ^
8 ^% F0 `! I% l
配置时钟树

" U, t+ S9 ~( ]9 S& V9 M( c4 G: T2 L6 Y) g6 ^

6 z8 `& F! c& U: H2 {       点击软件上方的这个按钮生成代码。: G0 V4 X* _( o4 W7 B& `7 v
0 S, ]+ l# B9 Q( q
D]C8(3JE%EXN$E7@)FSL@IL.png
: q' x( H& ^8 ?4 t! I

% Z0 n. S" d) R  F9 ]
生成代码
7 H/ d5 |( h5 g/ M" Z
  f' Q2 |5 P2 v! W. S* d+ _

. m% S6 c9 y: L/ _. d       生成完成后软件会自动打开main.c文件,在while里写入测试程序,让PB13端口每500ms翻转一次,实现LED每500ms翻转一次。(其实这里的延迟了501ms). ^/ V- P8 C5 f5 r3 @8 B3 Z9 }& |8 ]

1 y4 M7 p2 W* I( [/ Y6 o
TO$~DBVWODQJ$${5F2NN_XF.png
  m" J  N/ c* g4 C0 x! Y

. g& |; E$ l+ S: l
写入测试代码
5 M, u: Q0 I' y. o: ?3 e+ c' b- h3 K  E
* p- {% J3 F/ \# ~: x  Y4 z

8 z" c5 ^% w8 p& K& |" y       点击下图红框所示的编译按钮。7 O, C, Z% s" }! n

5 Y: r1 V& @7 |5 j$ h' c
IT(2BAEJNV$QJYN@7T88S4C.png
4 d& b8 G# W: M0 Q3 d' I
2 `5 a: }2 L8 j, }
开始编译

$ P, h8 z# o: V, y  I0 }- B
7 u% l- h- j) W, i& b
2 E8 J/ Q2 g3 L' }       软件下方的Console窗口会输出实时编译进度。
$ t4 }8 ~- `' v* l$ k. j5 t0 A8 Z0 |. e
HX0]}`SZZB]XDWHXNYQ3)JM.png

% X3 L4 J- P. {  t: ~
/ }6 q  k; z% V6 b; a4 d) R
编译结果

/ A9 }4 Y! I$ A  G
. Z7 C% L7 V6 `; c* h2 `
# j1 r  t* f4 Y6 ^; A9 H* O       点击上方的烧录按钮,将程序下载到板子上。
) A; D9 m, F  c6 W0 c. N! e3 c. i2 X) z3 ?2 {
SZEBK6NN1IV@B$XVFN33@NH.png

. E+ Z' O0 o2 l# L) g; T  A" t2 T6 E4 b7 ^1 v2 [& i3 c5 l
烧录程序
  s) s, e; L; v

9 r. e! {. t. P% @1 k! H8 M( x1 T. U& G: E3 R
       第一次使用时,会打开下图所示界面,保持默认即可,我一般会切换到调试器页面,将下图红框中的Type修改为Software system reset。一般调试器和板子只接SWDIO、SWCLK、GND这三根线,如果你接了别的如NRST等其他的线,可以选择对应的方式。这个功能类似于Keil的Debug->settings->Connect & Reset Options。3 K1 I1 H0 d% _, J1 b7 \

/ B! a, P6 c, k% t2 ^% f. o8 m
H)A~{$Q6@B0]%$SGE1XGOVD.png
. E4 m! W/ E* H& b
( z  ?& w: J$ N( x' ~  p& g% A9 J8 |
配置复位方式

/ E0 g& E; {/ U; T; E- w
# Q" R& y- `  b, i
JCFI}02K7U]H8OBU(GXYQ%N.png

! A7 W: ?  U" J3 i# K' ]
Keil中的相同功能配置界面

# ?$ O& T7 j- V4 V# A' ~% A8 [* ?" x6 w

# g- F9 v) j0 M  i; J6 R! i       烧录完成后软件将会提示,同时也能看到板子上的LED开始翻转。
; h' _+ v9 M) e. l- t" v6 A% A
+ X. D& c9 F% a1 C+ Q0 \5 K" ^
6S8{K20Y1Y)[[H4%7{)C0X8.png
2 O4 i; m( L9 O& n$ I- g( q0 w! t
% f) O0 F& e2 L
烧录成功

3 h) r6 d7 D4 \2 e  n' A& R2 M
5 K$ e; `) y, H* K1 U$ g7 r3 t* Y( ~* z0 @$ u: V9 h
       如果你的ST-Link版本不是最新版本,下载过程中将会提升更新ST-Link的固件,弹出如下图所示界面。
' ~* l( V$ J$ i: o$ n- V5 e9 P7 X; t0 ]
{UD~0{}7W%ARV][7}RE3KPA.png
1 j: i! z( h7 @/ P( R7 o/ c1 t  J* v

7 Y" U, d" H9 W& ^2 k" K3 d
提示更新ST-Link固件版本
# Y0 y, @- o  y7 S5 R- E' U
- A8 P9 b6 ^( h. a# p) L/ S8 Y6 `
, [0 j& X6 M. g) p; I* B4 F: ^7 c
       点击Yes后会打开下面这个页面,依次点击Open in update mode,然后Upgrade即可。ST-Link除了烧录功能外,还带有串口和硬盘功能,如果不需要,也可以在这里配置。6 k$ R1 h" x+ v9 O2 ]7 G7 V

3 R. L1 @) L0 H, Y* g
OWPSB2E{N}_CCZ}8)[~2OS4.png
0 p, U# ?4 ~' A
* U, h" P( s+ r
更新ST-Link固件
) Y$ C- f+ V- n. @6 Q
5 I* v3 ]3 i+ d0 v2 D2 D, j+ r
收藏 评论0 发布时间:2022-5-19 11:06

举报

0个回答

所属标签

相似分享

官网相关资源

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