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

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

[复制链接]
STMCU小助手 发布时间:2021-12-6 01:22
准备工作
2 B/ b4 c0 A. V$ J
/ j; \+ ?' \: \' q  在st官网下载 stm32f3的HAL库文件 en.stm32cubef3.zip- F3 ^; a7 ~7 B3 X- r

' R( J! m1 F: i! p$ ?  G  安装最新版SES,通过Tool->Package Manager 安装STM32F3的package
' K+ r* [: t8 J2 R" [" i( X# k* ~6 Q* C8 u+ i7 }, c
  在tool->option中可更改package的存放路径 和 新建工程的默认路径; _8 v' ~) b' A$ U- d0 G

( K& T1 k) R" o$ Q5 l2 A2 O0 P
20190305104005921.jpg

2 e4 i: \5 N4 `. R/ P9 T. I/ C( }7 d% n- N7 B* ?* G' w+ j
更改字体、显示行号
% l8 R: [$ H0 w1 K: c  N5 T
4 e- a0 s! a! U$ }3 I
20190305104006549.jpg
# `% p" p3 S) z! }) j3 V- b8 f) d/ v& s
# o- Q- B1 E# Z/ T+ w- S8 d
在Project Explore窗口不显示code 和 data的大小* l6 S" x" M6 s+ E, }' Q

& o' [* v7 c# O* ^# q' r. j3 \. u1 ?% J
2019030510400667.png

' N2 z# i! e* h" v- K0 |1 p0 i4 ]1 |# `* `3 e, x' s! @

( ?/ \3 Y& s; Z/ g3 v5 ?4 R# q0 w2 \2 R3 O7 u开始建立工程:& Z; _& `' b: b8 x

5 B+ S- R; Y5 |7 n第一步 file-> new project 创建工程名称并选择路径(建议新建文件夹)
. J, ~8 z" C7 J# c9 e9 |1 _/ C+ j( N& G/ Q' c
20190305104006122.png
5 a1 H0 d) X* Y; U1 q+ z6 K

7 G7 V* a+ }* l2 w更改芯片型号  t! K; f. H6 }: M
0 x+ i' g; B) t9 s
20190305104006155.png

: e7 s! k  B* s' V$ \3 ~0 c) u9 x8 [! `8 Z
选择需要添加的软件组件6 p# h$ S2 s2 U, t! Z1 J

4 g- v7 _8 g: b
20190305104006274.png

0 d. J- J1 B  M: i
6 r! m5 e, o; ]5 F$(DeviceHeaderfile) 包含所选芯片的头文件stm32f3xx.h (STM32F303RC   HAL库)4 r9 L4 T) l* Q/ J
  d/ T6 |% F% W5 x8 [6 F
$(DeviceSystemfile) 包含所选芯片的系统配置文件(时钟 flash之类的在复位中执行) system_stm32f3xx.c (STM32F303RC   HAL库)
. M; X2 N  c1 b1 x! l0 l% B; A# x; m7 ?
$(DeviceVectorfile) 包含中断向量表 STM32F30x_Vectors.s
" K, U& ?7 D$ d/ k1 X" V1 [0 w# b! `
STM32F3xx_Startup.s 系统启动文件,在复位处理中,进行一些初始化处理,执行完之后跳转到C语言的main函数& p) P3 [0 W" J

3 n: @9 d% H/ P/ T5 V: M  QSTM32F3xx_Target.js 仿真时使用5 \7 z( B) N2 n

# Q: o  |2 G$ D2 |# P' d6 Kthumb_crt0.s 启动码代码,被STM32F3xx_Startup.s中调用# ?6 |0 f, `1 J) l0 `, A6 [2 i

( E, v6 _0 h4 K  G7 E, X: RRTT相关的文件是使用RTT功能,方便代码调试,取代传统的串口打印功能
$ }3 `  _8 f- P# y. N& t4 f/ w$ B: H& x/ q/ P
6 K6 ^7 R% e) ]7 j$ H4 K
注意1:
/ u# q1 }# N: T. ~( ?0 T& t. q! K- h$ z, }% H
根据需要选择所需文件,startup vector thumb_crt0.s文件建议选择,st官方的HAL中gcc编译器对应的启动代码无法编译通过# ]# n- }" B$ V( |2 c
7 V2 F5 g8 O; s, w' Z
(也可以不选择后期手动添加这些文件,start 和vector 文件在对应的package目录的source下,thumb_crt0.s在SES的安装目录下)
  F9 d8 l) h6 F1 p" _$ b" J, }
; d" \3 C1 A+ w, }% s注意2:
% E! }/ E  S" T$ E
) Z' g1 p9 W, ?7 M& K4 Q- V* c( t左下角的Import all files and package files 选项的功能是将选择的文件拷贝到工程目录下,优点是不与其他功能共享启动代码,如果不需要更改启动代码,可以使用标准的启动代码,不拷贝到工程目录下。/ ^9 B+ P9 v% \8 `: f

7 w1 e4 k2 ~& Y
20190305104006215.png

  T. p9 B" ^+ B$ S- P/ C+ z* X) `! ~4 ^! K! Z

2 X" w) u1 @. S! K5 M5 C我这里只选择thumb_crt0.s,next next finish
% G8 T3 p! b; c7 L0 U0 L& q+ p. b+ n' N, v
此时工程目录为
8 W3 t" @7 E6 c6 E' b3 _* G+ \- f% c! T$ z, [
20190305104006245.png

! M- J) M; n' S' [% n
2 }! u8 B/ c5 T" n( B. {
20190305104006338.png

  J' t1 I5 n7 L4 m9 n% r7 E6 l% j& n: g$ l1 Y  h' @) q1 ?3 K% C) Q

1 r9 B' t6 }2 H; W5 D( W) l第二步 添加文件( {& u# f6 B- H+ |% K: q$ j) O

! Q3 \6 i  K( l0 P$ Q- |  y
$ x2 V/ V* T- n/ D) L添加start 和 vector文件
9 l2 n& W3 o* W3 W% |/ L
/ ?6 Z$ \3 n* D3 y& w$ B5 K4 y) Y: ^. s建立User文件夹,添加文件(其必须的文件可在库文件的例程中拷贝)4 i4 }7 P! \: t7 X
% H0 v) u" o( R' O* R+ P! R' {
建立STM32Cube_FW_F3文件夹,添加外设库文件
0 S# O- [7 [4 V- B1 N6 P6 }3 Y9 `1 X) `, ]
20190305104006317.png

1 ]- C% b- E* [% x' m5 t6 k6 h3 E- L+ v" W
20190305104006313.png

, u9 B4 ^/ q3 T8 b' q3 I, O: N9 G) k! e/ w- D/ Y

/ E  A: H" E5 |" q
20190305104006334.png
7 U. D2 h6 a% [4 e% ?7 \4 j

0 D( S: Y/ |  W3 s. {0 s8 q, f
# \) \5 i; {4 K, I第三步 添加头文件路径

) l1 D& N- [" ^+ K( v9 O* `7 h, S6 U8 A) D8 c8 n) x: \9 Z; |
20190305104006354.png

( j! _8 m, }7 J
. \% i6 Q) Z5 y" J
20190305104006385.png
! m0 D# k& E4 ?5 \

9 ~1 h/ Q* A1 ]1 h5 w% e8 M
3 c. i0 O/ v6 |现在编译就可以通过了
, r4 n& r" r: k6 ^, j9 e, Q
- [4 ^5 q' ?# L
20190305104006646.png

' @' n& j+ s' T5 ]
" l3 f+ H0 l( R. @" P3 d& A: ^8 L* a) w, G! |: ^$ r
第4步,连接硬件(目前好像只支持Jlink)
: f# F. ?" e% O8 s" _2 e
# E1 p( [, ~3 t2 ~* z
20190305104006448.png

, X. n% K7 \2 ?/ C& c6 f) h
1 ^9 a0 J) p( ]* ?( K
+ N# w/ S6 Q- D4 c8 B# }
: m1 h5 h5 ?5 V+ C9 z" J
1 O1 d* `, @! \1 I注意:
# ^4 b& s5 t0 F  l
6 m2 S5 q2 R' R" M& @' D7 X需要选择STM32F3_Target.js文件,可将package的文件复制到工程目录
, C& k& E. ]! E4 r6 @- O/ K5 s- H" T! w0 n2 M( C  O$ v
20190305104006505.png

7 Z* _( [4 L- q$ n
% o( ?: M& v# G; \6 Z, n$ G9 \6 E1 y3 M8 u& I" X8 S
至此,工程建立成功
! F& z1 L5 M" q$ z$ `. N( r: B5 i0 @' a6 h. e
& `( ^+ h, O6 u  m: ?$ [- I
20190305104006510.png
收藏 评论0 发布时间:2021-12-6 01:22

举报

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