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

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

[复制链接]
STMCU小助手 发布时间:2021-12-6 01:22
准备工作
% n1 d9 Z8 I% ?4 V: E- G  Q
: J# T- d( ^9 l" H  在st官网下载 stm32f3的HAL库文件 en.stm32cubef3.zip7 T8 X8 h. K. L( t) ~

9 l! q, D# A1 D" A+ `3 q  安装最新版SES,通过Tool->Package Manager 安装STM32F3的package  }) B5 t( m- ?" R! }. c" p

* ?" o0 m, j, g  L( ^; }$ o  在tool->option中可更改package的存放路径 和 新建工程的默认路径
: n. W9 a" a; p/ }" p8 [# ~( c5 `8 d* M9 ?' _& S6 g8 B
20190305104005921.jpg

1 [6 C/ y: t5 X& C. [. k5 \3 o# _  `% l3 `
更改字体、显示行号
' r' c1 b1 w" \9 n, d0 x) F
& E( F: f. K9 P, h9 k# i# x. u
20190305104006549.jpg
# O" _3 b& _( [4 c: B7 f

8 D1 F8 U% B; [在Project Explore窗口不显示code 和 data的大小
$ O8 e* A! X1 ^9 [
/ {# {( R; l2 p4 i( G
2019030510400667.png
& z0 e8 g  x" D4 }& x2 H4 I" h
$ E; {9 i; h& f8 a4 J4 p( ^
: R9 t" E6 v" S. y8 L, J; F
开始建立工程:
+ y# T! K& r6 H. Z# i2 R$ r9 E0 y& H6 k1 l4 ]: @2 X# R1 \( e
第一步 file-> new project 创建工程名称并选择路径(建议新建文件夹)* V9 [& n( m% s9 F- y7 G+ C8 _
+ ^5 N- q2 d! ^" M4 t
20190305104006122.png

3 E: b3 y; ^7 _
; z3 _2 B9 e0 E! \+ [, u* i2 I$ H更改芯片型号
4 ~1 w; y& x9 P$ Q
: G: ]$ C4 l1 L: Y
20190305104006155.png
8 |6 {- r' ?( B6 ~& v

, ~  E$ ?. u7 _  F选择需要添加的软件组件
% ]# Z8 S2 Q8 K- e- n) r7 R" i
  _6 s  Q$ z6 Y" u& y2 r# k& O
20190305104006274.png
/ p8 S3 |' @8 L3 o' T4 L

. V* I$ u- a& I1 s; d, b$(DeviceHeaderfile) 包含所选芯片的头文件stm32f3xx.h (STM32F303RC   HAL库)1 C( U. p: J- H; B8 l4 l

/ i9 A( A+ o. g1 b" w+ ?$(DeviceSystemfile) 包含所选芯片的系统配置文件(时钟 flash之类的在复位中执行) system_stm32f3xx.c (STM32F303RC   HAL库)
( K9 }( S; \! i- _0 J. C! W* x( j! q+ R7 V; y7 `
$(DeviceVectorfile) 包含中断向量表 STM32F30x_Vectors.s
* \; D$ h+ G5 \# M: u. n9 p  |9 h2 n1 d; Y8 |; b+ J
STM32F3xx_Startup.s 系统启动文件,在复位处理中,进行一些初始化处理,执行完之后跳转到C语言的main函数. j& k' l1 Z" R/ O3 ]
  z/ L0 Q. F! D0 R9 C
STM32F3xx_Target.js 仿真时使用
" b& {: e/ i( r; j) u7 u  B
2 G3 z4 y/ \- athumb_crt0.s 启动码代码,被STM32F3xx_Startup.s中调用. x) z3 R& K! F: H( \5 G8 f+ }
3 u8 F2 Y1 ]6 o9 N3 h: n& k- f
RTT相关的文件是使用RTT功能,方便代码调试,取代传统的串口打印功能. A  B7 l" R/ n3 m2 @- g2 _
. m# ^) g2 i0 m1 b; l) C8 j7 h8 w
+ H  I; Q* t5 Y' M' f1 L
注意1:; R/ d0 @' ?- \+ t) ^$ C! H
) ?3 K# g& T2 T  Y1 a
根据需要选择所需文件,startup vector thumb_crt0.s文件建议选择,st官方的HAL中gcc编译器对应的启动代码无法编译通过5 X7 t" d+ e- q% Z

  X% F) ]+ t( }(也可以不选择后期手动添加这些文件,start 和vector 文件在对应的package目录的source下,thumb_crt0.s在SES的安装目录下)4 i; O& a* h, q7 q& d

( Z! D. Z' o" X/ o+ L注意2:
+ m  i& K" I0 ?5 p5 j$ G+ q! d
. w3 {9 V8 d1 u7 n+ E5 |" r4 N左下角的Import all files and package files 选项的功能是将选择的文件拷贝到工程目录下,优点是不与其他功能共享启动代码,如果不需要更改启动代码,可以使用标准的启动代码,不拷贝到工程目录下。$ r! u' P) j0 C7 b

# a, F$ L5 o9 N* s" W
20190305104006215.png
# k2 }3 b) s0 k: u$ W( d

) C' X7 i, S3 H' v* x; m% W
' h2 d2 o* d/ Z: V* Y! u我这里只选择thumb_crt0.s,next next finish# L2 W1 ^' k6 a  y/ P6 O, H
! ?$ U! I: e9 M
此时工程目录为2 P' P) m8 k- p2 v8 H' ]

3 @" n2 K0 O' k% `$ j4 f3 `/ f7 G
20190305104006245.png

3 u3 c6 J3 b' F
3 v2 B8 H6 i' |! B1 z* \4 ~. T
20190305104006338.png
7 M1 s* F$ \; Q: x& B, p
( o. n( i5 r" {5 E, \, g8 j& G

2 d, k8 X. n2 @* n第二步 添加文件
2 z- R! I' V) ], X+ t  O+ x) ]9 I0 W1 A: P$ |
3 p0 R. d0 _6 C+ W; H: C
添加start 和 vector文件" J- y* ?# x+ c: T9 Z6 M
* c) N& m' x: e$ \) T$ b( u4 w  s
建立User文件夹,添加文件(其必须的文件可在库文件的例程中拷贝)
0 k/ e0 g4 V: t/ Y8 d" i
0 b. K9 ]+ Q1 ^' @建立STM32Cube_FW_F3文件夹,添加外设库文件
6 |6 ]* `  n8 W* e2 O/ M: T' F- T4 C4 U/ z. [/ e; N" N% `* i- W
20190305104006317.png
6 N5 p0 I7 b5 I' ^( l

+ W) d; U. G+ e/ ~
20190305104006313.png
+ f% F4 i( g  f8 l9 v/ g
4 C/ b9 n9 t' c8 P( l& ]( W& A

( e2 ], _8 @, P4 l) @; i2 |* L% S
20190305104006334.png

8 b3 i3 x6 R  T6 y0 f- r7 X3 W
. k, n1 ]1 S% H" ?4 e4 u7 z2 |$ V( k
/ i; a( W4 W4 A6 M* ^7 p; W. j第三步 添加头文件路径

! I" |/ D) S* U* w
) p! h# G5 h* f6 @
20190305104006354.png

/ I  f0 F' G. N+ V
0 k* G+ H$ d0 |0 l: Q1 f
20190305104006385.png
: r6 v1 I) O3 y, n! D/ ?0 C5 P
; f. o! O6 q) ]( x, h

" V! u) {# i9 I3 t9 _现在编译就可以通过了
0 d7 h1 }3 \1 x# \2 S. @2 n4 a5 p2 K5 y6 G! q/ g
20190305104006646.png
% b2 \. Z. C* ?7 J
/ W4 Y; u$ V0 ~; W

: |! S  r8 m& Y3 E4 _' f第4步,连接硬件(目前好像只支持Jlink)
* e! n2 p" X4 L% |+ t
# {  t; l2 b1 e% }4 B4 o
20190305104006448.png
7 q7 l; {7 @3 S3 D$ C2 W* O* g: E# N) ~

4 _2 j. C9 l- l* Y
- Z/ [' c2 T. U! D; i& l
0 m: X6 Y) P% o* m! M4 y$ {1 ]/ G# ~1 s
注意:9 u& j. e- _* a6 i4 y
( }# r1 @7 }5 Y; c
需要选择STM32F3_Target.js文件,可将package的文件复制到工程目录
( c7 ~$ K9 `' Y  n
+ u; Y, ~8 O, t; B0 t# J
20190305104006505.png
; w8 C- a5 I# T

! p% }5 Z- o* l6 q8 I- q. ~# U0 \! v5 ~
至此,工程建立成功
  L1 E7 _1 b# x4 z
0 C; c5 i5 h0 p# [- {
  N( L( x/ w- F2 ~. _6 W9 O
20190305104006510.png
赞 收藏 评论0 发布时间:2021-12-6 01:22

举报

0个回答

所属标签

相似技术帖

官网相关资源

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