1、硬件环境:STM8S003F3P6、ST-LINK stlink V2

2、软件环境:Embedded Workbench 6.5(IarIdePm)、ST Visual Programmer(STVP)

STM8以其超高的性价比,在低端单片机领域占领了很大的市场,市面上很多单片机产品都能够看到STM8的身影,下面对STM8和89C51来做简单的对比:

1、对“89C51”而言:

对“89C51”而言,其能满足大部分需求,但最初代的“89C51”不具有“ADC”、“PWM”等外设功能;而且单就“ADC芯片”而言,列举一下4点:

i)、“价格方面”:以“STC89C52”(DIP-40)为例,工作电压为“+5.0V”,其“某宝”价格多在“4.5RMB/PCS”以 上;以“ADC0804”(8bit-ADC)为例,其“某宝”价格多在“5.5RMB/PCS”以上, 过于便宜的芯片,无法保 证;

ii)、“应用方面”:以“ADC0804”(8bit-ADC)为例,即便是单片“贴片-SOP20封装”,其芯片在PCB板上所占面积亦不可忽略,由此带来的“电源”、“GND”、“通信线路布线难度”等问题,在后续开发中,会随着“开发规模增加”而越发困难;

iii)、“开发方面”:最新的“stc系列单片机”也引入了“ADC”、“PWM”等功能,“指令集”采用“CISC”,开发级别为“寄存器”;

iv)、“基本电路”:在“基本电路”的4部分中,其“晶振电路”不能省略,“外部晶振”多采用“11.0592MHz”; 其“下载方式”多采用“串口下载”,因此其“下载电路”与“串口电路”共用同一线路;“代码下载完成”后,需“热重启”方可运行代码;

2、对“STM8”而言:

对“STM8”而言,其具有“ADC”、“PWM”等外设功能;而且单就“STM8芯片”而言,列举一下4点:

i)、“价格方面”:以“STM8s003f3p6”(集成:10bit-ADC)为例,工作电压为“+5.0V”/“+3.3V”(推荐),其“某宝”价格多在“1.35RMB/PCS”以上,过于便宜的芯片,无法保证;

ii)、“应用方面”:以“STM8s003f3p6”,对“贴片-TSSOP20封装”,其芯片在PCB板上可省略“ADC芯片”所占面积,由此带来的“电源”、“GND”、“通信线路布线难度”等问题也将迎刃而解;

iii)、“开发方面”:以“STM8s003f3p6”,现已有“专用Lib库”,开发级别可为“寄存器”或“库开发”,可有效提高“开发效率”;

iv)、 “基本电路”:在“基本电路”的4部分中,其“晶振电路”而言,“STM8”默认使用“芯片内部”自带的“16MHz频率”,因此,若无特殊要求,“外部晶振”可省略,可进一步减小“PCB板面积”、“简化PCB布线”;其“下载方式”多采用“SWD下载”,因此其“下载电路”与“串口电路”不为同一线路,且“代码下载完成”后,无需“热重启”即可运行代码;

可见,STM8还是很有优势的,但是在稳定性方面STM8却比不上51单片机,原因很显然。

关于STM8程序的烧写、编译过程,网上很多资料有介绍,但是都比较乱,不成体系,对于刚刚接触STM8的读者来说可能比较费劲,会遇到很多坑,笔者亦是如此,故在此记录一下,供后来者学习借鉴。在进入正题之前,先来认识几个软件,这几个软件可能对于经常使用Keil来编译和ISP烧录的朋友来说可能就比较陌生,毕竟,STM8和STM32的开发环境区别还是蛮大的,Keil只能用来开发STM32/C51而无法开发STM8.

①Embedded Workbench 6.5(IarIdePm)

软件图标如下图

IAR的工程文件格式为*.eww,安装完IAR之后双击即可打开工程。这里点一下IAR的常用功能。

1)IDE主要设置(Tools->Options),在这里可以进行一些IDE系统设置,比如字体大小、配色、显示行号等

2)工程右键->Options,工程配置界面,

这里可以配置一些工程相关的设置,比如编译链接等选项。

3)编译按钮

工具栏中最常用的是两个按钮,第一个是编译(compile)、第二个是编译链接生成可执行文件(make),其中最常用的是第二个,毕竟一步到位嘛。总体来说IAR这个软件还是很友好的,Keil有的功能它可以做的更好,Keil没有的功能它也有,而且还能自定义注释模板(详见我的另外一篇文章https://blog.csdn.net/pang9998/article/details/90726280),可以自动插入漂亮的注释模板:

相信熟悉Keil IDE的朋友能够很快上手!好了开发环境介绍完了,下面来介绍一下烧录软件,STM8一般用STVP工具下载(笔者使用IAR自带的下载调试功能总是出错,不知如何配置,希望了解的朋友能够给些建议~)

②ST Visual Programmer(STVP)

1)软件图标为

:主要界面如下图所示:

其中程序下载步骤分为三步:①打开可执行文件,②选择单片机型号,③下载程序 (Program->All tabs),打开可执行文件*hex/*.s19的时候STVP会进行校验,如果校验成功则会提示 File successfully loaded. File Checksum 0xAF11A。

②烧录器,STM8S003资源有限,因超低的成本不可能有太多冗余的资源,故芯片本身不带ISP BootLoader的(有几款同系列高级一点的可能带BootLoader,但是在产品中就没必要带BootLoader了,完全没有必要!),因而无法通过TTL串口下载程序,而需要专门硬件来烧录,这个硬件就是ST-LINK stlink V2,好用不贵,十几元一个!

③接线方式(四根线)

ST-LINK stlink V2              STM8

3.3V                                     VCC

RST                                     NRST

SWIM                                  SWIM

GND                                    GND

注意程序烧录之后,需要拔掉RST连接线,这时候,程序才能开始运行。

iar烧录程序步骤_STM8入门以及程序编译、烧录、IAR使用方法(扫盲篇)相关推荐

  1. iar烧录程序步骤_STM8入门以及程序编译、烧录、IAR使用方法(扫盲篇...

    使用环境(蓝色粗体字为特别注意内容) 1.硬件环境:STM8S003F3P6.ST-LINK stlink V2 2.软件环境:Embedded Workbench 6.5(IarIdePm).ST ...

  2. python入门小程序代码_Python入门小程序(二)

    学习了Python编程从入门到实践的第九章,本次的内容是类的创建.对象的实例化以及继承等内容. 1. 创建一个名为Restaurant的类,其方法__init__()设置两个属性:restaurant ...

  3. iar升级芯片库_STM8 IAP升级程序设计详解 - IAR环境

    1.STM8内存空间分配 首先我们在STM8L15x的官方手册中查看一下CPU的内存空间分配: 除了系统预留的部分我们实际用到的内存空间并不多,下面简单说明主要部分: -- RAM 0x00 0000 ...

  4. 简单Python入门小程序

    简单Python入门小程序 简单Python入门小程序 1.猜拳击小游戏,三次后结束.石头-0,剪刀-1,布-2,如果输入错误则提示错误输入. import random i=0 while 1:pe ...

  5. 计算机行业中的烧写怎么翻译,单片机怎么烧录程序_单片机烧录程序步骤说明...

    描述 单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU.随机存储器RAM.只读存储器ROM.多种I/O口和中断系统.定时器/ ...

  6. FT2232+OpenOCD为STM32烧录程序步骤

    1.配置OpenOCD环境(已经配置好的可以跳过): [步骤 1] 安装 FT2232HL 芯片的驱动,安装文件为 CDM21228_Setup.exe. 在安装驱动时,板子不需要连接到电脑.(用户可 ...

  7. 简单说明c语言程序步骤,C语言的入门简介和三个简单的C语言程序详细说明

    学习一种编程语言,最重要的是建立一个练习环境,边学边练才能学好.Keil软件是目前最流行开发80C51系列单片机的软件,Keil提供了包括C编译器.宏汇编.连接器.库管理和一个功能强大的仿真调试器等在 ...

  8. 龙芯LS1B处理器使用EJTAG烧录程序步骤,烧录u-boot.bin作为测试(linux系统)

    板卡:使用ls1b处理器作为cpu的板卡 系统:fedora系统 驱动:ejtag-debug-v3.25.19.tar.gz 时间:2021年12月22日 经过实测,下面的步骤可以在linux系统下 ...

  9. 【腾讯连连 腾讯物联网入门学习 第3篇】安信可IoT微信小程序全面开源,小程序上实现一键配网+控制+绑定!(源码开放)

    文章目录 一.简介 二.开发指导 2.1 腾讯物联开发平台配置 2.2 微信小程序导入步骤 三.设备开发 3.1 AT直连对接 3.2 SDK二次开发 四.本人开源微信物联网控制 一览表 另外,不要把 ...

最新文章

  1. Redis基础、应用、第三方支持组件总结
  2. HTTP状态码-HTTP Status Code
  3. SVN文件库移植(转)
  4. 六自由度高超声速飞行器的建模与控制器设计
  5. POJ - 2689 Prime Distance(素数区间筛模板)
  6. 创建PG全球生态!PostgresConf.CN2019大会盛大召开
  7. 数据挖掘如何计算相关性_一份数据挖掘入门指南!!!
  8. string 类简介和例程
  9. Android 虚线切割线
  10. Smart Link概述
  11. Python 利用win32com批量给excel加密
  12. linux文件夹可视化工具,4款简单实用的的服务器文件管理工具推荐
  13. mysql 最大值65536_SQL server事物复制报错:要复制的 LOB 数据的长度(xxxxx)超出了配置的最大值 65536...
  14. 用Python画一个“中国福”,送给想要祝福的人吧
  15. 上传下载文件实例(vsftp服务器+nginx)
  16. 今天我们来聊聊,如何做好第三方系统对接
  17. nefu 1116 字符串加密
  18. office2007各组件全面介绍
  19. CUDA 深入浅出谈
  20. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; mysql的xml文件出现异常解决方案

热门文章

  1. Python 实验2.1
  2. 根据坐标点位置计算方位角(python实现)
  3. html5 梵高 星,复华文旅:穿越吧!梵高
  4. Volley传输网络数据
  5. Con Kolivas
  6. nodeJS 网页支付
  7. 课程分类管理(树形一级二级分类),添加课程分类
  8. YOLOv5 模型结构及代码详细讲解(一)
  9. 2020年存储技术展望:AI推动数据存储理念进化
  10. 如何将图片转换jpg格式?详细步骤