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

【STM8-SO8-DISCO】——2、简单粗暴建工程模板

[复制链接]
七哥 发布时间:2019-1-29 23:30
本帖最后由 toofree 于 2019-1-30 00:47 编辑
9 _& y* g) O2 ^) A7 g, [/ N/ n4 i: b6 Z0 C; ?4 t
【STM8-SO8-DISCO】——2、简单粗暴建工程模板
8 V, P2 W+ p- w) x6 E5 I
7 `3 d* d/ i" G) g& L4 q& V4 i6 E
  工欲善其事,必先利其器。一个顺手的工程模板也是比较重要的。
7 W1 Y/ I# S$ f2 u$ P
5 O; D2 ^& K" u) f
  本贴以个人使用习惯,在官方STM8S/A函数库工程模板基础上,定制一个自己觉得方便的STM8 IAR工程模板。
3 Z0 l3 g- u1 O  Z5 q9 o, `  U) |1 s
: [* G1 @3 t+ `' f3 ^$ B1 m/ H( ]  一、开发环境及外设库7 a- d1 O/ K+ D' h
  开发环境:IAR for STM8 V3.101 b) b. h5 s: S: y
  STM8S外设库:STM8S/A Standard Peripherals Library Drivers V2.3.0 / 16-June-2017(官网下载压缩包“en.stsw-stm8069.zip” )
. O5 B, v/ m& v2 l 01.jpg ) e" [6 Q/ r4 v; J; O3 H) S

- s4 C: ?( V' }- ?5 ~5 t5 ]7 W/ x
; Y' r1 }4 W; k+ u% e$ o# z+ W 03.jpg $ B2 l" b0 h" }/ V. b
3 h- G, b5 {" G* e
" q) w* P" Y' y  b' c: q
02.jpg   r# [/ {7 E) m3 G; S
3 `& A2 j) f) s" y7 K. d6 K- ~9 s
  二、创建个人工程模板

8 {# T. B* \, ~6 d- o9 q6 p1 A$ L  将压缩包“en.stsw-stm8069.zip”解压到本地硬盘,(目录不要太深,最好不要有汉字)。. \* |( r% `0 {1 d# B1 m
11.jpg ) b4 |) z' T4 X" f9 j
# Z  p+ C6 t- `9 J2 K6 h
  复制“Libraries”和“Utilities
”文件夹。
# T) Y) T4 w) v2 N6 b 12.jpg
" o" R8 x/ F5 ~* X. `' m
! Q- F* F% D6 J5 v4 S1 b3 O! U$ i/ p2 P  粘贴上一步复制的两个文件夹到“STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Template
”目录下。由于本贴专为创建IAR的工程模板,不涉及RIDE”和“STVD”,帮删除此两文件夹。- i+ w* t: ^9 @  k6 t9 Q
13.jpg
; J$ V0 n0 Z* }9 ]: b0 U6 d- @7 u) \( n" x" f. D" C
  最终“
STM8S_StdPeriph_Template”文件夹下效果。( w# y4 J6 q5 I4 h! H. R
14.jpg 3 ?7 k% ~$ ?3 a/ R$ T* Q
5 _2 f0 @& V' j  s3 q0 Q% C9 z% b, t$ T
  进入“STM8S_StdPeriph_Template\EWSTM8
”目录。用ultraedit或其它文件编译软件,打开IAR工程配置文件“Project.ewp”。' F2 l  d8 D2 e3 n3 j* o/ w
21.jpg : r) B" K( ^- x# l

! J# T/ ]7 l! \8 G. G% r  将
所有符串“..\..\..\Libraries”,替换为“..\Libraries”,即减少两级目录。
5 x) q8 O1 _! B5 l: `3 ~" A 22.jpg & x$ X/ }/ w1 L: U/ k8 }% {! o' C: ^

. F# q0 j1 z# d( f- f  同样,将所有符串“..\..\..\Utilities
”,替换为“..\Utilities”。
# n* x3 F" ^1 B  q- L% x5 W  l 23.jpg
- A' `4 o0 p1 a: D6 _6 a) Z# d* N0 ?- D' J
  替换完成后,保存文件设置。
Project.ewp”文件中相关路径最终效果。
* N; Q/ l* k1 C% Q' f" ^5 u 24.jpg - ]5 r: C3 I; }3 W8 a' _3 Z8 X! g$ ^5 V

; Z6 v7 w9 Y9 ]3 ~  在
IAR中打开工程文件“Project.eww”。看到默认配置为“STM8S208”,需要修改默认配置,不然每次打开工程都得设置一遍当前工程。
9 D, z. e% y% d8 A 31.jpg 6 b4 m: r: \6 p- z! x

" E; [0 Z- b; E5 F' {) }  从“工程”下拉菜单中,选择“编辑配置”。$ ?  s" ^, j. A5 _: g& a! K, Z" W
32.jpg
% E3 p9 U/ H9 E0 E/ [9 g" H, S- K2 J7 A2 T
  按住鼠标左键,将“STM8S001”配置拖到最顶端。
6 e$ _! l, C. E2 Y9 M/ M 33.jpg
, l: R8 }" _/ j
+ _+ ^1 c' J8 b! L/ |) y6 d  
保存,并退出编辑配置窗口。: U8 N; }7 Y+ M  ^- k& H& U
34.jpg
2 k2 l% m! U1 P* A. `( d: R+ k9 C4 `& ~" u4 I7 `' c
  回到主界面,可以看到左边的工程管理窗口中,默认配置已变更为
“STM8S001”。
! }% P) G, h. Y, \% @. F 35.jpg
- |& j/ e; `4 K" i! Y
, h- g( Y  W2 \) c# u8 G  打开工程选项菜单,检查器件是否为
“STM8S001”! f2 s2 e& I* S( X  `
38.jpg
, e; c; t% ^- }! a: L: w
+ K" a3 T# x& D6 z
  检查工程头文件包含路径,及必要的宏定义是否正确
: I9 l* [. u$ y+ X" p' G 36.jpg
3 C" K' G' x8 n; m
- [4 b" G& V6 h/ p3 h" F% h  编译工程,编译无误,工程模板定制成功。: }: e7 D2 a) S
37.jpg
! e7 i3 \; Y1 S+ V7 l& @& r5 ]4 q) E. J( l2 l+ t1 a3 n) N2 I
  二、测试IAR工程模板

. n* f! o3 f  z3 f& q5 A, U) d
+ q8 y8 [$ J! S3 W, q0 L
  y5 z# K! v" r/ d$ i7 y
  复制工程模板文件夹“STM8S_StdPeriph_Template”,改名为“STM8S_StdPeriph_GPIO”。使用GPIO点灯程序来测试工程模板。
- u  }% _! l# @( V+ u0 n 39.jpg
0 z: ~' o& o! C4 x
7 z" A6 C( C, @  复制目录“
STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Examples\GPIO\GPIO_Toggle”下的全部文件。
( p" V% ?+ X/ R7 x; N 41.jpg - @3 `) h: N/ r

1 O  {& U! z8 @6 d4 I  将上一步复制的文件,粘贴到测试工程模板目录“
STM8S_StdPeriph_GPIO”下,并替换原有文件。5 }1 Z# C" x' Z9 ^# Q$ i4 e% S3 U
42.jpg , r5 s" F3 a3 Y
0 i3 C, B5 Y4 M; b
  打开“main.c”文件,程序比较简单,只需要修改LED相关的两个宏定义即可。
' t9 [/ O. ?2 J1 g 43.jpg 3 \' J9 [: w& f

' W; U+ @5 W/ z  {' D+ s  在用户手册中看到,板上LED1对应的STM8S001的GPIO为PA3或PB5- d5 `, N, U& _8 b/ H
31 - 副本.jpg " [  `; R3 a. R

5 b2 U  X. x6 E6 A, y  修改LED宏定义为PA3
  1. #define LED_GPIO_PORT  (GPIOA)
    - Q& T0 p$ j7 P% u5 Q
  2. #define LED_GPIO_PINS  (GPIO_PIN_3)
复制代码
7 w: M% M5 o& z3 g$ p
44.jpg
% I3 h8 f7 P: v) h$ X9 c- I1 m* _# g9 r. Z! `. D0 v
  编译工程,下载程序到目标板。
* X$ ?; n. x- ]1 i 45.jpg
' G* Y+ O# [2 A) M0 h2 M; p2 A
/ d( o5 N3 W  ^1 Y, K3 P) ]! f  O  下载成功后,程序运行指针指向程序开始。
全速运行程序,看到LED1开始闪灯。
8 @: {- n% _4 @4 H" D' ` 440.jpg
# X9 b( \- E' ?. q
0 S; q$ t* z. Q6 h6 A( a- d- U8 [; Q工程模板和GPIO点灯测试程序附上:
  I( w: z. i" i STM8S_StdPeriph_Template.rar (3.93 MB, 下载次数: 27)
收藏 3 评论4 发布时间:2019-1-29 23:30

举报

4个回答
zhdzhd 回答时间:2019-1-30 11:38:13
老兄的评测绝对算得上是官测的标准教程,佩服!!
taiyangshendi1 回答时间:2019-2-27 19:32:27
有这个模板 省事多了  上手直接写代码了
七哥 回答时间:2019-2-28 02:12:08
本帖最后由 toofree 于 2019-2-28 02:13 编辑 0 N5 O7 y$ z- y. D8 @
taiyangshendi1 发表于 2019-2-27 19:32% K) g0 t. ^: e# K7 ?3 }
有这个模板 省事多了  上手直接写代码了
把库文件复制到模板工程下省事,只要把这工程文件夹复制到其它任何路径,都能编译工程。6 i1 X6 c& h7 U" T& q
, F8 x+ S, [& ^1 k- p" q) G
EdisonZheng-161 回答时间:2019-5-19 20:31:06
学习了
2 c0 i3 t+ _$ i: F
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版