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

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

[复制链接]
七哥 发布时间:2019-1-29 23:30
本帖最后由 toofree 于 2019-1-30 00:47 编辑 # v, C3 D# Q% _2 @  T

$ D+ g- H' @4 d9 p  V+ S: x5 \
【STM8-SO8-DISCO】——2、简单粗暴建工程模板

+ `& s8 `! E0 D% @/ C2 Y* o
2 \, O8 W& T& t7 V5 R- G/ }( r  工欲善其事,必先利其器。一个顺手的工程模板也是比较重要的。

0 @6 X2 j. r: o; `6 N) q

3 s, \$ T* `9 R  本贴以个人使用习惯,在官方STM8S/A函数库工程模板基础上,定制一个自己觉得方便的STM8 IAR工程模板。. i. w6 u( \: l( z, \. x0 r% [

  f, c4 o1 ?& q5 [  一、开发环境及外设库
! |; \9 P9 \  N6 J  X9 _! F5 l9 e  开发环境:IAR for STM8 V3.10
; z5 a) }# ^* c1 F6 h  STM8S外设库:STM8S/A Standard Peripherals Library Drivers V2.3.0 / 16-June-2017(官网下载压缩包“en.stsw-stm8069.zip” )
' x8 ~5 m+ \. d$ ]5 O& k2 H; A, s 01.jpg
+ U# I9 u7 c/ v/ ^0 U7 i0 j
1 _' T4 C6 w8 ^. D& X5 B8 H: E# I1 D4 U/ r+ p
03.jpg 1 ?( [0 ?) d' H7 Y' b+ V( |
& W* P5 F, I% i2 ~* |  Y

% Y: m. g2 O% e. S! X- b3 ^/ G3 | 02.jpg % Y& x2 V4 x# L/ p' l
9 f0 C) z  a  P& I1 P* j* O2 m
  二、创建个人工程模板
, j/ Z5 |0 E6 L0 U, H/ h
  将压缩包“en.stsw-stm8069.zip”解压到本地硬盘,(目录不要太深,最好不要有汉字)。* [! P! G' T' r9 x5 \7 I2 ?
11.jpg
, L( k5 }! k. U/ K7 U9 l- g( S. x% O$ I8 G4 i4 V
  复制“Libraries”和“Utilities
”文件夹。3 d* _' j! Z7 t: q
12.jpg
. `' {% {- L- @9 A/ Q
8 y: r4 O& ~$ H! V3 D  粘贴上一步复制的两个文件夹到“STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Template
”目录下。由于本贴专为创建IAR的工程模板,不涉及RIDE”和“STVD”,帮删除此两文件夹。0 }* W8 W, p7 A$ b, C0 N
13.jpg
9 [7 ]+ _' T$ [& u6 X. l/ F- u) b- x' T7 E  X
  最终“
STM8S_StdPeriph_Template”文件夹下效果。
6 `0 y3 H- N: d* P 14.jpg 3 p* r6 C4 ?; K: X% w: A
- H3 I$ m6 I6 z1 D% a9 u
  进入“STM8S_StdPeriph_Template\EWSTM8
”目录。用ultraedit或其它文件编译软件,打开IAR工程配置文件“Project.ewp”。& `6 p; l, A3 a% l+ O" Y5 @
21.jpg
# u  A4 [8 N1 u7 d5 y1 v3 R4 @8 z+ J+ i# @2 F+ R& a
  将
所有符串“..\..\..\Libraries”,替换为“..\Libraries”,即减少两级目录。# n. u4 b) [9 o! X# C$ ^
22.jpg
) L% K/ s8 _7 g, F0 ]0 D, m2 K
: Q2 n/ w# W0 g  同样,将所有符串“..\..\..\Utilities
”,替换为“..\Utilities”。
  y! a4 G* r# _# l* e& K0 D 23.jpg
8 }# L; I( V' C1 O% b1 N' N0 c% q: E/ w! Z
6 }4 |% j- E  V& |  替换完成后,保存文件设置。
Project.ewp”文件中相关路径最终效果。# T# U$ Y1 Z- M8 l% d
24.jpg ' B, _- S4 A, E3 M4 g; w8 ?2 P
7 _  N0 o- J3 R" }
  在
IAR中打开工程文件“Project.eww”。看到默认配置为“STM8S208”,需要修改默认配置,不然每次打开工程都得设置一遍当前工程。0 ]/ c8 x# O4 p1 W# s
31.jpg
. s+ \( H7 t* m2 k+ Z  |* z
4 b) u  s* `# X! f" h  从“工程”下拉菜单中,选择“编辑配置”。
9 {2 g7 @8 g% E# b+ m6 V) k  W 32.jpg
  \& f4 ^- \5 W; p' k( M8 B8 w5 _1 ^  N4 R' S
  按住鼠标左键,将“STM8S001”配置拖到最顶端。
3 p& W8 S* c! d) p* ~& a$ p; t! ` 33.jpg $ l( E- }& l" i* e; Z4 o; W& _$ p

7 q8 X4 D. S( r/ p2 O+ a6 n8 |  
保存,并退出编辑配置窗口。
  `* E% d# Y' R' }$ x3 K( }7 c 34.jpg 9 d2 F$ G- b) u  r" [

- e% f. H& @) F! u4 e/ k  回到主界面,可以看到左边的工程管理窗口中,默认配置已变更为
“STM8S001”。, N  g( w1 ^( u8 g; x) m
35.jpg ! W. Z( W9 c8 J( k/ j! ?' [

: G) g+ a  H0 O8 r  r  打开工程选项菜单,检查器件是否为
“STM8S001”
' x+ ?7 J( {5 i- T* F 38.jpg
+ O# R$ U. |$ C

5 C: y+ i, `' g$ Y: `& p" I  检查工程头文件包含路径,及必要的宏定义是否正确) V9 u7 K" I2 V3 J9 Y& A3 S
36.jpg
- c7 r* G8 i- A3 e0 `) H1 f
2 _. z9 |# Y  H5 d) s+ y( H! m/ r# |  编译工程,编译无误,工程模板定制成功。. R/ F0 L+ |- v2 X  R4 ?- V
37.jpg : G* K9 G+ c& w) L* r

/ l: o6 g4 O+ C; S, _  二、测试IAR工程模板

! T% ^; N3 Q0 _. V% y$ N
" y3 e' p. u' `

) ]7 e7 v  M$ Y2 k  复制工程模板文件夹“STM8S_StdPeriph_Template”,改名为“STM8S_StdPeriph_GPIO”。使用GPIO点灯程序来测试工程模板。9 e, T, Z$ F( o9 Y
39.jpg
( u& q! c1 K: N2 C& N' `% k- a$ s, G9 ~! F. l- \
  复制目录“
STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Examples\GPIO\GPIO_Toggle”下的全部文件。0 }5 [3 ]1 m- c/ g8 h, h, f: `5 _
41.jpg & @' i. ^7 d2 d& c

5 o" R, e) f+ `  T& T  将上一步复制的文件,粘贴到测试工程模板目录“
STM8S_StdPeriph_GPIO”下,并替换原有文件。
# a3 F' B5 F4 j0 v# E4 [& K, j 42.jpg ( m3 t9 K9 L. A' Z
' I% j4 T4 h0 @. O
  打开“main.c”文件,程序比较简单,只需要修改LED相关的两个宏定义即可。
3 Y: y& j/ J5 B- W# e- |9 P8 p+ h 43.jpg
/ @: m* J. w4 F. g8 h0 a. Y7 V  d0 }: K+ L5 V
  在用户手册中看到,板上LED1对应的STM8S001的GPIO为PA3或PB5
# O( K$ P: D; w 31 - 副本.jpg
" G1 @+ f3 I) y6 h7 B$ l  Q0 ^& P& w3 l( [
  修改LED宏定义为PA3
  1. #define LED_GPIO_PORT  (GPIOA)
      \& {8 G3 r) J1 s: C
  2. #define LED_GPIO_PINS  (GPIO_PIN_3)
复制代码

% }% {1 a' S/ }" x, y8 h# F 44.jpg
, a/ ~( B6 N  D5 P* b
7 |7 a2 p% j& m0 ]+ P" R% a/ @$ J: S  编译工程,下载程序到目标板。
4 ^  H7 Z0 _# S, l) e0 }  G8 \ 45.jpg
1 o# ^  m* T  E" H2 C$ I% o! J- h
  下载成功后,程序运行指针指向程序开始。
全速运行程序,看到LED1开始闪灯。
& K( Q3 A2 d* e. d3 t7 y% H 440.jpg % j! Z+ E6 j( c+ ^
" o, G, R, j6 M8 [% M% v' y
工程模板和GPIO点灯测试程序附上:1 f7 W  X2 H4 |, w
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 编辑 4 _& A/ v- K1 t6 p; ^1 d. e
taiyangshendi1 发表于 2019-2-27 19:325 ?/ P/ f# z$ ]5 ~+ J
有这个模板 省事多了  上手直接写代码了
把库文件复制到模板工程下省事,只要把这工程文件夹复制到其它任何路径,都能编译工程。' p  _9 p4 i$ Q- g/ A* g
  k; g" @/ F/ l4 |3 I2 K$ g" @
EdisonZheng-161 回答时间:2019-5-19 20:31:06
学习了
. p6 k1 w6 X; [( }( V- j
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版