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比串口烧录简单多了。


目录
相关文章
|
Linux 网络安全 Android开发
振南技术干货集:各大平台串口调试软件大赏(1)
振南技术干货集:各大平台串口调试软件大赏(1)
VSPD虚拟串口软件安装及使用
VSPD虚拟串口软件安装及使用
3137 0
IAR for STM8下载、安装、注册
IAR for STM8下载、安装、注册
2008 0
|
10月前
|
敏捷开发 存储 监控
6款主流办公协同软件大比拼:哪款工具最适合企业协作?
在现代企业中,团队协作是高效运作的核心。本文分析了协同工作的常见难点,如沟通不畅、任务跟踪困难和工具孤立,并推荐了6款主流办公协同软件:板栗看板、Trello、Notion、Monday.com、Asana和Slack。每款软件都有其独特优势,适合不同类型和规模的团队。通过功能、易用性和应用场景的评测,帮助企业找到最适合的工具。
451 4
6款主流办公协同软件大比拼:哪款工具最适合企业协作?
|
XML 存储 网络安全
ROS入门(二):launch文件解析
该文章是关于ROS入门的第二篇教程,详细解析了ROS中的launch文件,包括其运行方式、XML格式规范、标签使用、参数替代、条件属性以及通过简单和复杂案例来演示launch文件的使用,最后介绍了如何在参数服务器上设置参数。
ROS入门(二):launch文件解析
STM32学习笔记(4) 高级定时器-两路互补的PWM输出(带死区和刹车控制)
原理:当捕捉到信号的跳变沿时,将CNT的值所存到捕获寄存器CCR中,然后把两次的值相减,就可以得到脉宽或者频率。
2536 0
|
传感器 算法
技术心得记录:四元数及姿态解算Mahony算法
技术心得记录:四元数及姿态解算Mahony算法
894 0
|
安全 测试技术
深入理解白盒测试:方法、工具与实践
【4月更文挑战第7天】 在软件开发的质量控制过程中,白盒测试是确保代码逻辑正确性的关键步骤。不同于黑盒测试关注于功能和系统的外部行为,白盒测试深入到程序内部,检验程序结构和内部逻辑的正确性。本文将探讨白盒测试的核心技术,包括控制流测试、数据流测试以及静态分析等方法,同时介绍当前流行的白盒测试工具,并讨论如何在实际项目中有效实施白盒测试。文章的目标是为软件测试工程师提供一份综合性指南,帮助他们更好地理解和应用白盒测试技术。
|
缓存 监控 算法
Linux内存碎片深度剖析:原理、处理与分析全指南
Linux内存碎片深度剖析:原理、处理与分析全指南
2581 0
Linux内存碎片深度剖析:原理、处理与分析全指南
|
Web App开发 编解码 监控
RTSP协议探秘:从原理到C++实践,解锁实时流媒体传输之道
RTSP协议探秘:从原理到C++实践,解锁实时流媒体传输之道
4080 0