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

STM8L051F3_0c_新建工程

[复制链接]
xiaojie0513 发布时间:2018-5-5 12:19
本文介绍基于IAR For STM8 + STM8L15x-16x-05x-AL31-L_StdPeriph_Lib(官方固件库)来新建STM8L051F3工程,STM8L的标准固件库可以到ST的官方网站中找到并下载,下载地址:http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm8-embedded-software/stsw-stm8016.html。: U8 W! {+ [* r1 q0 y
1)把下载的标准固件库解压并打开,可以看到里面有如下内容:
0 T1 I* f1 c3 S4 T1 I' [2 E$ T+ d' G. H) k/ m5 e& y8 o; ~
, M% o8 \( N5 j/ d8 z0 s6 q1 i
2)上图中带***星号的文件夹,里面的有部分内容是新建工程所需要的,在建立工程之前,先在桌面建一个Demo文件夹,并在文件夹中分别新建Bsp、StdPeriph_Driver、User三个文件夹; Y3 D! G( P5 z6 l! P1 A
8 v' G, R$ Z5 q. V0 ^% g
) b! ]$ F0 ?; N0 N7 F! e) b; k1 J& ~
3)Bsp文件夹用于存放用户底层代码,如在后面的应用中LED、KEY...等驱动代码;StdPeriph_Driver文件夹用于存放STM8L的外设驱动代码,将固件库文件中的Libraries文件夹下的inc与src文件夹复制到Demo\StdPeriph_Driver\目录下- _' b! V8 r; x1 k5 k) L. M' y( ^
6 e. v! N8 C0 K1 W& |; ~
3 {7 n# K4 N8 ?; S4 E7 c. G' m$ L
4)User文件夹存放用户应用代码,把固件库文件中的Project文件夹下STM8L15x_StdPeriph_Template文件夹下的main.c、stm8l15x_conf.h、stm8l15x_it.c、stm8l15x_it.h四个文件复制到Demo\User\目录下7 G, H! Z4 {/ C3 i( n

  a# }9 W/ B: H. q2 g, Y8 L8 q! ~# h) }/ M3 h/ ~, D7 G
5)打开IAR,File-->New Workspace新建一个工作空间,然后Project-->Create New Project新建一个Empty project项目,命名为Demo并保存在Demo文件夹下
  |; e  n' V* m% w/ y
( ^1 m# D( a1 l2 `/ J
. k3 v6 w5 ]3 L. v* O6)选中Demo-Debug,右键Add-->Add Group...,分别给工程新建Bsp、StdPeriph_Driver、User三个组
$ Y, T. s( i) l; }6 q8 {
3 r: w# n+ y  l
2 `; v( K, `9 t  a, _
) f$ x% W6 X! ]. |7)选中StdPeriph_Driver组,右键Add-->Add Files...把Demo文件夹中StdPeriph_Driver\src下的stm8l15x_gpio.c添加进来(或将全部.c文件添加进来);选中User组,右键Add-->Add Files...把Demo文件夹中User文件夹下的main.c、stm8l15x_it.c文件添加进来(添加之后会自动产生一个Output组)  o+ B+ q6 i, V9 n5 ~7 t
3 C. s# A6 H& K0 V9 I

. |; H# w" C$ a% k# a8 V8)选中Demo-Debug-->右键Options打开Options窗口4 @# z3 a8 ^' @! [$ O. r8 s* D! z
3 H! Q; g* y6 [3 y9 O  L

! [% L4 }6 [" _9 R9 V, m5 T9)在General Options类下,Target栏下的Device选择STM8L051F3  ]( I* Y+ r$ G6 {5 V1 w

% Y$ @1 |. o# \+ H" b) b
4 P3 {4 Q/ S0 c8 r2 u% z1 _1 b! S10)在C/C++ Compiler类下,Preprocessor栏下的Additional include directoriesone per line)把Demo文件夹下的三个路径(Bsp、StdPeriph_Driver\inc、User)添加进来,并改为相对路径,然后在Defined symbolsone per line)下添加STM8L05X_LD_VL( b! E1 F# \: G: x5 U3 z" N$ v1 m, S0 Q

4 \; s' v* K2 m9 [% A6 i2 i
+ m3 [8 N( Z8 b8 S8 ~; \8 D5 b
) t4 N: h! u3 v+ u" s* N0 ?" [11)在Output Converter类下,Output栏下,把Generate additional output前面的勾选上,在Output format选择Intel extended,然后把Override default前面的勾选上。配置此项可以生成.hex文件
$ c& l& f% w# Y1 P8 R( D( N
3 H' f& P7 E4 b# W1 t7 }; @
0 v" ]3 V- s8 p+ p' `+ |5 A3 w12)在Debugger类下,Setup栏下,Driver中选择ST-LINK
# c* b: I- e: x6 w& v0 I0 I8 b  o# O$ M
* \3 a2 C2 A/ c2 [" S: T; {
13)点击OK再点击编译,没有错误与警告
8 b5 t% M* C7 g: B: Y3 B8 E* g) `9 M$ Z" t

: F( Z  g2 v# M14)从官方固件库复制过来的文件是只读文件,需要把文件的权限改为读写,然后打开main.c文件并在函数中添加代码,实现点亮LED1。改为如下:: j4 R8 q) K6 p
6 s2 p6 j6 a( \/ w( I$ M8 s

9 C& {! }9 _" B) v9 |0 `修改完成后,连接板子与ST-LINK,按Ctrl+D,下载并仿真,点击关掉仿真,就可以看到程序运行起来,LED1亮。新建工程到此完毕。. s* u; _( t# Y# C

! k5 [! W4 x' y# H+ d

评分

参与人数 1 ST金币 +20 收起 理由
creep + 20 很给力!

查看全部评分

赞 收藏 1 评论3 发布时间:2018-5-5 12:19

举报

3个回答
zero99 回答时间:2018-5-24 14:21:38
学习下
yf14789652 回答时间:2019-12-26 09:00:50
学习下

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版