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

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

[复制链接]
STMCU小助手 发布时间:2022-8-28 22:18
  在使用STM32 ARM Cortex 32微控制器进行开发时,大部分人都会选择和谐版的Keil或者IAR来作为开发工具,平时自己玩玩倒无所谓,一但商用,搞不好某天就收到了律师函,毕竟不合法。目前主流的ARM平台编译器主要有Keil MDK的ARMCC、IAR以及开源的GCC for ARM,如果不想掏钱又不想忍受虚拟机的痛苦,GCC是唯一的选择。
* ?' E% q6 c  \1 b8 Y3 k* R
7 ]! I; \' o* h" B7 T       ST在2019年收购了Atollic后,基于 Eclipse/CDT,GNU C/C++ Arm 工具链和 GDB 调试器搞了一个STM32CubeIDE集成开发工具,实际使用体验下来感觉还可以,写此文章分享给大家。5 @, [6 \6 H4 ~: k; l
: S: C! G$ b: z8 Q
      首先去ST的官网把最新的版本下载下来,我这里是1.8.0。选择Windows版本,在弹出框里填写邮箱,收到邮件后点击邮件里面ST发的链接就可以下载软件。
7 }. u0 M, s" m) G9 [- O( K. D7 R3 F) ~2 f8 X! u
     这里建议把STM32CubeProgrammer,免得后面二次通过邮箱下载。STM32CubeProgrammer用于替代ST-Link Utility,可以直接将hex文件烧录到单片机,生产时很有用。类似与Jlink的J-Flash。
6 \+ T1 K0 l: o( S: X
1P}9APW8XWKDQAC(B]86AGF.png

! W/ t* v0 R) B6 B; X
* y5 E; y) k5 A" X2 L0 W3 U" [  O* ~
下载STM32CubeIDE
% a" B( I4 U0 R

8 Q: N& T5 g$ ]3 L
& j& I# M2 [6 V' L; |4 i       安装的时候软件会把Jlink驱动和ST-Link驱动给安装上,没什么特别需要注意的,一路Next就行,安装完成后重启电脑。
( _" ^$ D( |$ h2 E  w  K, K3 p0 Y) h" D' l& j1 |: Y
`UOMD)5D3J$NN%X[7T7@A.png

2 l- W& F* Y, t6 Q% F; P
2 Z9 H' ~4 I8 h( N- [) a, @
安装STM32CubeIDE

; O3 D& L0 E9 H6 w6 H0 C5 \. ]9 V" t" J8 U4 H& D5 O

3 k1 m/ ~3 @8 k6 y       点击桌面的软件图标启动,第一次启动需要设置workspace,软件的字体、一些设置都存放在workspace中,所有的工程都可以使用,可以自己定义一个文件夹来存放,并且设置为默认值,这样每次打开就不再弹出,点击Launch
5 w. P# m1 b: y2 K
8 v+ q# T; S0 C! Z# H8 U) @
%6M`CD1N)_{4UNXIC}]C2JC.png

  g+ {7 l% V$ K1 l' y, n& ]1 S" N$ F" o$ e( F' P) b8 l* D9 u
设置workspace
( z% z$ N; V4 R# [
. l  M  b7 k) A4 K+ a
  H; `) }" l5 c5 l
Y~}WX(E@`EA]M((701VV]7W.png

8 |( b2 I. U& u- N8 s, M
' V+ t+ k! b+ t
首次打开软件
8 v* {; z2 `/ Q$ v9 W

4 X3 j* `( F' ~5 B
4 U6 N5 T- o3 A8 b6 V       我手里有一块F303的Nucleo-64的开发板,上面有个LED,借助这块开发板,先来体验下STM32CubeIDE的功能。/ j) f; V  m2 a
: y$ \( h6 @: B/ b9 E9 a$ P( q" |
       首先新建一个STM32工程。( B* A7 o; A) M) U% T  K! B
; s  l+ d8 T  }: v
M@J5T}U~B]L4}{ZP(QT2J.png
. U% _$ E$ v2 z- h% ]& T
/ V) L5 D8 Q4 d* s& o
新建工程
) `" r* e" s' M% ~! w9 V$ ]
1 _  Y$ h7 ^* E9 c* E
2 w' r- F: M- g
       这个时候软件会自动去服务器查询是否有更新数据,如果有就下载。可以等他更新完,也可以直接Cancel跳过。建议等他更新完,特别是你使用了最新的H系列或者G系列等处理器。
! Y, P  p+ R0 |0 k" a! t: V7 e$ N5 t* k3 w# y6 ^
HV29IYY_G7_D1)C8WUSNMWP.png
2 z2 L, ~+ s* d1 ^0 }' ^
! z" r% ^5 i/ D8 Q* h( t0 g2 J& U
等待更新数据

8 ?) }. b! N3 B' m/ k6 a0 m$ ]
) H. s) `; ~$ j8 M/ z# p
) i: _9 ?2 _3 ^+ V) m# g       进去之后,软件会打开STM32CubeMX,没错,STM32CubeIDE集成了STM32CubeMX,搞STM32的人应该都对这个软件很熟悉,可以生成各种外设的基础代码,这里选择和开发板上的处理器一样的型号STM32F303RCT6,然后点击Next。
0 l" ]$ U. t6 i# X4 f. v' M/ [1 z3 T% `, D+ D" s9 X1 M, n
(R{SH_CG60{MPDR0[Z40.png
) k) i' d1 j2 \# b8 ]! d
% K, m4 a' ~3 ^, L
选择处理器对应型号
, g. Z9 _. \( ~5 l

: ?4 |/ B5 Q+ m+ j+ H' a  y3 e" Q/ A. _: y% o' T* t4 \/ m& E
       然后输入工程名称,这里有三个选项,第一个是选择使用的语言。第二个是编译结果,如果你的代码想编译成静态链接库文件给别人调用,就可以选择Static Library。第三个如果选择了Empty,则啥也没有,是一个空工程。) X6 K+ T8 X; V- h+ @6 t' `

( z4 Z* _- P# x7 P- S# d4 h
EX%@YKZN`_4%N(76L$@Q{K7.png

, }, j' B6 Y4 i0 z
: C7 k2 [8 g0 G8 |
输入工程名称
# L4 c4 x* I) k$ a

/ G6 o( `, u5 h* m
8 u- A) P- O) H) T6 @! H, s1 S        到目前为止,ST官方提供了三种方便开发的库文件,标准库、HAL库和LL库,如果你想调整库文件的版本,就在上个页面继续点击Next进入下面这个页面,如果不需要,上个页面直接Finish结束即可。
6 c4 s, `( n7 w2 J
5 B( R. ?7 x: U) D9 Z9 @. X

( b9 _0 S' W1 `0 {! _- a! _, v
; Z$ I# k  z0 H- z& x1 s
选择库文件版本
) P3 K# k) G2 z9 W1 L

# T2 z: B: \% V0 v! j& x4 K2 `- h" X9 d
       然后软件会默认打开STM32CubeMX配置界面。4 V0 m5 f/ W8 j
. G4 [$ y3 \) L4 c8 q! B0 _4 O. e
GO@9H{B(4_]C%IAE[VZ5MTQ.png
; F  O5 y8 l- y7 A5 |  s+ ?

$ Y/ }+ T0 F; |
首次进入工程后的页面
; {+ C9 ^1 A+ _" o
, s  |4 \+ ?- a& n

0 i# k" e! f6 [, G- p: G5 x       这里进行一些必要的配置,配置调试端口为SWD、打开外部无源晶振端口,将控制LED的PB13配置为推挽输出。# M8 E$ q7 r; A: p

, z3 X& |9 {+ G% W; H% Z5 S
WTIFHRQJN]EOSZHL3]AFDRY.png
; \2 p8 U  @7 _

7 d# U! K4 U6 x& @7 h
配置引脚
9 X# m6 Z5 p6 i5 }5 f8 F/ i

+ B% D* x9 t# _
9 V) T6 S3 Q/ P0 N       通过上方的Clock Configuration切换到时钟树页面,将时钟源配置为外部时钟源,并设置时钟频率为最大72Mhz。. B) D; x/ P5 f( ?
/ P" ~0 _; X' ?

% A+ t( T' r. Y+ S; n8 J* o, V. Q2 j4 M0 g9 U
配置时钟树

. f/ U& g% R* ?/ Y
. E& a0 \; p7 I9 R, _4 V       点击软件上方的这个按钮生成代码。' D9 G) K" z- ]; C

) }* T: e& b# s5 d4 n+ n  s
_B3LZF`_})%C}_}RH7SM4SH.png

6 {% H4 N. n) A7 @- ]" L
# E$ d0 I/ M% ^: E5 }" h: h
生成代码

; N. R! g/ N; V- N
% J. `/ b1 j- n9 A. ^8 Y
# \# m& X0 A4 R2 l* ^! f0 ]       生成完成后软件会自动打开main.c文件,在while里写入测试程序,让PB13端口每500ms翻转一次,实现LED每500ms翻转一次。(其实这里的延迟了501ms)" S) T5 R4 a" F" l3 G* b

+ v4 }& n6 d) h8 d7 @5 h
]DD1T{%K[3CY5~A_$P6L.png
9 m) m  {4 Z/ C8 w6 P
2 i+ C; @* s8 V; D9 k* |
写入测试代码
/ [# b1 a5 A0 V, N& E
" L1 `" V  [; c
5 A2 D6 ]0 h6 N: ]# |) ~$ N
       点击下图红框所示的编译按钮。' ]' R% p2 Y, w+ m
8 |& t) I0 J9 z
KC])I~XKT5LZJ6FU8Y[S3.png
" w% L3 F. I& M9 R- r! `; _
; M3 B/ j' g' K4 }4 R
开始编译
+ w9 p; L, o. \, U

3 m) m8 O# D# F7 R" e9 g' y
/ s0 u! M& @1 Y" M4 w7 Q2 O# q6 J       软件下方的Console窗口会输出实时编译进度。, T1 A( E4 V# O" ]( n& }4 Y9 D
6 u5 Q2 }% G# u0 X+ U: g7 [1 I
2ERI_7HL@~L7P9MLVAL~}~N.png
, G  q8 X, q1 r' m' O! a

* a! U- }% F- E2 i
编译结果

/ W: I% [) G; V
) Q( X. _+ X8 R, i. V$ K' S, D. ?5 Q/ G
       点击上方的烧录按钮,将程序下载到板子上。8 u0 S, s! t! c9 i4 \
! e6 ~! z2 o+ P6 I! p( m; G
@FV]8EHDCM[V3%0YUEBE0.png
* c5 f4 w, U. i" o& u$ q2 L
: N/ X* E  Z& `& B
烧录程序
: p5 K4 D$ n+ Y# B5 h# I

2 v% `; N. U( A2 v  K0 Q0 V+ V% R) y0 K- T
       第一次使用时,会打开下图所示界面,保持默认即可,我一般会切换到调试器页面,将下图红框中的Type修改为Software system reset。一般调试器和板子只接SWDIO、SWCLK、GND这三根线,如果你接了别的如NRST等其他的线,可以选择对应的方式。这个功能类似于Keil的Debug->settings->Connect & Reset Options。
+ y- t& H5 \! V% U6 q7 j' \
2 l6 J5 _9 ^( |1 L! i
Z4B2HAR6S9%E~IP3O~{MK2N.png

) ?1 N1 S6 |, ^8 A+ O7 t9 O' n
8 i$ \8 z4 L3 [, s% f4 Y. V' {
配置复位方式

1 K+ `% l: T% L5 V
- V$ ~  {: c" i, p% W0 b2 w' V
0 e5 H$ y* }% Z2 Z0 Q
JI74J{7W~6)A{WMB2S92[3A.png
7 P; n; T) F" u
1 S; m: I# {5 f* E0 x) t
Keil中的相同功能配置界面

1 O' e' i# F: |( S3 U0 W/ s
( y& Z) J. Y+ B5 x8 ?5 r; g) ?3 s' F" w! P; q, |* z
       烧录完成后软件将会提示,同时也能看到板子上的LED开始翻转。
2 J5 O1 `$ i+ Z2 ^+ m# u4 K  a1 G% d# L; z( ]
M%@XK8ZEIV]J`N%CTMOA.png

1 j3 p, S5 k) X( ]1 D6 K$ n: P
2 A3 p  S/ y5 _; p
烧录成功

$ ~: ?" T3 E! c
/ B/ z6 ^' H: z
. ^# M1 U, f# I! r! v( ?2 u       如果你的ST-Link版本不是最新版本,下载过程中将会提升更新ST-Link的固件,弹出如下图所示界面。' p7 \/ B5 c6 u4 D' c" [

" n2 Z# Y9 L5 S% m' H8 y
6XR[1)4@X)JB0G0EJ09NR(3.png
7 }& e3 D2 j/ @& V' c6 f
( M- X5 w6 ^: P
提示更新ST-Link固件版本
, o* B; a7 L% l% T
1 E& s; L: ^, o2 j, z' e: |9 X

% [3 Y+ g( i' ]/ |! o6 z3 e$ ]. I       点击Yes后会打开下面这个页面,依次点击Open in update mode,然后Upgrade即可。ST-Link除了烧录功能外,还带有串口和硬盘功能,如果不需要,也可以在这里配置。
5 G6 t- Z+ m) f* O! O; w' E8 R/ h" Q4 i4 C' |
3ZHRR82EHCN0RJZC94AX[W9.png

  @! M: E5 t% `8 X* a4 o/ T
& o, q/ s3 `: N% ^% g
更新ST-Link固件

4 l9 A4 B' u/ X3 k6 Q9 e# W  b* ]* a' \$ K
作者:bili_42806779649 . N6 ]" y1 v* i1 s
9 m; b" T$ l6 E+ B" g8 M; [
% `1 D* I# q% u6 d: w) |! G
赞 收藏 评论0 发布时间:2022-8-28 22:18

举报

0个回答

所属标签

相似技术帖

官网相关资源

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