1、STVD和STVP的使用及串口烧写程序教程
文章目录
一、前述二、STVD的使用三、STVP的使用1、STVP的作用:2、STVP的使用
四、串口烧录程序
一、前述
STVD是意法半导体推出的,可以支持STM8和STM32 而IAR不尽如此,还支持51,MSP430等芯片
软件开发环境:编写程序,调试软件功能,下载固件到单片机中
硬件开发环境:连接外围电路,驱动功能外设,实现电气功能 最终构成一个以STM8系列单片机作为控制核心的应用系统。
MCS-51 一般的开发环境是 IAR 和 Keil
STM8 一般的开发环境是 IAR 和 STVD
但是STVD里面只有汇编的解析器,而没有C语言的解析器,所以需要额外去安装一个“C编译器”—Cosmic Tool。Cosmic公司推出了一个适用于STM8系列的单片机的C编译器。32KB以下的代码可以免费使用。 ST-Link设备有时需要升级,也就是更新固件库,同时升级的同时不能随便的拔出。
二、STVD的使用
先在桌面上新建一个Clichong的文件夹。然后打开STVD软件,新建立一个新名字为Clichong的工作区。
选择好工作区的保存路径
设置项目的名称和保存的位置,并且选着好Cosmic编译工具,否则无法使用c语言进行编写。并且选择好编译器的下载路径。
选择好使用的芯片型号
此时的main.c文件是没有头文件的,也就是我们需要添加库文件。右键Include Files,选择add files to fonder弹出如下界面: 选择所使用芯片的类型,此时我头文件的路径为:E:\stm8-STtool\include,选择STM8S208MB
添加好头文件,并在main.c上添加#include “STM8S208M.h”
编写程序测试,并且设置target settings中的调试工具为ST-Link
编译,调试,运行 以上便是STVD工程的建立使用
补充:选项字节的配置Debug instrument—> MCU confightion 中进行设置
测试点灯代码:
#include "STM8S208M.h"
#define u8 uint8_t
#define u16 uint16_t
#define u32 uint32_t
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned long uint32_t;
void delay(u16 Count);
void GPIO_play(void);
int main( void )
{
PI_DDR|=0x0F;//配置PI端口低四位为输出模式
PI_CR1|=0x0F;//配置PI端口低四位为推挽输出模式
PI_CR2&=0xF0;//配置PI端口低四位低速率输出
GPIO_play();
}
void delay(u16 Count)
{
u8 i,j;
while (Count--)//Count形参控制延时次数
{
for(i=0;i<50;i++)
for(j=0;j<20;j++);
}
}
void GPIO_play(void)
{
while(1){
PI_ODR|=0x0F;
delay(50);
PI_ODR&=0xF0;
delay(50);
}
}
三、STVP的使用
1、STVP的作用:
STVP软件可以将固件程序下载到单片机的FLASH存储器中。可以修改STM8系列单片机EEPROM存储器中的内容。可以修改STM8系列单片机的选项字节options bios参数。
2、STVP的使用
以下是几个重要按钮的介绍:
第一个图标的作用是读出当前页的程序第二个图标是作业是写入一个hex文档数据第三个图标是校验一个写入的数据的正确性第六个图标是读取指定地址段的程序第七个图标是写入指定地址段的程序第八个图标是校验指定地址段的程序第九个图标是读出三页全部的内容第十个图标是写入三页全部的内容第十一图标是校验三个页的全部的内容
当是当测试的时候,出现了一堆问题,如下所示: 原因是没有进行芯片等相关配置。
选着configure—>configure STVP 选着好硬件的设备类型(ST-Link),端口类型(usb),Programming的模式(SWIM),最后选着好芯片类型(STM8S208MB) 设置成功 进行简单的测试。点击read current tab按钮,可以正常显示当前页面的内容 向选项字节写入55,开启读保护 想再度查看的时候会被阻止 而再度的关闭读保护想查看当前页面的程序的时候,会发现当前页面没有任何的程序,也就是程序被删除了,单片机复位也不会再执行。 结论: 可以好好的利用选项字节,当开启读保护写入55时再度的关闭就会删除程序。
四、串口烧录程序
串口烧写的程序可以允许的格式有:.bin文件,.hex文件,.s19文件
打开Demonstrator GUI工具进行串口的程序下载 打开设备管理器查看端口号,此时我的端口是com7 设置参数。线比较长的可以设置小点的波特率;而线短的可以设置教长一点。 对单片机按复位按键的同时,点击next按钮,即可进入如下界面 选着单片机字节的容量大小,STM8S208MB是128K的 此处使用IAR工具编译代码,注意对工程选项设置为导出hex文件 编译,然后点击make,即可看见Debug中的Exe文件中,有一个led.hex文件,此为一个闪烁灯的程序。同样的方法,我们再make一个流水灯的.bin二进制程序。 只需要在第六步的时候Intel extended选择为binary即可,如下所示: 打开STVP软件工具,开启选项字节的选项位BOOTLOADER ENABLED状态,并进行烧写。(需要用ST-Link才可以进行写入) 分别尝试串口烧写.hex文件和.bin文件 烧写程序成功,复位进行验证,确实是闪烁灯成功。 当然,ST-Link比串口烧录简单多了。