stm08S单片机C语言编,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这个型号的单片机为例来具体介绍如何使用单片机了。
stm08S单片机C语言编,STM8S单片机入门1(开发环境搭建)相关推荐
- Django入门之开发环境搭建1.1
创建虚拟环境 创建:mkvirtualenv [虚拟环境名称] 删除:rmvirtualenv [虚拟环境名称] 进入:workon [虚拟环境名称] 退出:deactivate 所有的虚拟环境,都位 ...
- iBatis入门和开发环境搭建
iBatis 的优缺点: 优点: 1. 减少代码量,简单: 2. 性能增强: 3. Sql 语句与程序代码分离: 4. 增强了移植性: 缺点: 1. 和Hibernate 相比,sql 需要自己写: ...
- vs2010 wdk c语言,Windows7+WDK+VS2010+VisualDDK驱动开发环境搭建.doc
Windows7+WDK+VS2010+VisualDDK驱动开发环境搭建.doc [置顶]Windows7+WDK+VS2010+VisualDDK驱动开发环境搭建(菜鸟的经验) 分类: 驱动开发 ...
- JAVA入门·JAVA开发环境搭建之卸载JDK安装JDK
JAVA开发环境搭建 卸载JDK 1.删除Java的安装目录 我的电脑--属性--高级系统设置--环境变量--系统变量--JAVA_HOME--Java的安装目录 2.删除JAVA_HOME 3.删除 ...
- 【机器学习-数据科学】第二节:ipython开发环境搭建以及pandas快速入门
ipython开发环境搭建以及pandas快速入门 0.开发环境搭建 技巧 网页版ipython:ipython notebook numpy 1.pandas 快速入门一 导入 创建对象 2. pa ...
- 51单片机开发系列一-51单片机开发环境搭建以及入门汇编代码
51单片机开发系列一 51单片机开发环境搭建以及入门汇编代码 象棋小子 1048272975 1. 51单片机概述 51单片机是对所有兼容Intel 8031指令系统的单片机的统称.目前教科书基 ...
- 单片机c语言编程下载,单片机C语言编程.doc
单片机C语言编程.doc 单片机C语言编程指令格式 功能简述 字节数 周期 一.数据传送类指令 MOV A, Rn 寄存器送累加器 1 1 MOV Rn,A 累加器送寄存器 1 1 MOV A ,Ri ...
- 单片机(一):VScode+SDCC+Make的Windows下51(CH552)单片开发环境搭建
CH552芯片是一款兼容 MCS51 指令集的增强型 E8051 内核单片机.CH552既然是51单片机,按照以前的惯例都是用Keil来进行开发.但是本次决定抛弃Keil的开发环境,主要原因是Keil ...
- 51单片机学习历程——硬件准备&开发环境搭建
系列文章目录 第一章 51单片机学习历程(1)--开发环境搭建 第二章 51单片机学习历程(2)--建立新的工程 第三章 51单片机学习历程(3)--点亮一颗LED 第四章 51单片机学习历程(4)- ...
最新文章
- dSploitzANTI渗透教程之安装zANTI工具
- python中的装饰器有哪些-python 装饰器以及开发中常用的例子
- vue 多个click_vue中touch和click共存的解决方式
- 敏捷需求分析及深度提升(广州 2014.1.11)- 活动报道
- 1 python基础
- 【Linux】一步一步学Linux——rev命令(57)
- 移动端ios滚动卡顿问题
- How to suppress email sending when operating on Activity
- PyCharm安装开发游戏的Pygame
- C#趣味程序---百鸡百钱
- AutoLayout的那些事儿
- 26. 左旋转字符串
- Spark精华问答 | 为什么选择Spark作为流计算引擎?
- java嵌套循环语句_Java学习笔记(七) 循环语句
- 创新高!韩国反垄断部门重罚高通8.54亿美元
- shell 按文件每行长度排序
- 决策树(一)--ID3
- 小课堂week17 编程范式巡礼第二季 并发那些事
- 比尔·盖茨持有过的中国股票
- DICOM医学图像读取涉及到的医学坐标体系
热门文章
- 桌面整理工具不显示文件夹_Win10桌面图标显示不正常变成了白色
- python编写一个简单的程序验证码_针对验证码,做一个简单的自动网上签到程序(一)...
- eval函数pythonmopn_python eval函数
- QT每日一练day24:绘画事件
- 计算机系统应用的书,基于领域本体与上下文感知计算的智能图书-计算机系统应用.PDF...
- java 静态变量加载顺序_java 成员变量 静态变量代码块 静态代码快加载顺序
- STM32的printf函数重定向
- 高中计算机会考vb教程,高中信息技术VB会考上机程序题汇总
- matlab 度表示,在matlab中,单精度类型用关键字()表示,双精度类型用关键字()表示...
- 计算机科学与技术专业可以转哪些专业,计算机科学与技术学院本科生转专业实施细则...