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

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

[复制链接]
七哥 发布时间:2019-1-29 23:30
本帖最后由 toofree 于 2019-1-30 00:47 编辑 / F7 I' ^) W* _  e3 {- r. A
$ ]5 Z+ R( J  R+ m
【STM8-SO8-DISCO】——2、简单粗暴建工程模板
! g" C: m. z4 }% @5 w% t4 j/ ^6 D# r9 f
5 G$ u) U+ M  K' M1 k/ B8 P+ p! P
  工欲善其事,必先利其器。一个顺手的工程模板也是比较重要的。

! D8 R; y* [) N6 f3 x2 i/ C
8 C! \6 d, _( m% J# }) u8 C& q) i  V: H
  本贴以个人使用习惯,在官方STM8S/A函数库工程模板基础上,定制一个自己觉得方便的STM8 IAR工程模板。
: c# r3 ^& c/ I* x$ b6 O
# d7 J( Q8 l1 f: L$ d' g- F  一、开发环境及外设库1 I6 d& ^0 p7 S$ B7 y
  开发环境:IAR for STM8 V3.10
% d9 w& d4 u' t! {9 O6 z* a& D: k. e" g  STM8S外设库:STM8S/A Standard Peripherals Library Drivers V2.3.0 / 16-June-2017(官网下载压缩包“en.stsw-stm8069.zip” )
! g/ N/ H6 Z0 O4 H$ X 01.jpg : t0 R, V$ J& x: F

8 }2 l" x# |9 B1 J
" i" l- D9 b( f$ m; ~9 H- i0 u 03.jpg " [  I" w4 R, v3 ^2 h1 v2 t" z
# L# a* ?( V2 g2 P: |) ?0 B; s
% \4 y6 v- K0 O8 ]/ \
02.jpg $ Y5 H; i" s" g& B) ]

& _  W2 C! c8 Z; l: N' A& L  二、创建个人工程模板
) I# W6 X7 _  _$ A+ e8 Y0 k
  将压缩包“en.stsw-stm8069.zip”解压到本地硬盘,(目录不要太深,最好不要有汉字)。
1 l6 T5 \2 l4 a  T# V& V4 T 11.jpg
& Z1 [* s0 W! X  u& c
% d3 F) o! q/ A  复制“Libraries”和“Utilities
”文件夹。
3 K( M! ]7 R! T, w$ f 12.jpg ( ?) D) c  ?9 j$ m5 t0 a
, {$ C0 F0 Z3 l4 f
  粘贴上一步复制的两个文件夹到“STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Template
”目录下。由于本贴专为创建IAR的工程模板,不涉及RIDE”和“STVD”,帮删除此两文件夹。4 _+ F' Q7 ~; H0 z5 o3 j+ [! U1 P
13.jpg
) w$ `$ T) c  M; j& j: @
# g( y3 H6 t$ Z: j" P  最终“
STM8S_StdPeriph_Template”文件夹下效果。
# Q9 ?8 D- m9 u) p+ d$ X 14.jpg
. v; e) b1 I3 @5 [2 w0 [9 r( d* a: C3 [
  进入“STM8S_StdPeriph_Template\EWSTM8
”目录。用ultraedit或其它文件编译软件,打开IAR工程配置文件“Project.ewp”。
4 \* R) c& }: R6 d5 D; G7 c 21.jpg 1 p4 W1 X4 U2 d, c( ?; P8 n
; U3 u1 Q/ y' [4 R" V
  将
所有符串“..\..\..\Libraries”,替换为“..\Libraries”,即减少两级目录。: W5 X$ ?9 Y$ n; z+ b
22.jpg 1 t& a. t: ]# c7 c* u4 E

& s0 s& j5 i4 ]4 p" `' t  i$ _  同样,将所有符串“..\..\..\Utilities
”,替换为“..\Utilities”。+ N1 x# e$ b% ?$ z4 I
23.jpg
8 @! Y4 R; f6 q/ N! Y, }; Z  u3 K5 w/ Y! j$ [
  替换完成后,保存文件设置。
Project.ewp”文件中相关路径最终效果。& a; q9 G$ J. G6 l5 |) \) ~" x- i$ [* [
24.jpg 0 G2 R. q9 k. Z* L7 @

: E$ ^9 ~. u4 y$ d3 L' ^) ?  在
IAR中打开工程文件“Project.eww”。看到默认配置为“STM8S208”,需要修改默认配置,不然每次打开工程都得设置一遍当前工程。
1 C. O6 _8 o' h  b  d 31.jpg 6 ]/ V  r4 U* h' D: x2 k

4 k1 w- B1 ]0 o) ~: V  从“工程”下拉菜单中,选择“编辑配置”。
& w  j! a" O; L: k/ T2 E 32.jpg
; d  d* m1 X/ t, Q. h+ G8 x3 O3 Y) P8 G6 w7 w
  按住鼠标左键,将“STM8S001”配置拖到最顶端。1 D+ A, Z# g: T, E$ v9 k! \( g9 m
33.jpg 0 F9 b& c1 M9 k, A- L- e% W
9 f8 ~% o6 \) e4 O" k
  
保存,并退出编辑配置窗口。) S; a6 |7 f1 y+ m5 @
34.jpg $ @8 f1 D( K  j0 {
' M0 z9 p. u! W! P! h
  回到主界面,可以看到左边的工程管理窗口中,默认配置已变更为
“STM8S001”。
+ r# S: a( v* P  ^" Z5 P/ x' z# n 35.jpg . N; h6 e1 e2 u% Z" S7 e, p0 j7 E

2 f) C4 C, r& [9 C) o( D9 |& p  打开工程选项菜单,检查器件是否为
“STM8S001”1 ?" u& u& H, C  `8 X
38.jpg

. T' k/ y7 ^+ F

, E6 u" _9 Y& D5 Q& s4 B' S2 n  检查工程头文件包含路径,及必要的宏定义是否正确
6 R9 H0 J' v& G0 {( i' l( l 36.jpg , @7 h* }, ^. L) G( w: x
# s# X/ Z# c/ o+ `, _! _
  编译工程,编译无误,工程模板定制成功。
' g3 M8 D- ]* g$ R% Y 37.jpg
( F/ p  o+ i. o% b0 C/ e1 k% K$ d. ^/ B
  二、测试IAR工程模板
% U6 r1 ]5 l2 B1 Q0 ?  y0 `

  T# E& q" F% @' O, W1 z
" f  f) [6 J% f% U# N
  复制工程模板文件夹“STM8S_StdPeriph_Template”,改名为“STM8S_StdPeriph_GPIO”。使用GPIO点灯程序来测试工程模板。
  K( ~) a, Q4 Q6 b, i! G  i 39.jpg ; W. |# ]) u* C; d: t( n( d7 c3 Q
/ ]6 l, B3 s0 J- B" H2 q* U$ I7 g
  复制目录“
STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Examples\GPIO\GPIO_Toggle”下的全部文件。
1 y' n8 J9 n3 W3 C- o 41.jpg
+ T$ L- o# G. h9 C" C" Y9 S. m3 `1 R, h
  将上一步复制的文件,粘贴到测试工程模板目录“
STM8S_StdPeriph_GPIO”下,并替换原有文件。
7 |# |- d- I+ p  u8 Y# f2 u4 d 42.jpg
9 _$ ]0 T% S: f  @0 |+ U' G9 J; g9 x  D7 x9 B6 I
  打开“main.c”文件,程序比较简单,只需要修改LED相关的两个宏定义即可。1 J( e6 K: |# b3 c; G& v+ x# _
43.jpg
+ S. U$ ^; B  L: t; a; d# b
$ F6 j% h# O3 d, B( G: T/ W2 h' n  在用户手册中看到,板上LED1对应的STM8S001的GPIO为PA3或PB5
) h8 J# i- e/ ]! O  O4 F5 B 31 - 副本.jpg
; `0 p  j! q! P0 P$ r+ m- Q% Q+ n: I
  修改LED宏定义为PA3
  1. #define LED_GPIO_PORT  (GPIOA)
    / U' D# N/ g# s7 [# u( p3 k! t
  2. #define LED_GPIO_PINS  (GPIO_PIN_3)
复制代码

0 s( v4 |& H, r! ?% m 44.jpg : Q5 m- W) Z9 D: I
) l. {+ n! \+ i% B- e
  编译工程,下载程序到目标板。
0 E. I4 `. V) V 45.jpg
3 f2 G# o' L, R) O1 ^7 u. W$ Q
! G! _9 |/ u. `$ A( {/ C  下载成功后,程序运行指针指向程序开始。
全速运行程序,看到LED1开始闪灯。
2 |3 b; D# _8 j" f2 q7 k 440.jpg 3 }5 B; ?/ Y" Z" S

9 Q' e, u0 W! M; U' D  r工程模板和GPIO点灯测试程序附上:
* j9 ~5 `  B8 g4 i1 d2 G) u 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 编辑
+ C" v% N: L& s1 {, Q/ A
taiyangshendi1 发表于 2019-2-27 19:32- J8 `' p1 K: y9 n" R% V- K  y
有这个模板 省事多了  上手直接写代码了
把库文件复制到模板工程下省事,只要把这工程文件夹复制到其它任何路径,都能编译工程。
/ q' |$ Q9 N- O+ s
1 M4 K) q, j# z! |& _, Z2 M
EdisonZheng-161 回答时间:2019-5-19 20:31:06
学习了
' ?' ~  a4 W6 V* a8 C
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版