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

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

[复制链接]
STMCU小助手 发布时间:2021-12-6 01:22
准备工作
& T8 W. e' h6 x) l9 \; R8 [) Y
4 a; L: ?9 V  _" \  在st官网下载 stm32f3的HAL库文件 en.stm32cubef3.zip
3 M2 p8 n  y' _: d  {* T! I$ `+ A
3 B# O3 K) u! c, I  安装最新版SES,通过Tool->Package Manager 安装STM32F3的package; a0 b9 ]0 n2 p' S# |
! u1 {1 J0 A( I0 c
  在tool->option中可更改package的存放路径 和 新建工程的默认路径
) F* O+ z! f2 R- `( Z& @" L4 I' l) d- `; ^. u9 M( ?2 q0 B
20190305104005921.jpg
3 t' \( q8 }$ {, W: r
4 E) k' l$ r( ?
更改字体、显示行号
5 P( a4 o% H' V7 R1 s
8 v6 K* F% X9 g; i
20190305104006549.jpg
  U. ~# s- D8 k9 i

7 W; i, ^) |. t1 o$ V在Project Explore窗口不显示code 和 data的大小' B. G. m( ~% F% W" G: T
5 R- {5 Y6 \" e
2019030510400667.png
8 k" Y' `! Q7 g, U
0 g: d" p$ q2 r  n6 R1 n
& v" h/ c+ l- }0 \# j
开始建立工程:
! ~- ^! A7 g3 Y9 J2 q( o" A* c/ i% o0 {! n
第一步 file-> new project 创建工程名称并选择路径(建议新建文件夹)% ]# O  l& S5 `. X
' y6 y, J6 _6 X" o
20190305104006122.png
) Z8 B, d- y5 V' M. Z# u" Y
0 N6 V" y1 \5 P) r: D% ]  ]' m! \
更改芯片型号
$ D8 O- g$ E% o, Q: i; D: C: D' ]6 ^
20190305104006155.png

9 F& U. X2 ^0 r9 U
) O( X7 d5 |5 `  i  [选择需要添加的软件组件
. r; |: m0 Y8 P4 S/ y' c9 J
) ?% k5 Q  S( |+ x
20190305104006274.png
3 X2 G& D# ~- L8 O& _5 m

: F; O' ?: r3 j% u$(DeviceHeaderfile) 包含所选芯片的头文件stm32f3xx.h (STM32F303RC   HAL库)
9 D/ f) g, N( i6 _% N* ?9 a$ P7 ^; r: R
$(DeviceSystemfile) 包含所选芯片的系统配置文件(时钟 flash之类的在复位中执行) system_stm32f3xx.c (STM32F303RC   HAL库)( w$ o4 ?$ R3 x9 A' E

+ M5 i3 j) c9 ]$(DeviceVectorfile) 包含中断向量表 STM32F30x_Vectors.s
: a, ~+ ~" ?# t- Q6 l0 R8 G: ?, E. t& O
STM32F3xx_Startup.s 系统启动文件,在复位处理中,进行一些初始化处理,执行完之后跳转到C语言的main函数
$ y* l0 J: o9 z$ D
) d5 U) g' l0 C8 SSTM32F3xx_Target.js 仿真时使用1 S- o# s! I9 {  j/ y6 B5 i7 ~( V

& D8 r# W9 X( j! S* y# g& Pthumb_crt0.s 启动码代码,被STM32F3xx_Startup.s中调用
$ I7 u. e, s8 S( o: A3 r6 D. @6 `: b
7 V/ b5 M; H' h' ?3 v' _RTT相关的文件是使用RTT功能,方便代码调试,取代传统的串口打印功能
+ Q# I9 f. X; x* z8 h9 B6 W1 a5 y; W( f  Y  s* M9 c
5 R- O( b/ T  }& k* l* g- T
注意1:
! j/ \& B9 u, a6 D. x( n
8 n7 @1 d5 t, p( z' a根据需要选择所需文件,startup vector thumb_crt0.s文件建议选择,st官方的HAL中gcc编译器对应的启动代码无法编译通过
% z; [4 s$ E* `
. S: C1 X( t) g1 D1 v: ?4 t7 [0 ~(也可以不选择后期手动添加这些文件,start 和vector 文件在对应的package目录的source下,thumb_crt0.s在SES的安装目录下)7 \; T4 Z+ n; j1 w% P6 m7 Y. R

( w$ x5 |7 c. z注意2:
5 v( Y. H% |7 @0 z- ]
' ~# d; V* `8 w9 t# L! [左下角的Import all files and package files 选项的功能是将选择的文件拷贝到工程目录下,优点是不与其他功能共享启动代码,如果不需要更改启动代码,可以使用标准的启动代码,不拷贝到工程目录下。
/ f( w9 t* T  P5 \. ?
: ~  u5 U; @- T8 `0 N8 `1 X
20190305104006215.png
- n1 _$ |* A, U, U

; B8 d, z# l( p  |9 C0 r# }8 W
4 M; s  @3 }. \( G# M我这里只选择thumb_crt0.s,next next finish2 H( v; U# q8 v+ v  Q4 N0 E

7 M' X# ~9 T5 O, l* e* u0 h  x此时工程目录为
. E& D' H. L) D; y: x0 j. k9 K/ G" S- F" P
20190305104006245.png
7 ]; g  b6 w/ m
) d+ v* v0 M5 L* k+ _: H8 n
20190305104006338.png

( j# G" W/ t5 F0 x) X0 `0 u% ?4 t0 T8 y, @" P' Y  V
, [1 G" u; x' A  C& ]
第二步 添加文件
% l( F: w1 ~' B# e( Z& h) k; w" \+ \) ^6 ?) t- x

/ _7 b0 t( N- S0 B0 p" k添加start 和 vector文件! e% m5 T* O0 |+ c
' }! h% C( T0 ^' Q+ c( L
建立User文件夹,添加文件(其必须的文件可在库文件的例程中拷贝)( |: W9 r  Z1 C. o* S8 i9 C6 h
) p( R* S& r. n% S; C
建立STM32Cube_FW_F3文件夹,添加外设库文件
; t" ]6 U6 X- R
' m$ c1 P0 L+ e$ `' P
20190305104006317.png
- a  w1 p; ]* d6 n5 H, B: H

/ u6 Y# t: v4 i8 v/ X) o7 [
20190305104006313.png
" m, r  _* X, b- H6 t
. k* g0 t  Y8 A- J' v1 n

' b8 k1 Y! _- ~% e* d0 }
20190305104006334.png
" H- Q. k. B. v- d- Y$ e7 J: A
. V! L6 h; E1 e; O
( ?6 v5 P2 a3 |4 P0 H" r
第三步 添加头文件路径
/ i0 e, f+ {! `2 \4 g1 e: w  [

4 S/ G# E: `/ o0 h
20190305104006354.png

# S1 _9 j# n3 \: k$ S9 `6 a
: n  x) N7 t5 N# n6 e
20190305104006385.png
1 l1 W+ A( b3 q5 W1 {

5 k+ Q% u: M7 f7 n8 r5 P8 S5 x/ ?6 o  w
现在编译就可以通过了7 C6 A# G. X0 \8 O% C  v3 M2 l
8 ^2 L/ _' B: m  h3 i9 {+ |4 W4 ^
20190305104006646.png
# x. W$ I1 ~! ]& \6 F3 P
& f6 a4 y1 v* e( t( F
$ k+ K$ }9 o; C6 w. }7 i/ ^# K
第4步,连接硬件(目前好像只支持Jlink)
& f% v* M7 t% n
- m* x0 B+ I$ l0 y& j
20190305104006448.png

* G6 i3 e; v3 E: y. |' g& x
! \5 s6 {+ Q4 ?3 b/ \* Z; v. g
  R8 }* ?6 Z8 w9 }8 u+ a, N: {, p9 @) ?0 e% \4 I
  |8 ?$ a$ h, b0 e* G" F# B4 X
注意:
8 D; p) W/ G! }  J. b, }, ^4 i. u8 \! e& e5 Y+ d' Q8 F1 z3 Q. A
需要选择STM32F3_Target.js文件,可将package的文件复制到工程目录
  `- Y, f+ o3 E2 ]0 |
; M9 f! e, P% j5 c: U
20190305104006505.png

' M1 a8 m+ Z: M% u1 a' {! q# l2 J8 d, l8 @! L1 O' {9 z

' ^3 w, `2 U3 ~- {! K$ x至此,工程建立成功# L% [/ N6 J1 V) g6 Q
" ^1 d# a% U6 L% G0 b* O
; Q% ~7 x% U9 j  e$ [
20190305104006510.png
收藏 评论0 发布时间:2021-12-6 01:22

举报

0个回答

所属标签

相似分享

官网相关资源

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