1、STVD和STVP的使用及串口烧写程序教程

简介: 1、STVD和STVP的使用及串口烧写程序教程

一、前述


STVD是意法半导体推出的,可以支持STM8和STM32

而IAR不尽如此,还支持51,MSP430等芯片


软件开发环境:编写程序,调试软件功能,下载固件到单片机中


硬件开发环境:连接外围电路,驱动功能外设,实现电气功能

最终构成一个以STM8系列单片机作为控制核心的应用系统。


MCS-51 一般的开发环境是 IAR 和 Keil


STM8 一般的开发环境是 IAR 和 STVD


但是STVD里面只有汇编的解析器,而没有C语言的解析器,所以需要额外去安装一个“C编译器”—Cosmic Tool。Cosmic公司推出了一个适用于STM8系列的单片机的C编译器。32KB以下的代码可以免费使用。

image.png

ST-Link设备有时需要升级,也就是更新固件库,同时升级的同时不能随便的拔出。

image.png


二、STVD的使用


  1. 先在桌面上新建一个Clichong的文件夹。然后打开STVD软件,新建立一个新名字为Clichong的工作区。

image.png


  1. 选择好工作区的保存路径

image.png


  1. 设置项目的名称和保存的位置,并且选着好Cosmic编译工具,否则无法使用c语言进行编写。并且选择好编译器的下载路径。

image.png

image.png


  1. 选择好使用的芯片型号

image.png


  1. 此时的main.c文件是没有头文件的,也就是我们需要添加库文件。右键Include Files,选择add files to fonder弹出如下界面:

image.png

选择所使用芯片的类型,此时我头文件的路径为:E:\stm8-STtool\include,选择STM8S208MB

image.png


  1. 添加好头文件,并在main.c上添加#include “STM8S208M.h”

image.png


  1. 编写程序测试,并且设置target settings中的调试工具为ST-Link

image.png

image.png

  1. 编译,调试,运行

image.png

以上便是STVD工程的建立使用


  1. 补充:选项字节的配置Debug instrument—> MCU confightion 中进行设置

image.png


测试点灯代码:


#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的使用

image.png

以下是几个重要按钮的介绍:


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

当是当测试的时候,出现了一堆问题,如下所示:

image.png

原因是没有进行芯片等相关配置。


  1. 选着configure—>configure STVP

image.png

  1. 选着好硬件的设备类型(ST-Link),端口类型(usb),Programming的模式(SWIM),最后选着好芯片类型(STM8S208MB)

image.png

  1. 设置成功

image.png

  1. 进行简单的测试。点击read current tab按钮,可以正常显示当前页面的内容

image.png

  1. 向选项字节写入55,开启读保护

image.png

  1. 想再度查看的时候会被阻止

image.png

  1. 而再度的关闭读保护想查看当前页面的程序的时候,会发现当前页面没有任何的程序,也就是程序被删除了,单片机复位也不会再执行。

image.png

结论:

可以好好的利用选项字节,当开启读保护写入55时再度的关闭就会删除程序。


四、串口烧录程序


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


  1. 打开Demonstrator GUI工具进行串口的程序下载

image.png

  1. 打开设备管理器查看端口号,此时我的端口是com7

image.png

  1. 设置参数。线比较长的可以设置小点的波特率;而线短的可以设置教长一点。

image.png

  1. 对单片机按复位按键的同时,点击next按钮,即可进入如下界面

image.png

  1. 选着单片机字节的容量大小,STM8S208MB是128K的

image.png

  1. 此处使用IAR工具编译代码,注意对工程选项设置为导出hex文件

image.png

  1. 编译,然后点击make,即可看见Debug中的Exe文件中,有一个led.hex文件,此为一个闪烁灯的程序。同样的方法,我们再make一个流水灯的.bin二进制程序。

image.png

只需要在第六步的时候Intel extended选择为binary即可,如下所示:

image.png

  1. 打开STVP软件工具,开启选项字节的选项位BOOTLOADER ENABLED状态,并进行烧写。(需要用ST-Link才可以进行写入)

image.png

  1. 分别尝试串口烧写.hex文件和.bin文件

image.png

  1. 烧写程序成功,复位进行验证,确实是闪烁灯成功。

image.png

当然,ST-Link比串口烧录简单多了。


目录
相关文章
【51单片机】烧写教程:将代码下载到单片机中(图示&解析)
【51单片机】烧写教程:将代码下载到单片机中(图示&解析)
|
8月前
|
Linux Shell
Linux系统调试篇——stty修改串口波特率
Linux系统调试篇——stty修改串口波特率
|
11月前
|
存储 安全 IDE
OpenMV的程序烧录
OpenMV的程序烧录
324 0
|
12月前
|
存储 芯片 UED
【STM32】单片机模式配置&FlyMcu串口下载固件&STLINK Utility
【STM32】单片机模式配置&FlyMcu串口下载固件&STLINK Utility
331 0
|
芯片 内存技术
如何用SEGGER工具烧写程序,烧写地址详解
如何用SEGGER工具烧写程序,烧写地址详解
235 0
如何用SEGGER工具烧写程序,烧写地址详解
|
存储 Linux API
ZYNQ裸板:串口篇
使用 PS 的时候,通常会添加 UART 控制器,用于打印信息和调试代码。除此之外, PS 在和外部设备通信时,也会经常使用串口进行通信。先从UART控制器开始讲起吧,从简单的测试再到工程实例。
625 0
ZYNQ裸板:串口篇
单片机:点亮一盏灯(如何使用keil和PZ软件对板子烧录)
单片机:点亮一盏灯(如何使用keil和PZ软件对板子烧录)
82 0
单片机:点亮一盏灯(如何使用keil和PZ软件对板子烧录)
单片机:单灯闪烁(包含keil的使用和PZ烧录)
单片机:单灯闪烁(包含keil的使用和PZ烧录)
151 0
单片机:单灯闪烁(包含keil的使用和PZ烧录)
|
存储 芯片 Windows
如何使用串口来给STM32下载程序
如何使用串口来给STM32下载程序
333 0
如何使用串口来给STM32下载程序