STM8S单片机入门1_开发环境搭建

STM8S单片机开发环境由三大部分组成,包括PC机上的开发软件(集成开发软件、驱动程序等)、调试&编程器ST-LINK、目标单片机电路板 。如下图所示:



1、PC机上开发软件
PC机上的软件包括:ST-LINK驱动程序、IAR集成开发环境、STM8S标准函数库、STVP烧录工具 。
ST-LINK调试&编程器需要驱动程序
这个驱动程序不需要单独安装,安装STVP时会一起安装 。
IAR集成开发环境
IAR集成开发环境是集程序编辑、编译、程序下载、调试等功能为一体的集成开发工具,它可以通过 ST-LINK调试&编程器向目标STM8S单片机下载程序,并进行在线调试(包括设置断点、单步执行、查看内单片机存数据等) 。
针对STM8S的集成开发工具有多种,本教程选用IAR集成开发工具,主要是由于其成熟稳定,简单易用 。IAR集成开发工具的全称是“IAR for STM8”,版本号推荐比较成熟的2.10.5版本。
STM8S标准库函数
STM8S标准函数库是ST原厂推出的C语言函数库,把STM8S单片机的基本操作都封装成了库,能极大提高开发效率 。STM8S标准函数库的全称是STM8S_StdPeriph_Lib_V2.1.0 。当然不使用标准库函数也能进行单片机程序开发,但是这需要自己操作单片机的每个寄存器,需要对单片机内部构造和寄存器的作用非常熟悉才能做到,开发复杂度会成倍增加 。
STVP烧录工具
STVP(ST Visual Programmer)烧录工具也是ST原厂推出的 。虽然说一般的程序下载到单片机,使用IAR集成开发环境就可以了,但设置STM8S单片机的选项字节(OPTION BYTE)使用STVP烧录工具还是方便一些 。选项字节有两个最重要、最常用的功能:一是设置读出保护开关(ROP),大家可能遇到买回来的成品STM8S单片机开发板,无法用IAR进行程序下载和调试,这就是ROP设置为开了,这种情况下需要用STVP重新设置为关才能用;二是设置单片机引脚的第二功能,STM8S单片机很多引脚都有多个功能,比如作为SPI接口还是作为定时器通道,也是要通过选项字节来设置的 。



下面说说PC机上的软件的安装,要用到的安装包如下:
EWSTM8-2105-Autorun.exe
IAR for STM8 2.10.5注册机.7z
上面两个包是IAR forSTM8的安装程序及注册机 。第一个直接安装即可,第二个按压缩包自带的教程操作 。
STM8S_StdPeriph_Lib_V2.1.0.rar
上面这个包是STM8S标准库函数,不需要安装,直接解压备用 。每次在IAR中创建新工程后,都要首先把这个包的LibrariesSTM8S_StdPeriph_Driver目录和ProjectSTM8S_StdPeriph_Template里面的main.c、stm8s_conf.h、stm8s_it.c、stm8s_it.h等文件拷贝到新工程目录下 。
sttoolset.zip
sttoolset_pack24_patch.zip
上面的两个文件是STVP烧录工具和ST-LINK驱动程序的安装包,直接解压安装即可 。注意会同时安装STVD(ST Visual Develop)继承开发软件,但是STVD默认只支持汇编语言,所以一般用IAR,安装后不用就行 。
至于这些安装包,可以从官网上下载,也可以从百度网盘下载(通过盘多多按文件名搜索),这里就不贴了 。
2、ST-LINK调试编程器
ST-LINK是一款USB接口的硬件产品,连接PC机与目标STM8S单片机 。下面是一款兼容的ST-LINK调试编程器:

ST-LINK调试编程器一般通过4根杜邦线与目标单片机的电路板连接 。4根线分别是电源(3.3V或5V可选),接地GND,以及SWIM和RST 。ST-LINK的SWIM和RST与单片机芯片的SWIM和RST引脚相连后,即可对单片机进行调试和编程操作 。
3、目标单片机电路板
目标单片机电路板就是要开发的STM8S单片机系统硬件了 。如上面所说,需要把目标单片机芯片的SWIM和RST引脚与ST-LINK的SWIM和RST端口连接 。在本教程中后面的学习过程中,可以用使用STM8S最小系统板(仅包含复位电路)作为目标单片机电路板来做实验,也可以使用本教程第5部分介绍的STM8S开发板(包含复位电路、电源开关、锂电充电管理、蓝牙通信电路等)来做实验 。
STM8S单片机最小系统板:

STM8S开发板:


甚至耐心足够的话,也可以自己用单片机IC焊接,使用面包板作实验 。如下(中间上面的小方块是单片机IC,在其0.65mm间距的引脚上焊了线插在面包板上),:




以上是开发环境的介绍,下面再来简单说说开发环境的使用 。
1、IAR创建新工程
IAR创建新工程的过程,推荐参考这个文档《STM8在IAR环境下新建工程标准步骤详述》:http://wenku.baidu.com/link?url=01T1358oA4Hgs4YgaM-YmLD5lCJwx5c1vokjZGr_c0lAkcos5QJ15B2cJHRBLNwlxhmSPepEbvhC3OlsiMJ7N4w2jRcS7-xheI8jerTaHrS
需要特别注意两点:1)创建完工程后,需要在工程属性(在workspace窗口中点击工程名,单击右键选option菜单)中设置Debugger的的Driver是ST-LINK,否则默认选Simulator是不会通过实际的ST-LINK连接目标单片机电路板的 。

2)把STM8S_StdPeriph_Lib的库文件(LibrariesSTM8S_StdPeriph_Driver目录的所有.h和.c文件)加入后,可能编译不通过,因为不同的单片机子型号支持的功能不同,总有不支持的功能,不过没有关系,把编译出错的库文件从工程中删除即可 。
2、使用STVP设置单片机芯片选项字节(OPTION BYTE)
前面也提到了,两项设置要通过STVP完成,一是设置读出保护开关(ROP);二是设置单片机引脚的第二功能,特别是第一个,新买的单片机IC或最小系统板、开发板,最好都要使用STVP设置一下ROP,否则无法在IAR中使用 。用STVP的设置的过程比较简单,这里也不详细说了 。

开发环境就说到这里了,从下一片开始,就以STM8S103F3P6这个型号的单片机为例来具体介绍如何使用单片机了 。
【STM8S单片机入门1_开发环境搭建】

    推荐阅读