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

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

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

: w' d& L) R. ?6 |  c7 I       ST在2019年收购了Atollic后,基于 Eclipse/CDT,GNU C/C++ Arm 工具链和 GDB 调试器搞了一个STM32CubeIDE集成开发工具,实际使用体验下来感觉还可以,写此文章分享给大家。
% _2 m) h9 q% b5 f) z
) \" X- z$ H  ]7 X1 t! @( B- N. W1 Q      首先去ST的官网把最新的版本下载下来,我这里是1.8.0。选择Windows版本,在弹出框里填写邮箱,收到邮件后点击邮件里面ST发的链接就可以下载软件。
! H3 |( S+ w* r, g( p
$ M" ]- a$ U- i. o* O( ]. Y     这里建议把STM32CubeProgrammer,免得后面二次通过邮箱下载。STM32CubeProgrammer用于替代ST-Link Utility,可以直接将hex文件烧录到单片机,生产时很有用。类似与Jlink的J-Flash。, B4 k- p- y* ?* @
1P}9APW8XWKDQAC(B]86AGF.png

3 ?" |$ {4 @2 A3 t& y. a2 b0 F  a: C2 w( e$ c
下载STM32CubeIDE

2 C8 r6 B! K4 X0 x8 t/ Z9 X- A. n, _" b, f7 B
$ _+ a2 S  `9 S3 |3 O4 |; i  T
       安装的时候软件会把Jlink驱动和ST-Link驱动给安装上,没什么特别需要注意的,一路Next就行,安装完成后重启电脑。  @7 \  ~- J6 A* d# `  ?3 \6 B8 C

% M& O# s2 z/ Y' k$ @' T
`UOMD)5D3J$NN%X[7T7@A.png

; Y9 m+ d" I( `, x$ K
. e$ E* L  T$ o3 R6 a! s
安装STM32CubeIDE
8 a3 k4 q9 b8 F" ?) N
! x& [' o+ f6 H" s: l5 x& H  V

, a+ l& Z+ Y0 z       点击桌面的软件图标启动,第一次启动需要设置workspace,软件的字体、一些设置都存放在workspace中,所有的工程都可以使用,可以自己定义一个文件夹来存放,并且设置为默认值,这样每次打开就不再弹出,点击Launch, b. o; s8 q: O5 r4 v1 x" i

/ o2 [) o5 ^  |& \% S' p% F4 M
%6M`CD1N)_{4UNXIC}]C2JC.png
* T9 [( X- o- T$ h* B& B

7 L1 n8 ]7 g7 R. L
设置workspace

- K% u. M7 z. W' ?  P
" t8 l# A% \! q6 x
( W7 E5 ]+ ~1 f+ `# I! d
Y~}WX(E@`EA]M((701VV]7W.png
, ^, P# x- y# X1 O% H% W

; G1 d- q* ]( t3 z
首次打开软件

. }+ ~0 {4 ]  e- d7 Y% O, `9 E+ q: I4 _6 G8 k5 e0 H- i
$ w6 p) [( Y. w' x" |, ]
       我手里有一块F303的Nucleo-64的开发板,上面有个LED,借助这块开发板,先来体验下STM32CubeIDE的功能。
8 c+ l5 W/ I+ d+ p! W1 @
  ]+ X% }& h/ L# S' \, ?) O       首先新建一个STM32工程。
+ o1 n1 k# l/ }- B7 C- a( N7 q( h3 A
8 c5 B: Z# d8 }2 v5 u
M@J5T}U~B]L4}{ZP(QT2J.png
7 s0 h! t, z+ n# U8 l6 u$ b/ u" o! b

" N4 A2 a5 R$ ^& [
新建工程

5 c+ W3 C- Y5 D9 ^9 t. R1 C0 F% g; X2 C( I( _4 E3 `

# j9 V6 O3 ?7 W, s6 I       这个时候软件会自动去服务器查询是否有更新数据,如果有就下载。可以等他更新完,也可以直接Cancel跳过。建议等他更新完,特别是你使用了最新的H系列或者G系列等处理器。
; G& Z2 ?& l3 x2 W( x5 h: ~- N( B9 Z1 l6 g- h
HV29IYY_G7_D1)C8WUSNMWP.png

( {3 i: c. V0 r
- B; h5 b( W# @$ a! Q. x
等待更新数据
+ ~, c! O1 H* k( x0 r) G: C

2 g& K$ \2 I" I! r. |/ t& Q/ O* m1 W' O! i* M
       进去之后,软件会打开STM32CubeMX,没错,STM32CubeIDE集成了STM32CubeMX,搞STM32的人应该都对这个软件很熟悉,可以生成各种外设的基础代码,这里选择和开发板上的处理器一样的型号STM32F303RCT6,然后点击Next。! X6 B8 n% @' a! j' o

0 v. }0 ^- t/ V
(R{SH_CG60{MPDR0[Z40.png

! n9 b: ~0 H3 ^; b4 O: V9 f% R8 G( j* J' Z& q6 y; I+ M  y
选择处理器对应型号

. C6 @0 J/ Z! t% Z
' ^2 f1 e( ]. q( X: \% a2 o/ s; r* F
9 z% T( R  J2 {3 U/ O       然后输入工程名称,这里有三个选项,第一个是选择使用的语言。第二个是编译结果,如果你的代码想编译成静态链接库文件给别人调用,就可以选择Static Library。第三个如果选择了Empty,则啥也没有,是一个空工程。* T- B' v: _; x* f1 j% i% r, C, b

& v, T8 O& w7 d
EX%@YKZN`_4%N(76L$@Q{K7.png

8 `% J4 s' Z8 J/ G- V
! m# N, ?7 H% U! z6 J1 Q: {
输入工程名称

; Q- L  b: R; B, U2 T# P% }' D( L! ^* A3 @0 A9 g; H
' u8 d# l& x& d$ p7 K
        到目前为止,ST官方提供了三种方便开发的库文件,标准库、HAL库和LL库,如果你想调整库文件的版本,就在上个页面继续点击Next进入下面这个页面,如果不需要,上个页面直接Finish结束即可。
1 o) [( b% E2 E3 r8 ~/ E  _4 z
# N' \8 s# i7 \3 e$ \! v

: ~8 W% c2 h! b( n, g' i( h
  @% U5 I1 y# r3 ^
选择库文件版本

: a  @0 B( e& m$ U" Q2 j: g) x7 M! p& F7 [0 Q! \
* X0 W; [0 T! j6 N4 `% }# q
       然后软件会默认打开STM32CubeMX配置界面。
. _! J% r" ^; N* {* W# j1 j* S8 A$ R7 T0 T8 B) k
GO@9H{B(4_]C%IAE[VZ5MTQ.png
* w& q0 m" k6 p  v0 J7 N

9 J' U8 d% n/ g" @" V* M
首次进入工程后的页面

* _8 L, W3 U; N% l* Q! n8 x' i: j) s' k' O+ u1 }

; m8 m, z$ e! K2 A; R       这里进行一些必要的配置,配置调试端口为SWD、打开外部无源晶振端口,将控制LED的PB13配置为推挽输出。! y  l/ U2 ?% v% ?. N! R! z0 P' A# y- d
( Q9 y8 z3 v* C: ^/ P& e: H9 W
WTIFHRQJN]EOSZHL3]AFDRY.png
  L6 F+ Z5 z8 a1 c  H3 b

) [# v) w1 S( V9 {4 I, W4 N
配置引脚

: F. W* d# n$ D. y$ L& J
9 U/ Q# n0 k! }6 s0 S' P% R/ U9 V' J/ \- j
       通过上方的Clock Configuration切换到时钟树页面,将时钟源配置为外部时钟源,并设置时钟频率为最大72Mhz。
0 f& ^3 I9 N* ~0 B; ]
: k  }- |1 \" d2 w
( \0 R, q/ O5 L. F5 J
5 x8 k9 t9 j# X8 L; F  i
配置时钟树
% M% l: Y+ l. U" `! U
( `; U6 K6 X) {9 F
       点击软件上方的这个按钮生成代码。- D) f* n. Q5 i4 p
0 {2 U0 A4 j, h9 K& }
_B3LZF`_})%C}_}RH7SM4SH.png
( c; _) Y9 P; r

- ^" D' [0 Y! _1 j1 D2 C+ s2 G* C
生成代码

. W2 m1 U" G4 f, F+ h4 J
4 `, h7 W* X% t' G# f0 b9 ?) J4 ]* `8 R. t$ ^% F
       生成完成后软件会自动打开main.c文件,在while里写入测试程序,让PB13端口每500ms翻转一次,实现LED每500ms翻转一次。(其实这里的延迟了501ms)
/ e3 Q* G% `; u
. F$ M$ K) o9 {( o
]DD1T{%K[3CY5~A_$P6L.png

9 f8 Q5 U" E4 u& `# I1 ^# W- _4 Q4 \  Z6 R; h/ @$ ]
写入测试代码
3 c, R2 p. |+ A5 `6 d! y% l

1 v( H/ X0 l4 l% J
0 b/ i# Z1 ]* M0 X       点击下图红框所示的编译按钮。
4 ?" w! i6 n6 P) j
% p) T) F/ @& w
KC])I~XKT5LZJ6FU8Y[S3.png
( S5 ?2 E' T" O$ B3 U4 O6 J' {! F& }" Q
* d8 Q& [' O& ^; w, C+ L
开始编译
# z3 Z4 a& h8 H& c* f  Y" Q+ f

. Z' V( r# N5 P# N" x( p+ ?* @4 m$ T1 ?$ ^) A+ A0 Y8 j/ o
       软件下方的Console窗口会输出实时编译进度。
- t' [9 m. S0 g# u
- |. m% e" l3 W1 o. l
2ERI_7HL@~L7P9MLVAL~}~N.png
% P& J8 k- }: O9 K" i% k

) u/ F5 b( {- A+ {- {- w
编译结果
: X! Z) y) Y5 U& ^

) ]1 b( V8 s* d* q) E: C6 d; w$ I* ~1 J0 q
       点击上方的烧录按钮,将程序下载到板子上。
! V& Z: Q2 [8 S, g+ v. \1 z! _$ t2 {: X6 a0 k) [
@FV]8EHDCM[V3%0YUEBE0.png
8 `4 J' \+ Y9 x% L* d
0 \6 F& z: T: C# m
烧录程序
+ k- U2 M8 Y: L3 u4 P

/ U8 ?( a2 g( ^$ E  ?: T
* y3 y" X% s3 \# a" d2 x" D       第一次使用时,会打开下图所示界面,保持默认即可,我一般会切换到调试器页面,将下图红框中的Type修改为Software system reset。一般调试器和板子只接SWDIO、SWCLK、GND这三根线,如果你接了别的如NRST等其他的线,可以选择对应的方式。这个功能类似于Keil的Debug->settings->Connect & Reset Options。" u* M! f# P5 y
3 w- z/ t6 B. l5 V+ J+ Y8 w
Z4B2HAR6S9%E~IP3O~{MK2N.png

/ b; c6 T9 A* N1 Z$ y7 {4 u4 d: k* q  g
配置复位方式

% ]8 i- r+ v( G+ I* n- I: N4 I3 L. S0 A( [! s
+ G9 g& Z3 }4 w9 V8 G/ |
JI74J{7W~6)A{WMB2S92[3A.png

# ]  A9 q- M3 F8 t4 {; e( G6 P3 i5 B  b; W' W1 P; p. f/ G
Keil中的相同功能配置界面
6 n+ h- Z/ A+ e9 o& o  d
0 }( |9 Z& E, M" `5 x. {# X, o
; t* Z7 P; x7 k/ Y* r% U
       烧录完成后软件将会提示,同时也能看到板子上的LED开始翻转。! W& @& n4 P, U! }  p' ~  w
( G8 ]4 L7 i& ?5 V+ @) j
M%@XK8ZEIV]J`N%CTMOA.png

* Q$ x" N  ?- _. ^3 }
  ~' I9 R+ {' V; L% y
烧录成功
# W/ s' r) A' X" C1 _' z. \
3 I+ Q. y5 k, G8 w% C; ^1 J

) F( E4 Z& ^6 X, o6 O% V       如果你的ST-Link版本不是最新版本,下载过程中将会提升更新ST-Link的固件,弹出如下图所示界面。
! ?7 ^+ c' I+ l5 C9 b
3 N4 D' U  C8 I, X5 }
6XR[1)4@X)JB0G0EJ09NR(3.png

6 p" H4 ?$ q+ c: Z
2 W7 c' p) L; J; i
提示更新ST-Link固件版本

2 W3 H% t6 @, K) j0 D' h% r' q" k

: a5 L9 Q7 a3 n3 A0 u( U& u/ v; I2 w       点击Yes后会打开下面这个页面,依次点击Open in update mode,然后Upgrade即可。ST-Link除了烧录功能外,还带有串口和硬盘功能,如果不需要,也可以在这里配置。
) g& {- Y# V* E2 N. i
6 L5 T: i8 D8 d6 _
3ZHRR82EHCN0RJZC94AX[W9.png

0 {) }  ]$ V% O  ~& p% J
; s0 r1 x; y; C4 s, h8 l( f. V
更新ST-Link固件
6 T2 U8 E- P7 X7 Q1 G' [

$ f0 M7 i+ S' f) n作者:bili_42806779649 ( C9 ~2 w- G. u

9 I% K" A% s! Y  }' c( y
2 c& Z( A( b4 I1 e" L
收藏 评论0 发布时间:2022-8-28 22:18

举报

0个回答

所属标签

相似技术帖

官网相关资源

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