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

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

[复制链接]
STMCU小助手 发布时间:2021-12-6 01:22
准备工作/ h, h4 b6 l1 ]7 `3 J; [2 n
9 u) \/ C4 T$ p
  在st官网下载 stm32f3的HAL库文件 en.stm32cubef3.zip7 f# o3 m3 x" u5 H; k

/ s* K- ~1 p8 l+ F% Y  安装最新版SES,通过Tool->Package Manager 安装STM32F3的package
: `  M0 i/ u. z) {
3 e# Q" C2 Q2 O) T) V. E" Q+ @  在tool->option中可更改package的存放路径 和 新建工程的默认路径7 {0 g. J; l5 I# @
& a" t" }, T3 j% V7 p% D' X+ `# H
20190305104005921.jpg
( k& O) w+ e6 D9 |5 g9 p) L
9 m8 _) ~2 n% }( Z8 Q2 }6 Y* a3 r
更改字体、显示行号
. u3 m/ o1 V0 R  ~# J8 s5 Y- s+ ?. Z8 I
20190305104006549.jpg
, D, K2 N! W! ]' ?' z

+ V, A6 f2 R8 l在Project Explore窗口不显示code 和 data的大小/ d( H5 g' C/ Y. n$ e) |
$ E8 s9 b0 H9 Z4 z! M
2019030510400667.png

# `0 r& L( f- h! T& g) Q: s9 p6 }/ p$ ~* F! J2 A) t

% G1 w' {; |( s& Z( t0 F开始建立工程:- R) X  n" N2 ?. D
- x5 p# ^, k  u0 D9 u
第一步 file-> new project 创建工程名称并选择路径(建议新建文件夹)
- Z: z7 E4 |8 p) |. U0 W3 z1 L7 h' F# m. }7 ?+ `9 O# [% A
20190305104006122.png

0 W" [3 j$ e7 s3 Z
3 W. c* C2 O8 j" C" Q更改芯片型号( R2 M6 v/ \$ q* L$ a- D& T

( j- ^6 K9 Y, s& m9 `( g
20190305104006155.png

7 i/ ]/ d5 u) f; f
# P( m: y" M  @7 G选择需要添加的软件组件$ H, t7 {1 q( ~# b

2 c% b4 ^8 a9 a- z' J
20190305104006274.png
' X- z; y3 f4 F

% _1 T5 [* f: C" L: Z/ |3 \$(DeviceHeaderfile) 包含所选芯片的头文件stm32f3xx.h (STM32F303RC   HAL库)$ _; }- j# N% X: J$ R' Z& z+ E
9 e8 \2 q( c" o5 z( {
$(DeviceSystemfile) 包含所选芯片的系统配置文件(时钟 flash之类的在复位中执行) system_stm32f3xx.c (STM32F303RC   HAL库)& x5 @9 ]% H- p" k; I. ^
* m. y2 a5 k3 j9 n
$(DeviceVectorfile) 包含中断向量表 STM32F30x_Vectors.s8 ^/ X8 s  ?# @$ G; H9 J0 h
7 o: ?- v: P; k2 k( p8 m) D
STM32F3xx_Startup.s 系统启动文件,在复位处理中,进行一些初始化处理,执行完之后跳转到C语言的main函数: _! J# Z2 ]/ Y1 C
' k  x  I9 [/ [/ V
STM32F3xx_Target.js 仿真时使用
1 q$ q( E8 ~0 R. H1 z6 E! ?6 w3 _# _
thumb_crt0.s 启动码代码,被STM32F3xx_Startup.s中调用8 |+ m2 \9 V7 Z& h* b
( v3 {1 {+ [5 E
RTT相关的文件是使用RTT功能,方便代码调试,取代传统的串口打印功能3 B) a7 R8 q0 F$ d, f8 p6 v- P
: W- {9 b9 z7 l$ `

7 z6 m" x% B! \3 r) b注意1:, |- G- Q: l. Y

5 U2 Z# o3 _7 P% [2 b1 e. P根据需要选择所需文件,startup vector thumb_crt0.s文件建议选择,st官方的HAL中gcc编译器对应的启动代码无法编译通过
5 J+ k3 B! [: [
- k- G( M% A$ I4 m2 H7 w(也可以不选择后期手动添加这些文件,start 和vector 文件在对应的package目录的source下,thumb_crt0.s在SES的安装目录下)) z0 v5 V+ H: ?
9 g9 Y# C* ~, c* J( |; s6 D/ }
注意2:
7 P+ Y( F2 V7 L7 H' W: P$ e+ P: i2 z' ]/ k/ m7 ^; o
左下角的Import all files and package files 选项的功能是将选择的文件拷贝到工程目录下,优点是不与其他功能共享启动代码,如果不需要更改启动代码,可以使用标准的启动代码,不拷贝到工程目录下。
0 o! [0 X, n1 c) a4 ?) M
# D! B9 N4 b  @# D. |2 @
20190305104006215.png
- j+ B6 d- F5 g' H$ c

; H7 q. b& a) V, u" o; y2 l- l" F. l2 R( G4 X" H
我这里只选择thumb_crt0.s,next next finish
3 M% I. N) f# U. b. t
  Q" ~2 D* j& |. w, d4 K此时工程目录为2 }3 B1 A3 x$ s, H+ c& X$ Z

" W+ e" v" D! `1 o
20190305104006245.png
/ }  `, I' d+ n& Z# F

8 Z' v8 X' J0 D5 B
20190305104006338.png
% T! U5 W( ], p& A

* C2 ?, r# H( S6 Q/ V( f9 F' Q2 e; _" |% Y! C/ {
第二步 添加文件
3 g' E( a8 L$ a: W
- L1 R2 M$ g/ A+ C9 y. r* ?/ j4 n* [8 i) k" L* \6 B/ ]
添加start 和 vector文件
# b! V7 v6 d' j) n+ I, ]& B+ c
$ g$ p. }7 W6 B- h, W建立User文件夹,添加文件(其必须的文件可在库文件的例程中拷贝)/ e' A/ V( ~3 {  d

5 {6 S& ?9 g# \$ H4 B% D2 u$ w建立STM32Cube_FW_F3文件夹,添加外设库文件
2 I- r" C9 A: d. l: [7 }6 N. e
2 r7 |" Y% ]* A4 G
20190305104006317.png
2 Y' `2 A$ d  w9 t! ?

; n9 E$ k' g' K. r  r
20190305104006313.png
) V8 g1 U4 c1 g2 K/ D  p
$ {' F/ Z: `1 ~& P

, _3 p9 k  @1 ~- m3 F, J2 X
20190305104006334.png

; U+ \9 h! P5 P: G) `* R/ i" g) C7 v4 d. r0 ^
, s: z8 g( G+ y9 v1 j8 H) l( z* i
第三步 添加头文件路径

5 |4 H7 E  `& r! W1 [( a% c
( O4 `, L$ e- E
20190305104006354.png
# D) ], ]# i2 [7 T& ]9 e

9 H: U" P- Y+ H8 O/ z
20190305104006385.png
* S$ n) w9 w# z5 p
% N& n, ~. m/ z, J7 o$ j9 n7 m
( X  ^) K& l; L6 n/ x7 R. _/ \0 y
现在编译就可以通过了% u: }! @8 B! p7 O

' A% p* I* X" `$ ~/ h: x
20190305104006646.png
  t1 l; [$ c2 x4 k% v8 Z+ V

2 V) t$ O$ S* y* b4 {/ l8 Y1 J  G" x9 R8 k$ [
第4步,连接硬件(目前好像只支持Jlink)# K+ S5 }: j: |" O! Z

# Q* l3 K: k, ]
20190305104006448.png
3 U0 i, ^: w8 l3 Z

) t, Y* ]: J8 P. n/ @- c0 _. D. _# E1 z* W/ s
, v6 U( _1 [  O3 C5 |& A+ ]' H) Q( C

/ O3 d' b) d  O3 r3 E# [0 j注意:
5 R$ `3 g7 V- S2 L% ?/ O! C3 h9 L* Z; ?
需要选择STM32F3_Target.js文件,可将package的文件复制到工程目录
7 x8 m; M5 }; j, E
* a  R- Y: y! k" n
20190305104006505.png
6 ~$ z2 T% t) B

; ~: G7 ^: y& Q  `9 Q6 L" S4 j: F  R, l3 U  Z0 j; |, v( ]
至此,工程建立成功
0 o. ^  |: [* i& `7 |* V+ [; j1 i8 S( }2 e5 a: u# A1 y: S
" d5 |$ n: F6 k
20190305104006510.png
收藏 评论0 发布时间:2021-12-6 01:22

举报

0个回答

所属标签

相似技术帖

官网相关资源

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