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

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

[复制链接]
STMCU小助手 发布时间:2021-12-6 01:22
准备工作/ d, @- f3 V  s% X9 h

  D1 d$ c8 ?6 U. p9 x: I  在st官网下载 stm32f3的HAL库文件 en.stm32cubef3.zip
% N; p* E: X3 R* Y4 K5 _7 S. Z
& {1 x: s7 t- n  安装最新版SES,通过Tool->Package Manager 安装STM32F3的package: s+ e' `9 C* k( v- M% V

, s+ o9 ~1 F4 R8 r, \$ r  在tool->option中可更改package的存放路径 和 新建工程的默认路径* [% j/ ]9 z) k% H8 @' v. [6 p

5 u! T$ N5 H% L) ]% ?
20190305104005921.jpg
7 H& Y8 i- b1 t6 `; W
* Z. G7 `% y8 V
更改字体、显示行号% g& h' r" n/ f" I3 i" `
  L& _4 ?2 w' y2 Q( V4 q
20190305104006549.jpg

, N8 G6 |4 Q+ p$ B- d# u5 C( A- e: Q7 V' H
在Project Explore窗口不显示code 和 data的大小
/ P  w/ h3 \' S* g9 d# `3 x8 j/ m" r) ?
2019030510400667.png
3 R- [" S. i% U" p+ N: y

+ b" Z3 y% v1 V) k8 Q1 T8 `& G) J8 _6 |  x9 _2 G" O( ~
开始建立工程:
' I( S$ O9 o( D, b7 V& y3 s* J! _3 H0 Y8 `
第一步 file-> new project 创建工程名称并选择路径(建议新建文件夹)
& ]2 a$ B' q. F4 L
4 W7 a$ K/ _- N$ T
20190305104006122.png

$ n- f5 ]( P; I# _; a, J  n% i7 N' E; G# _8 R
更改芯片型号
( k- t. W/ X& O; ^  o0 r: \& g2 x+ Y9 w. \
20190305104006155.png

2 K8 O9 F3 d5 ?9 `; b3 L' x; I5 F# _0 e  b0 a" x
选择需要添加的软件组件0 k% W3 Z1 d5 f; K6 j9 ^' O/ ^5 g

, ~6 `- L3 d" N1 V+ M1 {
20190305104006274.png

; e" v' v# l+ e, l* W* G1 g% `/ R# P% J4 t
$(DeviceHeaderfile) 包含所选芯片的头文件stm32f3xx.h (STM32F303RC   HAL库)6 ?' ?  T8 i. B5 y7 a
! Z* Y8 t( ]/ ~# _
$(DeviceSystemfile) 包含所选芯片的系统配置文件(时钟 flash之类的在复位中执行) system_stm32f3xx.c (STM32F303RC   HAL库)! X  H! D: f* h+ H+ N& F" O

. v) ~  P7 ~, v7 {4 a$(DeviceVectorfile) 包含中断向量表 STM32F30x_Vectors.s
3 ^1 d5 I, T1 C2 L8 X
1 A& {: W( x0 Q* z6 R; d3 I1 p; WSTM32F3xx_Startup.s 系统启动文件,在复位处理中,进行一些初始化处理,执行完之后跳转到C语言的main函数8 |. W. R4 c) Y, E  [6 ?

& c$ K% y' @( d2 o* u# OSTM32F3xx_Target.js 仿真时使用
+ P; |: ]" U+ Y9 `! R$ i; K- {) M! Q: E* S1 h( n8 p
thumb_crt0.s 启动码代码,被STM32F3xx_Startup.s中调用
$ A( f  g2 J, C( m/ P3 g0 b* \' Q& x: ]# s/ [. V! W# ?
RTT相关的文件是使用RTT功能,方便代码调试,取代传统的串口打印功能
0 i+ O8 Z) T1 G9 E0 N- b+ b1 j3 S/ w; Y7 Y; u( a, [! W$ q8 W
6 w( l9 G! R) U" t4 R  F4 [
注意1:
# ~) _! C: i% w5 o
) M) n  G" `5 E# w( L* s根据需要选择所需文件,startup vector thumb_crt0.s文件建议选择,st官方的HAL中gcc编译器对应的启动代码无法编译通过
. E  ^( g' y' o2 J
* i" d+ X$ P; Z. [5 ?! d0 Q; M(也可以不选择后期手动添加这些文件,start 和vector 文件在对应的package目录的source下,thumb_crt0.s在SES的安装目录下)' D# D2 U% P6 A  o) F

* }& k+ {* o2 `3 r5 @5 |注意2:3 |9 k! j  l! B6 W
5 c. U" ?* k. n
左下角的Import all files and package files 选项的功能是将选择的文件拷贝到工程目录下,优点是不与其他功能共享启动代码,如果不需要更改启动代码,可以使用标准的启动代码,不拷贝到工程目录下。
# V6 J! |1 x* w# i. c/ {# V
: O! M4 r8 j# y5 C4 T; J/ `- v" O
20190305104006215.png
, z8 e# M+ c: L( x% B
" A8 i. F+ H: W1 o% Y

; v! s3 }* O& U8 X' x6 k+ c8 j我这里只选择thumb_crt0.s,next next finish
! A1 A4 Q, b9 l2 a" b$ d" E2 p3 H  l# D6 Y1 D2 ?
此时工程目录为8 [1 \9 a# n- t! S: D
4 R' a+ q- R3 [* r  \  Y! t$ A2 B
20190305104006245.png

* x3 V) v) Y) X2 [% f1 y
& M) J( ?! |2 j- ]5 g2 X8 ?
20190305104006338.png
! N1 g1 V) I: B3 F6 T) l
- Y+ Q$ m, D: P% d

6 w9 _, Z: `% b1 [4 p4 u5 z第二步 添加文件
0 t+ s$ j1 Z' q& b% g- I+ b- p) M8 m& x4 Q/ K7 r

' {8 S+ x" J! H5 Q9 X" n8 t添加start 和 vector文件
1 i! D3 i. |* k0 r" f$ T% S% A  v3 @. a
建立User文件夹,添加文件(其必须的文件可在库文件的例程中拷贝)) e, ^& ^6 z9 P# S

. `" x% h  _) s1 F8 a, Z2 f6 Q建立STM32Cube_FW_F3文件夹,添加外设库文件: g. m) d4 ]3 a

2 T, H3 ?9 Z5 b: [, K  [7 v) v
20190305104006317.png
- L+ }8 d7 j' F6 T. B( F4 A  h

2 z, X9 L7 c! V# a. {
20190305104006313.png

+ _6 _- W3 Q: ^# G
1 ~8 \7 _4 T: C6 t4 M4 s( O: q# X0 u, g7 k5 b3 _( U6 e: v6 R
20190305104006334.png
2 ?; R# ], t# M; @3 `

- |5 T0 g( n- W$ r: _: W+ {# {
  m: ^7 [; t1 B" h- ?+ Q第三步 添加头文件路径
1 L- t2 T5 y6 G2 G* f
3 K; A/ D; W  Z0 N2 ~  V
20190305104006354.png

6 h, F6 J8 ^7 v& w0 i# q; a3 p7 K! d( ^+ Z
20190305104006385.png

  k& W" h) G. ]" k7 N3 T
( P- W* g- M2 G" L9 j' u& H3 |3 t9 @& t! D0 l- G+ J7 a! P- L
现在编译就可以通过了
0 O0 L9 R1 x4 q
  v4 @9 K3 a$ V. g
20190305104006646.png
2 i0 E) `. e! n0 k, Q  a1 j- t1 }

1 E- y) \8 d  r9 D% m+ m/ d3 R/ j( Z& l$ e+ B5 w7 ~3 k: h
第4步,连接硬件(目前好像只支持Jlink)
2 x5 c7 J7 I' n- D. k+ G* t* c# c
20190305104006448.png
& q" B' v' q- r9 E! |* l  O9 T
' d( Z# ^  T- [

7 L* P0 d1 F5 @
! H6 ?/ E8 c/ r: _6 M) Y4 C& j  P* j
% ?2 X& V, n3 u# F% q注意:
8 o) v* G% T3 ?! b6 k$ V7 W
; c$ g' D. c7 G2 ]需要选择STM32F3_Target.js文件,可将package的文件复制到工程目录
- F+ E. j. P5 d5 W; x5 D
! K7 E- [4 M8 N5 {
20190305104006505.png

8 q4 s6 F* q! \. A! y8 J) J' ]7 Z  a" T; g. f0 O: k) P  h
& T5 e1 E- f+ R2 l
至此,工程建立成功
3 A# N* V* z, J* O7 ]! I& [
% v# t$ h3 B& O$ d: g  V2 g# U
20190305104006510.png
收藏 评论0 发布时间:2021-12-6 01:22

举报

0个回答

所属标签

相似分享

官网相关资源

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