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

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

[复制链接]
STMCU小助手 发布时间:2021-12-6 01:22
准备工作# l% L, d0 D! t' w
) C4 R( w6 e$ S* G5 n3 K
  在st官网下载 stm32f3的HAL库文件 en.stm32cubef3.zip9 r: h0 P8 j+ n6 w
: r" r% ^  B! u0 s
  安装最新版SES,通过Tool->Package Manager 安装STM32F3的package( i5 [4 X# F1 L0 v! \7 L7 C9 t
0 q+ f  U3 ~, |7 L( z
  在tool->option中可更改package的存放路径 和 新建工程的默认路径( y0 c" j) q, B3 T9 h; v6 o0 A- J
& o7 ^6 _) p7 M
20190305104005921.jpg
. E  {- B: h  ~& o" c" D
0 `/ ?% @1 d# o) {5 B- F4 w
更改字体、显示行号$ I- c! B4 V9 r- R! e1 t

" y+ R4 @) W+ A$ O  I" G) b
20190305104006549.jpg
3 `. d- t. n( @2 L  G

2 X" r. ]' @% X( V) a在Project Explore窗口不显示code 和 data的大小
6 E+ t: ^8 P% f
8 a+ J" R) t8 q) }
2019030510400667.png
- U, M* k# Y6 k' G8 y5 H0 Y  J

! Q# Q6 F6 l, }$ e# l% y7 f, d1 G6 n: I- r' R: @
开始建立工程:
; h+ G, m2 [) H; a' T
1 f/ Z3 G, I* @$ d1 d2 B( ]第一步 file-> new project 创建工程名称并选择路径(建议新建文件夹)
0 Q# g/ r& m4 x6 s( m1 T3 Z5 w# e* Z
20190305104006122.png
! O- ]# N$ x1 F- h, A! j! C1 H! P& ^
) u" N9 j- x" n+ S
更改芯片型号
: ^. Q8 M; }. j) i8 J- X4 m+ I$ I
8 e, `3 C6 R6 ~7 X6 x: Q: p
20190305104006155.png

4 _" S. d  t: }, k6 [% z
4 m% U/ [- I- \2 G选择需要添加的软件组件
" B( A  ~' z  k" K; {" _8 ]% z
" L4 s* ?8 G! \' Q) d' f. J
20190305104006274.png
; Q, c, p  f* g5 Z, A) m& ~/ G
! ]1 q( M8 y* Q! v
$(DeviceHeaderfile) 包含所选芯片的头文件stm32f3xx.h (STM32F303RC   HAL库)  Z8 e  h, }6 @6 S

: H' Q: b" X4 R$(DeviceSystemfile) 包含所选芯片的系统配置文件(时钟 flash之类的在复位中执行) system_stm32f3xx.c (STM32F303RC   HAL库)  ^* W+ V$ [! f! P, j' a& w
4 F) L% F4 d6 M) a3 v
$(DeviceVectorfile) 包含中断向量表 STM32F30x_Vectors.s( x, v( Z  e/ U# \
9 t7 O( O$ @, Y; j  ^( H  \
STM32F3xx_Startup.s 系统启动文件,在复位处理中,进行一些初始化处理,执行完之后跳转到C语言的main函数. ?$ w) D9 t8 w: w

$ E, _, j: I5 G: E8 \& ~% |STM32F3xx_Target.js 仿真时使用; s: f- Z: K; b" e7 _3 i0 F2 y
" B7 C- S1 e) o7 J0 l4 h6 e( S7 F
thumb_crt0.s 启动码代码,被STM32F3xx_Startup.s中调用* A) a* [# j# p  c, h; C
: T/ G$ v1 u: i  u, \
RTT相关的文件是使用RTT功能,方便代码调试,取代传统的串口打印功能
1 l& g% |0 C3 C; r# J
$ K2 h6 f( [2 `& v  F1 k& ^
. P& C; Z1 D3 Q8 y注意1:
- {- d9 F' ?; ]2 L4 A' M5 c# ~8 \/ Z& @
根据需要选择所需文件,startup vector thumb_crt0.s文件建议选择,st官方的HAL中gcc编译器对应的启动代码无法编译通过
: G; z' A1 {: G) ?" Q, ]8 o
* Z. b7 n% G! _9 A+ }/ @* A$ |(也可以不选择后期手动添加这些文件,start 和vector 文件在对应的package目录的source下,thumb_crt0.s在SES的安装目录下)4 o1 X( P# F* J) |3 O% o  C# w2 s- @1 k
1 q- p- ?: n( c: u2 B0 M
注意2:
  R6 [$ D- K" P9 u
% M8 H% O: m( m2 c左下角的Import all files and package files 选项的功能是将选择的文件拷贝到工程目录下,优点是不与其他功能共享启动代码,如果不需要更改启动代码,可以使用标准的启动代码,不拷贝到工程目录下。
# C* {$ U) v" K' d& H7 u( N& ^" N7 g& b' z
20190305104006215.png

+ W8 X& _) {/ Q2 G" @, D. {
8 {/ Q3 q: B* ^3 V* o) {& G
6 r" g8 n7 `! i! z( {" a: H3 k我这里只选择thumb_crt0.s,next next finish6 r0 [. D2 I# c" l+ `, @
- h: Z' u  r  M+ `, l8 O) B) v" N8 J
此时工程目录为
) Y! b& j* k5 a# W
( t7 Y5 T# S2 b! T% x
20190305104006245.png

+ q, f8 D, g( p# v: ?/ m# d' y& S- `0 ^  P& B9 J
20190305104006338.png
4 n9 G8 `0 D3 Y' p$ X1 {0 _2 m# U5 H
; ~3 k: \/ E& U  H
+ D% |: y1 h1 G3 `( c1 w/ Q
第二步 添加文件: h- s8 U0 e! Y+ U( O" V3 s, Q
4 J# C+ A$ j7 q5 d& V

( K- X- v" |0 y) |6 G' X% }6 Y- Z添加start 和 vector文件0 _; t8 q. w* ]& J% M+ t

; h; Y: \+ C5 R6 ~7 f* I建立User文件夹,添加文件(其必须的文件可在库文件的例程中拷贝)' R. e! E# y- E. I; Q
6 p4 g  I. R+ c  R7 p  [) C; e
建立STM32Cube_FW_F3文件夹,添加外设库文件
( r! l9 \" u/ E! ^: E* ~1 ^
8 D; {  R- n* T( v1 F& ^
20190305104006317.png
* E" j/ j' n  `  I4 K* x, w7 N0 ~

6 t* w: M. B9 Y0 r4 Y
20190305104006313.png
% l& ^9 P7 x, x

% Z  W! r5 d! c; V- i4 e; h. [# D. M+ S2 o
20190305104006334.png

4 @4 c; k* F3 x" {& ^6 U/ A, Q: j1 @$ O, ^

& U3 Q5 G! T& |! D+ J6 ^4 a7 z, |; H. d第三步 添加头文件路径

  N9 N; q: y& h' W8 ]9 E+ l% n4 ?! ~4 R2 b+ J0 D' a
20190305104006354.png

2 P; l: J/ c% [# D
7 `3 a- S! \  }9 ?0 S3 G6 g
20190305104006385.png

1 C) ~; o. ?: c9 Y. V# Z/ g$ W& s
2 v8 q# @. e- X
& }( m  G: V" v9 s# R现在编译就可以通过了
& z$ C% {7 R, X: F& f' V# o: k& ~- t
20190305104006646.png

7 {% B' Q- U0 ^% [. `: F( Z, o" K: C/ y

% B' g& R( o0 u, M  k  y) ]: z第4步,连接硬件(目前好像只支持Jlink)
" d! z6 z& X% O' l; u8 f
2 k4 ~+ Z& L& \4 U8 D& ~# l* g
20190305104006448.png

" t/ ~2 r+ N! C; n% q( G, x
. |) b7 F. j1 v( A
. k0 T( G2 u. w( t' r* @
* d  m7 `3 @" q( ^0 Z
/ r5 ]( Q8 g, {% c8 {注意:
5 \6 W$ v+ |$ I+ W( S4 W- q0 @/ h# T4 d+ G. a+ h/ u  r$ f
需要选择STM32F3_Target.js文件,可将package的文件复制到工程目录
9 v. C- N$ R. b# f; L/ O6 w$ u
$ c# P0 X3 g+ E" Y* t+ ^0 C
20190305104006505.png
) V5 P( w! h4 k, j- R' c) U$ [
( f0 H( j+ F% |

) `# H( t1 L" c4 m$ t至此,工程建立成功( H  A, r$ p, B
( y) ^7 K. P( {7 S* \

8 S1 }, l* k6 Y" ~( e: K
20190305104006510.png
收藏 评论0 发布时间:2021-12-6 01:22

举报

0个回答

所属标签

相似分享

官网相关资源

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