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

【经验分享】Segger Embedded Studio 创建以STM32F3为平台的工程

[复制链接]
STMCU小助手 发布时间:2021-12-6 01:22
准备工作
6 m4 N8 I; O. C, \' {$ [7 j$ A
0 @. Z% T8 \4 x$ K# r1 u  P" M  在st官网下载 stm32f3的HAL库文件 en.stm32cubef3.zip
8 G, x- x" r, W; J) F8 j' q/ V
" o7 g" n0 o3 W4 v& i0 R" O  安装最新版SES,通过Tool->Package Manager 安装STM32F3的package
, O* X9 p% Z6 Z  Z
+ N7 h" o3 y4 C2 G" n  在tool->option中可更改package的存放路径 和 新建工程的默认路径+ A$ U0 G6 O# u6 ]+ w8 U& ]" k
  u6 G" m8 C" T: ]
20190305104005921.jpg

% o0 O8 J' h$ e$ v6 e2 D6 j! z
  i" F) s/ c4 ^; @" q4 f  M, D更改字体、显示行号
& l3 B4 {+ b% q* K. J" N
1 H! ^. V5 q0 e$ ^) k  u+ W- Q/ a
20190305104006549.jpg
) }9 `) z  p! L  i8 F
; D. u! K5 s9 R4 }8 M' {
在Project Explore窗口不显示code 和 data的大小: C' U( N9 N4 y# r

- t8 x# y7 u' ~
2019030510400667.png
; S: h1 h% d- V6 E9 i; D. o

* \5 z; h! x  A5 a% z* j) \
% Y+ N+ h% S' D1 ^; q开始建立工程:
- t" E1 u# l6 Z( r7 f+ L# m' a# P1 x! t. w5 U5 D: |
第一步 file-> new project 创建工程名称并选择路径(建议新建文件夹)/ Y  u$ G" O* u6 E

6 T; v1 u& R: ]  n' i) Z5 G" i. v
20190305104006122.png
& t, L' H4 z& t  u0 ~
4 S' F! X, d1 a9 N
更改芯片型号
% n3 b3 Y& S7 l, a, u% }0 E" M6 y1 g3 h! [8 B0 {0 l
20190305104006155.png
) T( W+ ~1 n$ y; ]
) C/ x# m/ J$ [; c
选择需要添加的软件组件
7 Y* q4 u! ?; ?% ^3 J) R0 [5 U$ N; [  g8 J# @3 E% f; L# `, j
20190305104006274.png

; A5 L+ @! F& Y
2 w& s* M0 `6 g, q5 E  G9 y$(DeviceHeaderfile) 包含所选芯片的头文件stm32f3xx.h (STM32F303RC   HAL库); @! W$ r( ?! e& V* Q& u- ]8 Y

9 A- u- p4 x& y2 q$(DeviceSystemfile) 包含所选芯片的系统配置文件(时钟 flash之类的在复位中执行) system_stm32f3xx.c (STM32F303RC   HAL库)& D/ e, ~. J1 s- I3 W+ c
0 `% N: R7 \, O
$(DeviceVectorfile) 包含中断向量表 STM32F30x_Vectors.s" f/ I% E3 t5 \' W
) h; n2 B. q$ g# x5 ~  _
STM32F3xx_Startup.s 系统启动文件,在复位处理中,进行一些初始化处理,执行完之后跳转到C语言的main函数
: {5 M- J3 E. X% Y
' e, ]. r' O3 @* R& e* ]' hSTM32F3xx_Target.js 仿真时使用
. o* L, D' i% C; o. Z6 v+ |" C( f5 m; m  H0 M) a
thumb_crt0.s 启动码代码,被STM32F3xx_Startup.s中调用
* C8 y: `+ y  a2 X. W; a: t& {) A% V$ r6 e' }7 j
RTT相关的文件是使用RTT功能,方便代码调试,取代传统的串口打印功能
, O7 g( ?3 J/ H5 f2 Z9 G4 R6 \. x4 f" g1 U
1 M9 i" r# b& U7 q, |4 d* o! ~+ t
注意1:
, X* F( Q4 ^$ W* o3 [* A& l6 n3 F$ V/ G6 W. i
根据需要选择所需文件,startup vector thumb_crt0.s文件建议选择,st官方的HAL中gcc编译器对应的启动代码无法编译通过7 T  Q2 }- I/ A7 g; B
0 b* N" w# u! d8 m  \# \
(也可以不选择后期手动添加这些文件,start 和vector 文件在对应的package目录的source下,thumb_crt0.s在SES的安装目录下)
+ G+ u& R0 P, C7 i; \  O
3 n' ^- [! B8 G* g& i注意2:
- P) p& g+ M9 {* k/ G+ t' _7 ?3 k  x
左下角的Import all files and package files 选项的功能是将选择的文件拷贝到工程目录下,优点是不与其他功能共享启动代码,如果不需要更改启动代码,可以使用标准的启动代码,不拷贝到工程目录下。, U  ^& m5 B/ C+ p$ C
/ a% U) Z5 _* G4 a8 J
20190305104006215.png
' G- W' q6 m  G3 I3 M& ?7 m

$ D. D/ \2 Z2 }0 y0 ]9 j/ u' ^0 i0 ?- @! ?9 q4 v4 [
我这里只选择thumb_crt0.s,next next finish
+ {9 i: `" M; j$ O
9 l( P* V5 Z8 [此时工程目录为% _2 q# U, \$ s" \$ w) f  [

$ `% E6 q% }1 a( Y6 s. @
20190305104006245.png
# o' U' x- A% S7 w! d6 ^; E

/ l, J: {: {- ]$ F4 ]  @) s) ]
20190305104006338.png

" c% R7 x; {4 A5 ?: i" P! |! `" P# a; K3 C! {8 p% U4 P
3 J+ J" f3 N3 I
第二步 添加文件
+ K. `6 ]8 Y+ d+ m5 L; _0 x& [) D0 o5 |/ [4 A
+ h& |; N$ B( r8 q4 ^# P' k' I6 ]& ?+ p, D
添加start 和 vector文件* \2 O. t) j6 P  a0 R0 @

. ?* c# m0 }- L, G& G$ G4 A建立User文件夹,添加文件(其必须的文件可在库文件的例程中拷贝)
3 v7 ]0 a% E) [! ~6 ]+ \
$ ]4 R% z4 z  ]4 Q. h' _建立STM32Cube_FW_F3文件夹,添加外设库文件3 s# g2 J) K9 f: G: Y

; L6 u5 B0 P6 f6 P9 f2 ?9 k0 f7 m
20190305104006317.png

- s0 Q7 ^% _$ c; ~& e3 B2 B: P! N9 f
20190305104006313.png

4 w9 I. f/ J2 A1 L, D9 J9 ^3 N' v6 C' E* e8 c/ @

& \+ W7 W" R! C4 X  D5 z
20190305104006334.png
5 A" F4 q9 K7 Y, d" I7 r

8 A7 J, p. l& l! U4 x$ u! O0 D
4 v5 P9 C+ D" \) ^0 t2 U# J第三步 添加头文件路径
8 s" y: T* Y' ^0 V) U

9 X0 ^$ e2 K( p$ |
20190305104006354.png
$ f$ S5 J: S2 x: k5 ~" {
7 k) i! G: I5 |
20190305104006385.png

) a& R! E0 P4 t# G/ J0 E" F& Z
& _. R5 w0 u, J8 u. J, n% I) F% }& p( e* `* Y! m, q$ i& W
现在编译就可以通过了- t) E( J/ F1 O+ u4 q

; A$ T0 |9 p0 U2 }* A
20190305104006646.png

7 W& s  m; g5 D
2 R& ^% J& ?( h* ?$ U
$ D1 v* R% |/ Y: @, F第4步,连接硬件(目前好像只支持Jlink). `) m1 V, e) h- _+ ]

8 z1 m, Y* ?! J7 R/ b$ u8 A- R
20190305104006448.png
9 e# y3 B2 l" i( ?4 v

0 c3 k) \  T5 `! |$ Q% l( U: m( F( s. ]: }: M9 Z. ~' {
- v( o, z9 z1 h) S
& R4 P2 b& b8 r+ b8 t! k) s
注意:
2 {* u7 N; c8 v3 ^; o
& _. A# \: s3 |3 l' b; o( a% `4 L需要选择STM32F3_Target.js文件,可将package的文件复制到工程目录2 F/ t2 U" d9 B
' F. i- b0 u, d& M3 @  K# @
20190305104006505.png

  v# x4 t3 B( l. c6 R7 N! G' [6 q! X/ q& w

' C6 T: U2 r9 |6 k: h$ K( l  S至此,工程建立成功* Z7 }' b3 e8 G0 O0 X! a  w5 p+ T/ e
3 x8 a- E% y( v1 e3 [
7 P$ y& P; C7 ~' q" W. ~" l+ l
20190305104006510.png
收藏 评论0 发布时间:2021-12-6 01:22

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版