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

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

[复制链接]
STMCU小助手 发布时间:2021-12-6 01:22
准备工作
+ ~! `/ W' g' P2 k
, [, w0 ?$ B0 C7 n& z2 P$ D  在st官网下载 stm32f3的HAL库文件 en.stm32cubef3.zip. S% e1 v. H$ z2 C- v0 D- Z6 l9 a
; @( j4 H. q7 i6 z* x  }8 `
  安装最新版SES,通过Tool->Package Manager 安装STM32F3的package! Q: A; r$ e* s* {8 u0 I8 H1 K
5 Y) r: Z- a8 l( J
  在tool->option中可更改package的存放路径 和 新建工程的默认路径
3 M5 m. ?5 a0 `" I6 n0 h1 _! U2 ]; x, C
20190305104005921.jpg
8 _- ~# N% z# d

( i/ O3 x* Q, M2 Q/ C更改字体、显示行号
* ]: V$ y, m! J0 n& K, [! S9 I& T5 G4 A6 S- L) r! J* T
20190305104006549.jpg

) q/ `$ |; V* x" o4 P4 ]. c! P
2 N$ H5 i! k. F+ O3 w8 e在Project Explore窗口不显示code 和 data的大小
! o& J& {2 o6 F) F* s% T  _- Q- @" S7 Y" b
2019030510400667.png

: W6 c# T- ^8 M  Z' k6 h6 j3 f# R7 C
! e' m" m  ^0 M0 D9 L+ Z9 J
开始建立工程:0 F  O2 K2 P6 a. S  c4 p

( b9 e1 V2 U' a4 m第一步 file-> new project 创建工程名称并选择路径(建议新建文件夹), w1 n0 x9 H3 M- g2 L- }2 c

+ [3 s: @& B  [2 t, o* P  a
20190305104006122.png
1 `. C0 I) K( F# b1 X8 d# V

9 T4 J' s* ^% |9 U5 ?更改芯片型号
; u6 x) {* y( X% m+ C. B) p/ b8 U& o' |) Q- p1 a$ z
20190305104006155.png

& U1 I1 q6 M; @2 |; D7 }+ `6 V# u# t5 L2 w4 z' U1 K0 j
选择需要添加的软件组件9 p$ _5 e. H, K  G/ O
' O3 Q9 Y# N% V  ?9 n7 N/ A
20190305104006274.png

: {, A* a9 n4 C1 c
) E. u9 U# K$ G9 T% R' p- ]$(DeviceHeaderfile) 包含所选芯片的头文件stm32f3xx.h (STM32F303RC   HAL库)
4 T. h5 b8 Z$ Z4 p
* x' D" S8 Z  v+ X4 A) \$(DeviceSystemfile) 包含所选芯片的系统配置文件(时钟 flash之类的在复位中执行) system_stm32f3xx.c (STM32F303RC   HAL库)
* e+ K0 [0 a/ o
* o+ a8 P+ \+ J: m2 h" L$(DeviceVectorfile) 包含中断向量表 STM32F30x_Vectors.s6 O1 d; O4 A% r/ w
( R" B: B6 {0 p3 s/ [$ J/ S9 d/ i
STM32F3xx_Startup.s 系统启动文件,在复位处理中,进行一些初始化处理,执行完之后跳转到C语言的main函数2 k9 z4 k# `8 Y4 x) r# {

6 v" d; W) ^* ~& p6 @STM32F3xx_Target.js 仿真时使用/ e9 z: d& ]6 H8 {; n" q/ h
4 I1 y+ ]- |4 R
thumb_crt0.s 启动码代码,被STM32F3xx_Startup.s中调用
0 A. y* f" e9 v6 N
0 b( m2 R- S) N  e9 e+ @4 |RTT相关的文件是使用RTT功能,方便代码调试,取代传统的串口打印功能8 [1 r5 f: ?" q/ j
% \3 C/ [7 W5 E6 ]' e% w! I

1 A: A* @  [' ~' K) Y注意1:
3 G2 t% h, w6 |# W/ {/ v2 M- }; G1 h1 `& J& i5 B/ C( \5 r' \
根据需要选择所需文件,startup vector thumb_crt0.s文件建议选择,st官方的HAL中gcc编译器对应的启动代码无法编译通过& A3 w3 N& N7 g

% X" ]9 ?" n- a' h; U(也可以不选择后期手动添加这些文件,start 和vector 文件在对应的package目录的source下,thumb_crt0.s在SES的安装目录下)
/ Z! m* K! c6 k& O2 J0 A+ C  P5 d$ M! r* y% d2 R' P8 K5 b$ \, R7 l
注意2:# N) \1 o. l: e1 r9 m3 R( ^- h+ s

& E' z9 \* B6 {* X左下角的Import all files and package files 选项的功能是将选择的文件拷贝到工程目录下,优点是不与其他功能共享启动代码,如果不需要更改启动代码,可以使用标准的启动代码,不拷贝到工程目录下。' X, r$ d7 y' \; U  }

* I; y9 Z+ @1 r; u
20190305104006215.png

: z5 }& S: ~9 @
- I5 l* ^/ b( ?
/ F) o/ S' {6 [( L# x  m- o我这里只选择thumb_crt0.s,next next finish
: u6 o4 m; t4 j, R9 F! J2 @, b2 g$ u: L$ i
此时工程目录为# {! C0 m3 E% M( m5 U& R

& L' i  I% N* H  @
20190305104006245.png
$ Q% {5 Z% _6 b7 r; G
9 W0 u" D$ f9 P1 |5 h$ \
20190305104006338.png
8 |% {! w/ f, r4 W* c& R7 ~

! f2 @: D1 K1 c( T- u- V" |& P
第二步 添加文件# d: p# G1 q* d& P, I

' q2 N+ E, O- V; d6 n+ S  _; Q- B8 @. J
添加start 和 vector文件
- V# @2 X4 R" `' ~4 k* S& K4 C) a7 q- J- {9 j9 u; a9 i: ^+ ?
建立User文件夹,添加文件(其必须的文件可在库文件的例程中拷贝)& `7 _& |$ l  p

5 q' d: ?! ^! i3 `' I! k, O/ [建立STM32Cube_FW_F3文件夹,添加外设库文件9 k: d1 }8 {3 J7 w

! F5 A& Z9 V8 F9 f0 c7 B" U
20190305104006317.png
# m  u5 J; K: k+ h
4 t2 F' Z. g% _- c) e: w
20190305104006313.png

0 ~; M: [1 u2 L$ o; u' V6 \
. R: e  m& u$ g5 l& m. ?8 a& F( e# b4 k2 V' S+ W
20190305104006334.png

- V1 K" P- h& ~( _/ ~; B1 ^. ]: Q+ g5 R

, N) G" H# w: j第三步 添加头文件路径

8 _( `4 i4 @, o
! @: X' E* q0 s
20190305104006354.png

! M4 b3 Q  r8 a' z1 P, x4 {6 y* p5 j  _/ d* A9 ~
20190305104006385.png
3 F% r- A! A! x& \3 D2 ?
* @' s: u+ V( y. X* k& e

! M. `. h0 L' e" A6 @现在编译就可以通过了
9 l! N+ s8 w! n' q7 o
3 U3 q. ]6 X; i4 G" R) h/ n
20190305104006646.png

8 e5 R2 P3 I/ \- J& y7 t
7 {4 s3 e7 e- B
: h. T: q2 T1 b  o. W9 m第4步,连接硬件(目前好像只支持Jlink); @& s: o3 B' F" {
" I. _* i) f  O  E  g
20190305104006448.png

4 @. ]& d/ X9 h0 k: _0 P, P/ r7 g5 x& z0 ^' a7 m6 f7 W
0 ?2 f% P0 H: ]" ?0 z
5 v! a: a; i: }; i) |

5 F4 a  C" n4 N% Y注意:
! G% }% B+ a+ X2 _- x9 I+ y) q5 W0 l$ t; r; Y, h; F* l+ D
需要选择STM32F3_Target.js文件,可将package的文件复制到工程目录9 X/ B$ s; k6 s+ {+ U* H7 ~) `+ [
2 W6 u. H6 i( X7 ?- X  m
20190305104006505.png

9 h4 S( E( |  S$ ^* M
1 B/ j0 C. M# S( z. N
- h& E0 X- K9 k* V5 g/ Z至此,工程建立成功
! ]# l- h! T# Y( `9 ^. p7 K& J; N3 F& ?7 g

* R! U9 q7 Y8 Q" }3 ], E
20190305104006510.png
收藏 评论0 发布时间:2021-12-6 01:22

举报

0个回答

所属标签

相似技术帖

官网相关资源

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