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以下的代码可以免费使用。
1、STVD和STVP的使用及串口烧写程序教程_第1张图片
ST-Link设备有时需要升级,也就是更新固件库,同时升级的同时不能随便的拔出。
1、STVD和STVP的使用及串口烧写程序教程_第2张图片

二、STVD的使用

  1. 先在桌面上新建一个Clichong的文件夹。然后打开STVD软件,新建立一个新名字为Clichong的工作区。
    1、STVD和STVP的使用及串口烧写程序教程_第3张图片

  2. 选择好工作区的保存路径
    1、STVD和STVP的使用及串口烧写程序教程_第4张图片

  3. 设置项目的名称和保存的位置,并且选着好Cosmic编译工具,否则无法使用c语言进行编写。并且选择好编译器的下载路径。
    1、STVD和STVP的使用及串口烧写程序教程_第5张图片
    1、STVD和STVP的使用及串口烧写程序教程_第6张图片

  4. 选择好使用的芯片型号
    1、STVD和STVP的使用及串口烧写程序教程_第7张图片

  5. 此时的main.c文件是没有头文件的,也就是我们需要添加库文件。右键Include Files,选择add files to fonder弹出如下界面:
    1、STVD和STVP的使用及串口烧写程序教程_第8张图片
    选择所使用芯片的类型,此时我头文件的路径为:E:\stm8-STtool\include,选择STM8S208MB
    1、STVD和STVP的使用及串口烧写程序教程_第9张图片

  6. 添加好头文件,并在main.c上添加#include “STM8S208M.h”
    1、STVD和STVP的使用及串口烧写程序教程_第10张图片

  7. 编写程序测试,并且设置target settings中的调试工具为ST-Link
    1、STVD和STVP的使用及串口烧写程序教程_第11张图片
    1、STVD和STVP的使用及串口烧写程序教程_第12张图片

  8. 编译,调试,运行
    1、STVD和STVP的使用及串口烧写程序教程_第13张图片
    以上便是STVD工程的建立使用

  9. 补充:选项字节的配置Debug instrument—> MCU confightion 中进行设置
    1、STVD和STVP的使用及串口烧写程序教程_第14张图片

测试点灯代码:

#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的作用:

  1. STVP软件可以将固件程序下载到单片机的FLASH存储器中。
  2. 可以修改STM8系列单片机EEPROM存储器中的内容。
  3. 可以修改STM8系列单片机的选项字节options bios参数。

2、STVP的使用

在这里插入图片描述
以下是几个重要按钮的介绍:

  • 第一个图标的作用是读出当前页的程序
  • 第二个图标是作业是写入一个hex文档数据
  • 第三个图标是校验一个写入的数据的正确性
  • 第六个图标是读取指定地址段的程序
  • 第七个图标是写入指定地址段的程序
  • 第八个图标是校验指定地址段的程序
  • 第九个图标是读出三页全部的内容
  • 第十个图标是写入三页全部的内容
  • 第十一图标是校验三个页的全部的内容

当是当测试的时候,出现了一堆问题,如下所示:
1、STVD和STVP的使用及串口烧写程序教程_第15张图片
原因是没有进行芯片等相关配置。

  1. 选着configure—>configure STVP
    在这里插入图片描述
  2. 选着好硬件的设备类型(ST-Link),端口类型(usb),Programming的模式(SWIM),最后选着好芯片类型(STM8S208MB)
    1、STVD和STVP的使用及串口烧写程序教程_第16张图片
  3. 设置成功
    1、STVD和STVP的使用及串口烧写程序教程_第17张图片
  4. 进行简单的测试。点击read current tab按钮,可以正常显示当前页面的内容
    1、STVD和STVP的使用及串口烧写程序教程_第18张图片
  5. 向选项字节写入55,开启读保护
    1、STVD和STVP的使用及串口烧写程序教程_第19张图片
  6. 想再度查看的时候会被阻止
    1、STVD和STVP的使用及串口烧写程序教程_第20张图片
  7. 而再度的关闭读保护想查看当前页面的程序的时候,会发现当前页面没有任何的程序,也就是程序被删除了,单片机复位也不会再执行。
    1、STVD和STVP的使用及串口烧写程序教程_第21张图片
    结论:
    可以好好的利用选项字节,当开启读保护写入55时再度的关闭就会删除程序。

四、串口烧录程序

串口烧写的程序可以允许的格式有:.bin文件,.hex文件,.s19文件

  1. 打开Demonstrator GUI工具进行串口的程序下载
    1、STVD和STVP的使用及串口烧写程序教程_第22张图片
  2. 打开设备管理器查看端口号,此时我的端口是com7
    1、STVD和STVP的使用及串口烧写程序教程_第23张图片
  3. 设置参数。线比较长的可以设置小点的波特率;而线短的可以设置教长一点。
    1、STVD和STVP的使用及串口烧写程序教程_第24张图片
  4. 对单片机按复位按键的同时,点击next按钮,即可进入如下界面
    1、STVD和STVP的使用及串口烧写程序教程_第25张图片
  5. 选着单片机字节的容量大小,STM8S208MB是128K的
    1、STVD和STVP的使用及串口烧写程序教程_第26张图片
  6. 此处使用IAR工具编译代码,注意对工程选项设置为导出hex文件
    1、STVD和STVP的使用及串口烧写程序教程_第27张图片
  7. 编译,然后点击make,即可看见Debug中的Exe文件中,有一个led.hex文件,此为一个闪烁灯的程序。同样的方法,我们再make一个流水灯的.bin二进制程序。
    1、STVD和STVP的使用及串口烧写程序教程_第28张图片
    只需要在第六步的时候Intel extended选择为binary即可,如下所示:
    1、STVD和STVP的使用及串口烧写程序教程_第29张图片
  8. 打开STVP软件工具,开启选项字节的选项位BOOTLOADER ENABLED状态,并进行烧写。(需要用ST-Link才可以进行写入)
    1、STVD和STVP的使用及串口烧写程序教程_第30张图片
  9. 分别尝试串口烧写.hex文件和.bin文件
    1、STVD和STVP的使用及串口烧写程序教程_第31张图片
  10. 烧写程序成功,复位进行验证,确实是闪烁灯成功。
    1、STVD和STVP的使用及串口烧写程序教程_第32张图片
    当然,ST-Link比串口烧录简单多了。

你可能感兴趣的:(STM8)