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

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

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

. e& i- y+ G0 j6 ]- g/ y/ q       ST在2019年收购了Atollic后,基于 Eclipse/CDT,GNU C/C++ Arm 工具链和 GDB 调试器搞了一个STM32CubeIDE集成开发工具,实际使用体验下来感觉还可以,写此文章分享给大家。
' b# B2 ~4 S9 _, f6 y7 ]
/ `* p4 `1 T' c8 k! O) a      首先去ST的官网把最新的版本下载下来,我这里是1.8.0。选择Windows版本,在弹出框里填写邮箱,收到邮件后点击邮件里面ST发的链接就可以下载软件。
! {# b* U5 j  T% e  i9 I2 O. }( u+ @2 E
     这里建议把STM32CubeProgrammer,免得后面二次通过邮箱下载。STM32CubeProgrammer用于替代ST-Link Utility,可以直接将hex文件烧录到单片机,生产时很有用。类似与Jlink的J-Flash。: m& w/ f: K, i, {2 a

7 u" J, X& L( x: Z* m7 o- E3 i4 Q
) f8 F6 y. z/ f7 q1 `8 j
- L; \* k8 D- h; b( B' {3 \6 N* @; ~
& W# x4 M# G+ c# L; w! J8 c. u* ]- U
下载STM32CubeIDE

0 w# u# c6 y# x# ~' h/ ?7 L; h2 e  `! e0 Z% N- Q" X

  y  l& B0 R/ k8 C/ y6 p       安装的时候软件会把Jlink驱动和ST-Link驱动给安装上,没什么特别需要注意的,一路Next就行,安装完成后重启电脑。6 l% I+ _0 R8 K

% h" Y: {8 P2 p: h. q& W
44KIIE24F]EIT~{1I}[C(H2.png

+ ^& y7 F: n% s# @! r9 T2 A$ n' d8 {, X) Y
安装STM32CubeIDE
' Y, V4 x+ X' q6 O! q1 V  u

# K9 P8 l$ \! \0 H. O2 W$ ~8 u( A, H, ]  a' e2 `) m* e) _0 ~
       点击桌面的软件图标启动,第一次启动需要设置workspace,软件的字体、一些设置都存放在workspace中,所有的工程都可以使用,可以自己定义一个文件夹来存放,并且设置为默认值,这样每次打开就不再弹出,点击Launch
8 x  |5 y2 U$ k& K
- z! f6 X& C! ^* T+ l
8S6$S~{1%GLN[ZF7@FR8A5R.png

7 V5 ?8 S! z& s* R$ v0 g0 W
- l6 ~3 ~" G4 K, K. w0 x
设置workspace

4 v- N- ]5 G7 V) i' E
LFRH3R`M9Y~UOAPD(MW_QVA.png

' I5 y; j$ T- B8 h# P
- d; M; f- p. K/ [) ^: S
首次打开软件

( X8 Z% r4 }2 m; }* z& e3 M
% k% A9 y# D& f8 K) a, @5 R2 O/ G6 j
, s3 |& n6 |) W8 U; u8 |8 z       我手里有一块F303的Nucleo-64的开发板,上面有个LED,借助这块开发板,先来体验下STM32CubeIDE的功能。
; q/ g9 E2 P/ V: ?& l  V) R6 I( _; G
       首先新建一个STM32工程。
6 i8 J( `: v/ h* Y# A, v2 `% o
: @& |- b8 {: T0 K0 x5 T
K1J36Y%U289OBG59[J$X2UB.png

) W1 w5 O- l( T) p: i* d8 n8 Z; d
5 a7 ?% t" c: |5 C( E
新建工程

+ x4 |: W5 K7 [) b3 o
  d$ ?/ h; T) @9 v( [' R4 J' t( v8 `( Q2 O
       这个时候软件会自动去服务器查询是否有更新数据,如果有就下载。可以等他更新完,也可以直接Cancel跳过。建议等他更新完,特别是你使用了最新的H系列或者G系列等处理器。
1 h$ Y6 ?8 s3 M) W2 b
0 r0 K8 Q# T  z% y2 n
2B{2RT%GZ1E070EB(MIO9DG.png
! ]/ {7 O3 I" \7 `6 b
5 L$ Y" A3 d! L6 A4 B% f# d
等待更新数据
7 k# A' Y& `0 u% V
' c  ~  B& p8 ]) E
& |* v+ C* N' v
       进去之后,软件会打开STM32CubeMX,没错,STM32CubeIDE集成了STM32CubeMX,搞STM32的人应该都对这个软件很熟悉,可以生成各种外设的基础代码,这里选择和开发板上的处理器一样的型号STM32F303RCT6,然后点击Next。7 Y& D  n. v1 I: o) y

' j9 y; a6 D1 ~- c) v9 e2 V4 O( g6 }  @1 m5 ^% L
UQ]7JRW9EGY({O{({G7QAQ9.png
( S$ i7 I0 [: z1 X

; K6 @0 u1 J/ |# H6 x
选择处理器对应型号
2 A! M7 B( t# }) Q  u, H- F
8 `. O: d2 P- j3 v

, @9 ]; v. [% L. l       然后输入工程名称,这里有三个选项,第一个是选择使用的语言。第二个是编译结果,如果你的代码想编译成静态链接库文件给别人调用,就可以选择Static Library。第三个如果选择了Empty,则啥也没有,是一个空工程。
4 c; P8 b5 m8 `7 W
, z6 `5 u2 h; l
& z, S! L( |, H% y; k
  H1 y1 ^; Z0 l! [6 C1 ?
输入工程名称
! M8 v0 `: W0 E" L
0 _7 P: n( J: c7 w& h
: ]; p# P% p# {- l
        到目前为止,ST官方提供了三种方便开发的库文件,标准库、HAL库和LL库,如果你想调整库文件的版本,就在上个页面继续点击Next进入下面这个页面,如果不需要,上个页面直接Finish结束即可。
4 x; e% S+ F$ e4 X% }( V% S
: z0 l* x0 O0 k. w% ?6 y
5@(}W94W%EG60(`LUW)0LO6.png

1 S5 @& i0 Y1 |0 z% G
( c8 Q- D/ Z3 \# O. Z5 ^
选择库文件版本
4 e; _4 a, H" j8 r. q6 I6 R

+ A0 N) e  O; A' f% h9 _
/ z# O+ j: F% L& O' p, H2 {       然后软件会默认打开STM32CubeMX配置界面。; r5 m+ n8 G, ^* l7 R

* `& T! q7 q$ e" p# W
{13C5{1IED_%R1Y}MSKBCDO.png

& k0 k8 B- ?  B
, B7 Q8 K4 e! m8 [
首次进入工程后的页面

- |% ]* Y8 u- q. Y8 H2 U! Y2 z# F) H& S7 X$ ^
6 O, ^5 J, Z* }0 a7 i' ?
       这里进行一些必要的配置,配置调试端口为SWD、打开外部无源晶振端口,将控制LED的PB13配置为推挽输出。, i0 [: i& x# c) z
* s2 f/ @3 w; Q3 N. R+ u
J{DL00E7R514Y@09{8KCMME.png

3 n! `7 O/ X9 h+ U. C1 A2 \& i! S* y& v# [7 H1 l
配置引脚
$ T; {" J1 k+ L4 Z/ n" g( Y

5 s8 N4 G$ l3 Y# p
% _. Q, f1 g% O2 }: ~$ u" N0 ~       通过上方的Clock Configuration切换到时钟树页面,将时钟源配置为外部时钟源,并设置时钟频率为最大72Mhz。
! U  h' {; s( x! N! G; ]
/ t; }$ f: Q$ r+ g
(JC2DBG`FD4N`40ERCAW(~1.png

9 r/ h/ `- y2 W8 P3 d: i; T/ f; o: Q$ |0 q* \
配置时钟树
. _) y3 J: l" u+ k6 g$ ~

: q& s/ I: K: A# l8 O5 ?
7 s" j* g1 S' ?% g+ w4 j' P3 W       点击软件上方的这个按钮生成代码。
! c4 m% i( o6 u7 G6 V! e5 `7 _, K1 n7 K! }
D]C8(3JE%EXN$E7@)FSL@IL.png

. |& n- t* G+ E( F6 a8 O9 b
% u+ F: j. v' F7 Y& l. C9 Z
生成代码
+ ~: B: `+ W4 P% I) Z' K8 N* [
- K) Y2 {2 y7 g% C4 a: [

' m( }1 w. T+ I: Z       生成完成后软件会自动打开main.c文件,在while里写入测试程序,让PB13端口每500ms翻转一次,实现LED每500ms翻转一次。(其实这里的延迟了501ms)
/ s) m  Z2 \- V
) m- K2 O5 Z4 @
TO$~DBVWODQJ$${5F2NN_XF.png
- T* R. L: F. e

6 k2 F/ R% F1 O/ i1 I. d5 l
写入测试代码
5 w. F* P* y6 L* U
4 A1 D/ t4 w! d9 Z

. {  I' U! M+ B5 `0 W, T5 r8 V8 V       点击下图红框所示的编译按钮。9 N4 c: h1 Q! [+ R

1 H: v$ @0 a  Q4 N8 t& o
IT(2BAEJNV$QJYN@7T88S4C.png
! \" A/ a# H' v" W$ b0 l

- f3 T! w, v" R% Q, d
开始编译
% z5 z5 h0 ]5 R; w: G

, Z' D! v- {, K" e: p- \2 O9 F/ g6 {0 Y9 q# O
       软件下方的Console窗口会输出实时编译进度。$ x& n& W3 Q# F6 q

" `) y* _" U& j+ {7 j: o
HX0]}`SZZB]XDWHXNYQ3)JM.png

0 e* l" r) `. H" P0 U* Z. ]: m
8 d3 `% f1 `; F# X( X4 k
编译结果

: L6 S. ?5 Z% w' [- m# o7 U7 P$ h. w; P4 e
' Z, Y/ d1 M3 C# r/ S3 y
       点击上方的烧录按钮,将程序下载到板子上。" {9 g* W4 y4 c* B7 b! O
) Q6 f) D, j5 K' @8 _* P& R: m, J
SZEBK6NN1IV@B$XVFN33@NH.png

) p" v8 Y$ A/ q' A& x- c6 w
8 l4 ?+ [8 A3 P  a, l9 y
烧录程序

$ a- K5 E+ Y" ]/ c( g. v# @5 {. T; j$ Q* w2 A

1 R& m3 A, c. e* T: d       第一次使用时,会打开下图所示界面,保持默认即可,我一般会切换到调试器页面,将下图红框中的Type修改为Software system reset。一般调试器和板子只接SWDIO、SWCLK、GND这三根线,如果你接了别的如NRST等其他的线,可以选择对应的方式。这个功能类似于Keil的Debug->settings->Connect & Reset Options。) Y$ L& B! w/ [& D! ?: d
+ V" g8 {2 {+ \2 C
H)A~{$Q6@B0]%$SGE1XGOVD.png

( i6 v$ o' L7 R" U! v9 l& @- F" |) t) b) r+ C
配置复位方式
8 S- n: P7 t/ s# t1 P+ g

/ o, L8 K: N! @- `/ c6 k" \4 ~
JCFI}02K7U]H8OBU(GXYQ%N.png
/ b* L! @8 O, o& x. m5 C
Keil中的相同功能配置界面
7 f7 }8 i3 b" P

# s" F3 d( h7 P9 ^; W+ f# n1 a' _. w! k
       烧录完成后软件将会提示,同时也能看到板子上的LED开始翻转。
# j1 \$ B( P' k
7 }7 o) J" S4 }
6S8{K20Y1Y)[[H4%7{)C0X8.png
9 J6 G2 V5 ^8 e5 @6 k& E
- R6 w/ D) l6 [- J: X% I
烧录成功
. R  v% z' f- x; b( ]9 ~% V
+ T+ l* d7 T# i! c# i* X" M* w$ p* k

2 Q8 V' `5 d9 A# @, R! Y. s5 m       如果你的ST-Link版本不是最新版本,下载过程中将会提升更新ST-Link的固件,弹出如下图所示界面。
1 ~' C3 c; ~' P& q/ e. s5 ?) B
1 x( N. \, m& i! J
{UD~0{}7W%ARV][7}RE3KPA.png

; \! q' ?  I3 ]; J! q" f+ S, O, z8 m1 j4 s
提示更新ST-Link固件版本

' j7 I: X5 U! V5 E
- U$ X$ N# q  z- `5 Y$ R7 d8 U. p) y0 f
       点击Yes后会打开下面这个页面,依次点击Open in update mode,然后Upgrade即可。ST-Link除了烧录功能外,还带有串口和硬盘功能,如果不需要,也可以在这里配置。
) |% \/ [1 A1 Q8 j0 [  y
: p- V0 ]- S! c3 B. y
OWPSB2E{N}_CCZ}8)[~2OS4.png

) x2 `" O7 D. ^& S! R" F# l( Q+ W% d9 n
更新ST-Link固件
, E; S2 ~) s. N8 j
3 w/ s  i0 g. V8 u
赞 收藏 评论0 发布时间:2022-5-19 11:06

举报

0个回答

所属标签

相似技术帖

官网相关资源

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