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

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

[复制链接]
STMCU小助手 发布时间:2022-8-28 22:18
  在使用STM32 ARM Cortex 32微控制器进行开发时,大部分人都会选择和谐版的Keil或者IAR来作为开发工具,平时自己玩玩倒无所谓,一但商用,搞不好某天就收到了律师函,毕竟不合法。目前主流的ARM平台编译器主要有Keil MDK的ARMCC、IAR以及开源的GCC for ARM,如果不想掏钱又不想忍受虚拟机的痛苦,GCC是唯一的选择。* P2 y1 P8 P0 K. M6 Z; f% W7 S$ p

9 B: U& k2 K6 x6 L; S9 @1 a* d       ST在2019年收购了Atollic后,基于 Eclipse/CDT,GNU C/C++ Arm 工具链和 GDB 调试器搞了一个STM32CubeIDE集成开发工具,实际使用体验下来感觉还可以,写此文章分享给大家。
! [# H9 ?/ G$ f) s: y
% u/ w/ a& @+ V' _  K      首先去ST的官网把最新的版本下载下来,我这里是1.8.0。选择Windows版本,在弹出框里填写邮箱,收到邮件后点击邮件里面ST发的链接就可以下载软件。# v' |# k1 T2 V

' d' J* F- ^: H' ~, _% Y3 P: b; W     这里建议把STM32CubeProgrammer,免得后面二次通过邮箱下载。STM32CubeProgrammer用于替代ST-Link Utility,可以直接将hex文件烧录到单片机,生产时很有用。类似与Jlink的J-Flash。% e9 C% E  Q, `% e+ k) I& t
1P}9APW8XWKDQAC(B]86AGF.png
) |) z/ z$ c+ }3 k8 E# L1 w5 W

# b2 z! G. B- R  ^: p8 b
下载STM32CubeIDE

& N1 e: A* x% |4 G) {! J2 a' p
1 c& o( |3 d, [, X: `' w6 J8 Q3 T7 s2 J: `
       安装的时候软件会把Jlink驱动和ST-Link驱动给安装上,没什么特别需要注意的,一路Next就行,安装完成后重启电脑。6 a* g3 V3 J: q: `" M' U" S

4 D7 N8 D( B3 Q
`UOMD)5D3J$NN%X[7T7@A.png
# i, G% U- [# r" L* O/ Q% s

3 f& \3 k% Z, V, X" S! n, \
安装STM32CubeIDE

: f  G; j- B4 L% D$ B! q0 q3 r$ W* {0 x$ g3 V

# o: R, L( n7 p; B, q" C& c( k! M       点击桌面的软件图标启动,第一次启动需要设置workspace,软件的字体、一些设置都存放在workspace中,所有的工程都可以使用,可以自己定义一个文件夹来存放,并且设置为默认值,这样每次打开就不再弹出,点击Launch- x9 S' J( Q: A, N
: ]) }  l% f4 w2 f8 e6 X0 q2 r
%6M`CD1N)_{4UNXIC}]C2JC.png
& F. H1 s2 K( G8 L0 ?

  `" r6 {. ?9 H, }: f3 E' {
设置workspace
, P5 V* A' u* h7 q1 ]! {3 |& a

& e1 `6 _  Q! d' y" Z$ X4 s, O& G$ O) [4 W
Y~}WX(E@`EA]M((701VV]7W.png

3 s( v+ e$ y2 S  l9 ?' ?4 n5 j4 x3 m- A" W/ j: C) {! m
首次打开软件

( a1 e4 O2 R) W% y% ?* u1 r( s1 F) Y6 c- E8 R3 j& w/ y
; A% K4 ?* B6 v# f, \
       我手里有一块F303的Nucleo-64的开发板,上面有个LED,借助这块开发板,先来体验下STM32CubeIDE的功能。6 w4 w2 Y4 A0 d6 k5 K8 _8 ?' _
7 |+ w' ]8 M# v9 w. d) t
       首先新建一个STM32工程。
! R: l7 k- E# N" b  A, @: b( [8 U& V+ B/ b' ]2 z
M@J5T}U~B]L4}{ZP(QT2J.png

" m1 s6 W/ Z( V6 W
; c5 x' ]8 r* P
新建工程

* @6 J! O+ G+ K1 ?5 c* {8 b5 B
+ B, z" D" _$ ~; c( O. o- R! w" @. t+ x# R4 J( P; p& l0 e. L
       这个时候软件会自动去服务器查询是否有更新数据,如果有就下载。可以等他更新完,也可以直接Cancel跳过。建议等他更新完,特别是你使用了最新的H系列或者G系列等处理器。
" o: ]+ d% v6 \2 U7 R4 r' W5 }( b8 j% w: z4 y# R. c, t
HV29IYY_G7_D1)C8WUSNMWP.png

( e4 [; D+ ~2 H' H. k8 ^. [. v9 C* n
+ p# R1 ~: l3 `/ E: k
等待更新数据

* X, n) a. T8 a; Z$ F# X; l& v" C, w' x  z( K
0 P) [0 P, c0 ]* @, K
       进去之后,软件会打开STM32CubeMX,没错,STM32CubeIDE集成了STM32CubeMX,搞STM32的人应该都对这个软件很熟悉,可以生成各种外设的基础代码,这里选择和开发板上的处理器一样的型号STM32F303RCT6,然后点击Next。
& S6 @9 |, u* V
* N" i. I4 m/ m1 h2 G
(R{SH_CG60{MPDR0[Z40.png
" Z8 o! r+ I/ H, S1 E

: c- [1 f7 S) e* A& V
选择处理器对应型号
5 w* S$ F4 S( U  k

' s  e3 r: O& {6 k5 t" r4 E' j/ @+ @
       然后输入工程名称,这里有三个选项,第一个是选择使用的语言。第二个是编译结果,如果你的代码想编译成静态链接库文件给别人调用,就可以选择Static Library。第三个如果选择了Empty,则啥也没有,是一个空工程。
( p$ X. q) Y: d# [
1 C2 C$ O0 t$ l, o
EX%@YKZN`_4%N(76L$@Q{K7.png
2 i. J  s7 e2 \& e7 l

  W! a: k( b( n% L" [+ l2 R
输入工程名称
5 z3 [6 u$ W! T

9 ?5 f, ?5 P4 |" o4 Q. e  G1 o( Q2 D, Y8 l. y
        到目前为止,ST官方提供了三种方便开发的库文件,标准库、HAL库和LL库,如果你想调整库文件的版本,就在上个页面继续点击Next进入下面这个页面,如果不需要,上个页面直接Finish结束即可。
2 ^$ a5 u( m( l7 t. `  x5 G: s' f% X5 I) P$ E$ G

, y' ~, x7 }: B6 u. ~7 X: u! h
0 B  y* }- u6 L, j* E
选择库文件版本

# l% ]- w- J8 }# Q+ X# J, F. Y  G& S7 a( ~) O+ ?1 f6 g! y
) D; R: ^" T# K! Y% V. g% B% \
       然后软件会默认打开STM32CubeMX配置界面。8 ?* U5 G6 `2 L3 c" i+ }
" S6 m" {4 g3 y6 {# o. Y
GO@9H{B(4_]C%IAE[VZ5MTQ.png

& H+ C/ p( z3 B. Y4 l* g4 u
& {* o& I: M* p) m. F: S* E
首次进入工程后的页面

2 I: T- I- h5 p) y8 E
+ H4 ~, ]' x' X! Z& ]' e. c
  l3 t8 a$ f  j6 n       这里进行一些必要的配置,配置调试端口为SWD、打开外部无源晶振端口,将控制LED的PB13配置为推挽输出。* R8 H3 C6 k8 ]) E+ B, E/ F

. |+ s5 q5 I7 Q% y& L1 P
WTIFHRQJN]EOSZHL3]AFDRY.png

2 ~# m! K2 _2 [' Q2 b9 U
0 d3 V3 S# o8 e' T/ g
配置引脚

( p, {" [$ ~+ b9 ~4 ?
) g0 {, f% a  {# S8 d4 K- H; O9 w# p; t2 Q9 s7 g
       通过上方的Clock Configuration切换到时钟树页面,将时钟源配置为外部时钟源,并设置时钟频率为最大72Mhz。& o  X$ r; s' q) H$ X& K

6 [" f8 V) K. t) J7 d0 N( i( U$ \

" b8 B) o+ Y+ X: G/ \3 N0 Z
0 E1 c, X  J4 Q- V% j' q& P
配置时钟树

. f, r3 b# K1 S$ J3 }/ j# _: r( M. r( ]
       点击软件上方的这个按钮生成代码。5 S$ ?3 r) p9 f
" h. `$ c* i1 P# Q% k
_B3LZF`_})%C}_}RH7SM4SH.png
/ ?( u* y5 ]: l4 E* n

, I0 \! a% `7 u  O% O+ U, J7 [
生成代码

' Q+ S3 W5 w; e- z4 h: u
0 V6 j8 d4 d" u
. @4 O' Z& r1 A       生成完成后软件会自动打开main.c文件,在while里写入测试程序,让PB13端口每500ms翻转一次,实现LED每500ms翻转一次。(其实这里的延迟了501ms)
( [# h) M; ~, b' h1 N
" E, Q4 o( ?3 R2 h
]DD1T{%K[3CY5~A_$P6L.png

0 @& h! C) {) W$ k3 U+ T8 d
$ f6 U0 |& K' X' v
写入测试代码

; x  i0 J& w3 o4 l
, R/ q  P# E& @8 q5 u3 W' P* X' S1 c3 d: g* Z+ i+ h
       点击下图红框所示的编译按钮。
! Z  u+ b6 z! [7 @1 M4 i, @' V8 I& h. n7 V' r( m" T8 L5 H
KC])I~XKT5LZJ6FU8Y[S3.png
+ j; S4 Y4 G6 H+ C8 V( |' |
: P4 A$ v: J: p" b# S5 m! m* I; _
开始编译

" a( {1 B) q+ r5 P( A. k0 s4 W5 Z& A7 [9 `5 y- h0 U  r# K

% S" x. ~5 T$ T/ W/ }3 F0 R       软件下方的Console窗口会输出实时编译进度。; d" z3 l& [: W. _  M8 h
) T9 z7 g( B' {: e
2ERI_7HL@~L7P9MLVAL~}~N.png

* f% m* _' V& Z- T; x, Q" }1 Q' T2 r+ D" p
编译结果
' d, J' i# e) D0 n' [# b3 m8 o9 b
2 N2 y# P5 l& x5 q3 C' U

# _# X) a  A8 p) [3 e! D% E       点击上方的烧录按钮,将程序下载到板子上。
/ I, t4 J7 E9 T; P. `, {" j
) W/ ~" T+ `# H8 p5 @
@FV]8EHDCM[V3%0YUEBE0.png
7 @" |0 Q" q  n; e' D2 X
- ^* |, ^) P: R+ L" u2 ^9 t
烧录程序
, \$ f& T7 v7 l4 l1 |
; g" A2 E9 e, {1 a

1 Y5 I6 g+ t! r0 H- S, c       第一次使用时,会打开下图所示界面,保持默认即可,我一般会切换到调试器页面,将下图红框中的Type修改为Software system reset。一般调试器和板子只接SWDIO、SWCLK、GND这三根线,如果你接了别的如NRST等其他的线,可以选择对应的方式。这个功能类似于Keil的Debug->settings->Connect & Reset Options。
8 e1 v  W. X. b# q( T% K% a5 e3 z  C# Q$ ^) r  C. T
Z4B2HAR6S9%E~IP3O~{MK2N.png
. i! a& u5 X* j9 U; L) e7 j
# M+ S* w; q1 F; V" Q  P4 P- d
配置复位方式

8 p+ F# E0 p# s9 `( a% u( ^2 K; l4 J$ a7 H, U; K6 b

5 }5 Q5 N4 G) m6 \9 l, J. `1 }
JI74J{7W~6)A{WMB2S92[3A.png
1 ~5 d4 }, d& j1 n2 N. R& Z  \
% Y% {7 S8 q# G, ^  v0 K
Keil中的相同功能配置界面
/ D5 }( ]: R# n4 {# R# _

" t; T7 T# W" V9 C; W) u. b- N
' P# e9 e  g8 z  P  e- F2 e       烧录完成后软件将会提示,同时也能看到板子上的LED开始翻转。
4 E! ~, x  H. O9 m5 y9 @
+ K/ R( T3 o( H2 e
M%@XK8ZEIV]J`N%CTMOA.png

+ S. C1 c: B6 J1 x
; ?" R" f4 j( N" n3 K& n, s
烧录成功
. R1 u/ K* v0 \1 z

& D  t3 X1 w1 B! d. S8 F  \# _# R
       如果你的ST-Link版本不是最新版本,下载过程中将会提升更新ST-Link的固件,弹出如下图所示界面。
; D! [% P) ?+ P" e3 L! R. r4 G# c: |- V& v, d  Y' k
6XR[1)4@X)JB0G0EJ09NR(3.png

( Y) w! u/ M6 h% t- Z; h
# v2 n: @( @  M  a! u4 g5 N
提示更新ST-Link固件版本
* F/ n% _% ~$ k& X
3 H' {& e( o4 i9 l4 O  F! s
" p  G( S% z( o' _; _
       点击Yes后会打开下面这个页面,依次点击Open in update mode,然后Upgrade即可。ST-Link除了烧录功能外,还带有串口和硬盘功能,如果不需要,也可以在这里配置。+ G7 [1 P$ s9 V! z! S7 l
. C4 m0 w! @& f7 X: k
3ZHRR82EHCN0RJZC94AX[W9.png

9 P6 e% N  F# e% n; r! F* X$ {
更新ST-Link固件
* i8 i" e  Z% I5 D1 N1 T

7 I$ A1 ~; u9 ^) f% m作者:bili_42806779649
. p5 Y9 _7 k$ F8 L8 R: a2 ]) t" T! \4 I

0 \! i2 p' \# P# U0 e
赞 收藏 评论0 发布时间:2022-8-28 22:18

举报

0个回答

所属标签

相似技术帖

官网相关资源

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