STM8⼊门以及程序编译、烧录、IAR使⽤⽅法(扫盲篇)使⽤环境(蓝⾊粗体字为特别注意内容) 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)编译按钮
相信熟悉Keil IDE的朋友能够很快上⼿!好了开发环境介绍完了,下⾯来介绍⼀下烧录软件,STM8⼀般⽤STVP⼯具下载(笔者使⽤IAR⾃带的下载调试功能总是出错,不知如何配置,希望了解的朋友能够给些建议~)
②ST Visual Programmer(STVP)
1)软件图标为:主要界⾯如下图所⽰:
其中程序下载步骤分为三步:①打开可执⾏⽂件,②选择单⽚机型号,③下载程序 (Program->All tabs),打开可执⾏⽂件*hex/*.s19的时候STVP会进⾏校验,如果校验成功则会提⽰ File successfully l
oaded. 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连接线,这时候,程序才能开始运⾏。