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这个型号的单片机为例来具体介绍如何使用单片机了。

stm08S单片机C语言编,STM8S单片机入门1(开发环境搭建)相关推荐

  1. Django入门之开发环境搭建1.1

    创建虚拟环境 创建:mkvirtualenv [虚拟环境名称] 删除:rmvirtualenv [虚拟环境名称] 进入:workon [虚拟环境名称] 退出:deactivate 所有的虚拟环境,都位 ...

  2. iBatis入门和开发环境搭建

    iBatis 的优缺点: 优点: 1. 减少代码量,简单: 2. 性能增强: 3. Sql 语句与程序代码分离: 4. 增强了移植性: 缺点: 1. 和Hibernate 相比,sql 需要自己写: ...

  3. vs2010 wdk c语言,Windows7+WDK+VS2010+VisualDDK驱动开发环境搭建.doc

    Windows7+WDK+VS2010+VisualDDK驱动开发环境搭建.doc [置顶]Windows7+WDK+VS2010+VisualDDK驱动开发环境搭建(菜鸟的经验) 分类: 驱动开发 ...

  4. JAVA入门·JAVA开发环境搭建之卸载JDK安装JDK

    JAVA开发环境搭建 卸载JDK 1.删除Java的安装目录 我的电脑--属性--高级系统设置--环境变量--系统变量--JAVA_HOME--Java的安装目录 2.删除JAVA_HOME 3.删除 ...

  5. 【机器学习-数据科学】第二节:ipython开发环境搭建以及pandas快速入门

    ipython开发环境搭建以及pandas快速入门 0.开发环境搭建 技巧 网页版ipython:ipython notebook numpy 1.pandas 快速入门一 导入 创建对象 2. pa ...

  6. 51单片机开发系列一-51单片机开发环境搭建以及入门汇编代码

    51单片机开发系列一 51单片机开发环境搭建以及入门汇编代码 象棋小子    1048272975 1. 51单片机概述 51单片机是对所有兼容Intel 8031指令系统的单片机的统称.目前教科书基 ...

  7. 单片机c语言编程下载,单片机C语言编程.doc

    单片机C语言编程.doc 单片机C语言编程指令格式 功能简述 字节数 周期 一.数据传送类指令 MOV A, Rn 寄存器送累加器 1 1 MOV Rn,A 累加器送寄存器 1 1 MOV A ,Ri ...

  8. 单片机(一):VScode+SDCC+Make的Windows下51(CH552)单片开发环境搭建

    CH552芯片是一款兼容 MCS51 指令集的增强型 E8051 内核单片机.CH552既然是51单片机,按照以前的惯例都是用Keil来进行开发.但是本次决定抛弃Keil的开发环境,主要原因是Keil ...

  9. 51单片机学习历程——硬件准备&开发环境搭建

    系列文章目录 第一章 51单片机学习历程(1)--开发环境搭建 第二章 51单片机学习历程(2)--建立新的工程 第三章 51单片机学习历程(3)--点亮一颗LED 第四章 51单片机学习历程(4)- ...

最新文章

  1. dSploitzANTI渗透教程之安装zANTI工具
  2. python中的装饰器有哪些-python 装饰器以及开发中常用的例子
  3. vue 多个click_vue中touch和click共存的解决方式
  4. 敏捷需求分析及深度提升(广州 2014.1.11)- 活动报道
  5. 1 python基础
  6. 【Linux】一步一步学Linux——rev命令(57)
  7. 移动端ios滚动卡顿问题
  8. How to suppress email sending when operating on Activity
  9. PyCharm安装开发游戏的Pygame
  10. C#趣味程序---百鸡百钱
  11. AutoLayout的那些事儿
  12. 26. 左旋转字符串
  13. Spark精华问答 | 为什么选择Spark作为流计算引擎?
  14. java嵌套循环语句_Java学习笔记(七) 循环语句
  15. 创新高!韩国反垄断部门重罚高通8.54亿美元
  16. shell 按文件每行长度排序
  17. 决策树(一)--ID3
  18. 小课堂week17 编程范式巡礼第二季 并发那些事
  19. 比尔·盖茨持有过的中国股票
  20. DICOM医学图像读取涉及到的医学坐标体系

热门文章

  1. 桌面整理工具不显示文件夹_Win10桌面图标显示不正常变成了白色
  2. python编写一个简单的程序验证码_针对验证码,做一个简单的自动网上签到程序(一)...
  3. eval函数pythonmopn_python eval函数
  4. QT每日一练day24:绘画事件
  5. 计算机系统应用的书,基于领域本体与上下文感知计算的智能图书-计算机系统应用.PDF...
  6. java 静态变量加载顺序_java 成员变量 静态变量代码块 静态代码快加载顺序
  7. STM32的printf函数重定向
  8. 高中计算机会考vb教程,高中信息技术VB会考上机程序题汇总
  9. matlab 度表示,在matlab中,单精度类型用关键字()表示,双精度类型用关键字()表示...
  10. 计算机科学与技术专业可以转哪些专业,计算机科学与技术学院本科生转专业实施细则...