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

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

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

, U; Y2 L& i# h, p- X! D       ST在2019年收购了Atollic后,基于 Eclipse/CDT,GNU C/C++ Arm 工具链和 GDB 调试器搞了一个STM32CubeIDE集成开发工具,实际使用体验下来感觉还可以,写此文章分享给大家。
7 p9 l2 Y( {) O. u3 D4 S  `+ s& s
      首先去ST的官网把最新的版本下载下来,我这里是1.8.0。选择Windows版本,在弹出框里填写邮箱,收到邮件后点击邮件里面ST发的链接就可以下载软件。
7 ~; z# N6 \' E& K9 A( i9 J5 y; t2 J
     这里建议把STM32CubeProgrammer,免得后面二次通过邮箱下载。STM32CubeProgrammer用于替代ST-Link Utility,可以直接将hex文件烧录到单片机,生产时很有用。类似与Jlink的J-Flash。
0 L: Z1 G2 {7 S) ?: i( P2 c
1P}9APW8XWKDQAC(B]86AGF.png

( {) U& S/ ?; W& s1 D' p0 ?' B& `
) ^" e# _( g' j2 Q1 [) ?" X9 [
下载STM32CubeIDE

* G* c5 _3 v2 F# l8 U; }5 Z0 x8 x% k( b7 m

+ l' K% ]1 R; e$ ]4 \       安装的时候软件会把Jlink驱动和ST-Link驱动给安装上,没什么特别需要注意的,一路Next就行,安装完成后重启电脑。
/ R7 X% A4 G) X$ q; v
1 d# p" A$ R5 ^! C! U
`UOMD)5D3J$NN%X[7T7@A.png

, k! E( f  g* g& Z& I+ k- h% k1 Z/ c' W( D9 v5 J
安装STM32CubeIDE

# l: B8 B( g  I  T& F
8 M, k9 O4 V( c5 V
9 y; J# n! o7 G$ t, y: T       点击桌面的软件图标启动,第一次启动需要设置workspace,软件的字体、一些设置都存放在workspace中,所有的工程都可以使用,可以自己定义一个文件夹来存放,并且设置为默认值,这样每次打开就不再弹出,点击Launch
; a$ d8 N+ d: c6 S: O8 D
2 z$ f0 ^" ^! c! X
%6M`CD1N)_{4UNXIC}]C2JC.png

: R, L' P+ M$ w/ O( {2 _) @5 p! U6 R
设置workspace

- k; @7 u# N5 k* K# z
; b5 l  T/ [4 p0 H% H, A+ s$ p6 e, _% b6 }4 Y
Y~}WX(E@`EA]M((701VV]7W.png
% U7 S- c! `$ n2 Q, N" ?; N! t* U

+ f; A8 `5 i! g" I9 E
首次打开软件
. l- C' f3 _6 j: K3 v. x
& G& r8 u4 d) ^1 u* ^7 ]8 e

0 H) v3 x6 W( d( H  J8 |0 W       我手里有一块F303的Nucleo-64的开发板,上面有个LED,借助这块开发板,先来体验下STM32CubeIDE的功能。2 k- b5 W, u# b0 ]5 K1 U% C* s
) o' J! s6 _5 c
       首先新建一个STM32工程。
' m) S) z3 @% H0 q  B1 c! B
- w/ `" {2 _. F0 r2 [
M@J5T}U~B]L4}{ZP(QT2J.png

* Q4 U, q5 m/ @! E! L% @+ a, J
, E# C: A+ j' Z; c
新建工程

# M+ }% e+ X$ }3 h9 j
, _; G6 @' b" P7 ~' k
8 a6 o. x4 c7 ^& n8 |+ }& r* S       这个时候软件会自动去服务器查询是否有更新数据,如果有就下载。可以等他更新完,也可以直接Cancel跳过。建议等他更新完,特别是你使用了最新的H系列或者G系列等处理器。
1 D6 M0 I- A$ O+ t% k
3 `# P3 w0 r: y7 |) |
HV29IYY_G7_D1)C8WUSNMWP.png
3 i2 J% [9 ~$ |5 i* {
# t( _2 {* |/ k1 |2 W
等待更新数据
5 Y% L: C+ S( x* A, @# N, ~+ N
7 e. h! J6 D7 M) l( W$ V% c/ [
6 b7 q% {& B5 ?  X" V6 M) y" I$ b
       进去之后,软件会打开STM32CubeMX,没错,STM32CubeIDE集成了STM32CubeMX,搞STM32的人应该都对这个软件很熟悉,可以生成各种外设的基础代码,这里选择和开发板上的处理器一样的型号STM32F303RCT6,然后点击Next。4 `; V7 t' M. B. _3 `( O9 T; G% Z

. X, \7 _3 p! n4 Z9 a2 l1 d
(R{SH_CG60{MPDR0[Z40.png

0 f- e' T5 w6 h
$ q% {+ i: P' x" ^+ O* [
选择处理器对应型号

" ]5 C2 F% @- i! {# I1 b7 D' F$ y/ ]

$ ^! \2 f% I7 Z7 }9 d       然后输入工程名称,这里有三个选项,第一个是选择使用的语言。第二个是编译结果,如果你的代码想编译成静态链接库文件给别人调用,就可以选择Static Library。第三个如果选择了Empty,则啥也没有,是一个空工程。
7 ~% J7 ~, }' x: ~# N, v7 V" K3 f: E. E) ]- M" l
EX%@YKZN`_4%N(76L$@Q{K7.png

+ X3 H. i/ `& b9 v% k" S
0 u$ q" b. O) W5 g1 \
输入工程名称

: z# I3 ~) o7 Z7 |
' ]0 W; I1 Z! @5 x6 V/ a8 f
' D8 }4 l& H; G3 s) J        到目前为止,ST官方提供了三种方便开发的库文件,标准库、HAL库和LL库,如果你想调整库文件的版本,就在上个页面继续点击Next进入下面这个页面,如果不需要,上个页面直接Finish结束即可。8 y5 N4 O$ k9 c6 h
. p# I# u" v- h" M
+ {" B3 ^/ h# x3 i& |5 p

" ?7 n" o5 D3 i8 [) H
选择库文件版本
  f& P+ T9 j' o( _3 }# \5 i( y

/ ?, ^4 J8 ^: v2 V! w6 N- j/ Q8 Q
" F% l" |% L$ k& q       然后软件会默认打开STM32CubeMX配置界面。
. A  Z( H( `. Z, Z: J, @/ q/ ~/ D1 G7 ^/ ]" }5 P
GO@9H{B(4_]C%IAE[VZ5MTQ.png
5 p" t8 B0 O% |9 D
7 C* c( h  I) J
首次进入工程后的页面
! c" d6 y7 X* F

! l  ?! R( h& A2 x0 ?4 @1 I
; Y+ z8 O9 q+ M  w7 Y! _       这里进行一些必要的配置,配置调试端口为SWD、打开外部无源晶振端口,将控制LED的PB13配置为推挽输出。4 A5 p2 k( c1 B2 ?

: E; w) t* s8 g9 h; L4 v. w: Y1 I
WTIFHRQJN]EOSZHL3]AFDRY.png

5 R5 r$ J3 o  x8 a( B% T  B( v* \( s& M* K0 s. b
配置引脚
( h; a& o- L/ ~. X) F% r
8 [# ~+ }% g( C/ c% w1 s" }

4 k. c/ c/ U' U       通过上方的Clock Configuration切换到时钟树页面,将时钟源配置为外部时钟源,并设置时钟频率为最大72Mhz。  x2 C( ]# U. j$ I5 C6 g. a

, g# [4 |# E/ E, I, h
+ T& _" v$ Y# i5 F
3 `: |5 {; H/ P+ n+ ?% w
配置时钟树

* d; ~- C* l2 j; O3 Z0 h' X9 [
4 l! E/ Y, x# F3 M       点击软件上方的这个按钮生成代码。0 `. u6 B! U$ E% {

) V7 x: @/ w' N  T6 v$ x6 U
_B3LZF`_})%C}_}RH7SM4SH.png
8 H$ n' Q9 T8 q5 Z! ?4 E) C' M

: k7 q9 a$ x* y) V- O
生成代码

9 S  Z, A2 u- o0 P6 G1 x9 T3 m* N1 A5 E: e6 A4 ^& K
3 q5 u4 ]# \: A4 O( M9 E
       生成完成后软件会自动打开main.c文件,在while里写入测试程序,让PB13端口每500ms翻转一次,实现LED每500ms翻转一次。(其实这里的延迟了501ms)
1 g$ Y7 j- W* H
5 {# D# S8 j  D: g! U
]DD1T{%K[3CY5~A_$P6L.png

: M2 I, T# L) H: O) n
" E' g$ Y: Q% W4 U9 a- c. R
写入测试代码

" L) ~8 k& ^5 N: n; L( \" k  \% I6 S  M% v6 Y9 H

" I" o- o$ S; a2 }" [  {       点击下图红框所示的编译按钮。! m9 V5 _: i9 i/ A* a( ^* }

) K3 i3 w9 \, ^( u- O. I5 m+ a
KC])I~XKT5LZJ6FU8Y[S3.png

' t' C8 P  x; P9 w2 R
2 Z0 x, k4 x6 u5 K# o7 k' g
开始编译

9 r7 [) t- \" j6 h& s/ X3 [
) D# X: I& ~1 o' R3 B
  Y5 z( W( _4 O! M8 @  w" {       软件下方的Console窗口会输出实时编译进度。& N; i* }9 A* N7 Z7 A1 ~
  W% V4 F( d1 J) P4 }
2ERI_7HL@~L7P9MLVAL~}~N.png

& M. o! _, @2 |% k. _
. x9 f* y- ]& S
编译结果

4 X0 b* F7 i3 l/ w# f5 A( ]) k: i3 r1 O( k/ A

4 e8 R* B$ X7 |       点击上方的烧录按钮,将程序下载到板子上。
" Y4 {- l" Z0 U6 `- g
- G5 H; I3 x) ?$ v
@FV]8EHDCM[V3%0YUEBE0.png
, s9 j9 T, K$ k+ R4 G/ x4 v" J' B

2 d% T: W% K2 U
烧录程序
& R7 u, ^. S9 _# j- f  o8 \8 k

' [& c1 I3 @1 z( m- x5 M( t0 m7 ?6 B: N/ B
       第一次使用时,会打开下图所示界面,保持默认即可,我一般会切换到调试器页面,将下图红框中的Type修改为Software system reset。一般调试器和板子只接SWDIO、SWCLK、GND这三根线,如果你接了别的如NRST等其他的线,可以选择对应的方式。这个功能类似于Keil的Debug->settings->Connect & Reset Options。0 I( o) Y- g' _0 V7 _9 Z, N

4 [  K, c5 V/ a' U7 K# ?
Z4B2HAR6S9%E~IP3O~{MK2N.png
) b/ A8 I- @( @% d5 t7 o8 f- W' O
/ {: j/ w* ?& T' j# y4 c
配置复位方式

- a# b; Z9 N- i& L; Y0 Z. a  F$ ~

1 {, `4 ~+ w. f
JI74J{7W~6)A{WMB2S92[3A.png

7 B" ^1 I7 S9 B. m+ g: O+ t1 t) b
3 d1 ]& e0 c" j
Keil中的相同功能配置界面

" u4 C, _( r" g* `5 w6 |) N7 Q$ v0 Z# h8 b
# O" N7 F, Q) A7 u
       烧录完成后软件将会提示,同时也能看到板子上的LED开始翻转。9 ^5 o4 R$ \3 a3 v, ?8 b, L9 z8 ^

, j/ E$ y: ^" r+ s
M%@XK8ZEIV]J`N%CTMOA.png
+ ?7 o  r# R; [) |8 _! J

, a: C* ]2 J- b. l
烧录成功
4 J* G4 y% `7 Z0 d( N/ N1 |' r
" {  A' v: w" v0 r! O4 W/ s' ^

# N! g1 K0 J. L* L       如果你的ST-Link版本不是最新版本,下载过程中将会提升更新ST-Link的固件,弹出如下图所示界面。( @6 `2 T5 K9 T+ M3 m
. ?& X3 V* z; C* e$ ^" V! L1 S
6XR[1)4@X)JB0G0EJ09NR(3.png

, X0 [8 }! J- q. P8 `
  ?& {+ H  E5 p9 S% d
提示更新ST-Link固件版本
) B; h; v3 H, }& e6 N6 h

; w) t! `/ k) V; C1 _" G- p  Y, A- ^2 I5 M4 W3 O, i1 H
       点击Yes后会打开下面这个页面,依次点击Open in update mode,然后Upgrade即可。ST-Link除了烧录功能外,还带有串口和硬盘功能,如果不需要,也可以在这里配置。/ A" T: X, \9 Z) V

- P( e0 ?. \' `% ]" U% {0 l7 I0 h
3ZHRR82EHCN0RJZC94AX[W9.png
0 K7 ?9 C. q( r, d  b  y
8 _9 M: v! P/ w; N" t
更新ST-Link固件
2 y, G1 H) Q  F% c2 F  u# R8 a

" y: `# T8 V! N7 ?1 u' V. a作者:bili_42806779649
& q% o1 G: ?9 n( \7 Z4 Z$ ~, p$ p, x1 g' ?$ K& ]+ ], l

- g6 [5 y1 W* v+ T! }) f( b
收藏 评论0 发布时间:2022-8-28 22:18

举报

0个回答

所属标签

相似分享

官网相关资源

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