###STM8避坑指南-1:ST_LINK连接问题:SWIM error [30006]###

1.问题描述

STM8S208MB开发板用了两天了,用IAR烧录调试debug一切正常,突然有一天无法烧录debug了!查看设备管理器有STM32-ST-LINK,说明驱动和连接正常。 IAR-OPTION的芯片选型也没错:STM8S208MB,不是M8。

2.失败的解决办法

2.1 换一个ST-LINK(Failure)

从公司又找了一个ST_LINK连接,仍然不能烧录和DEBUG-------PASS!!!

2.2 卸载IAR(Failure)

卸载IAR,重新安装,仍然不行--------PASS!!!

3.成功的解决方案

借助STVP软件下载程序到芯片,可以烧录(需要外接电源供电,但是有时候不外接电源也能烧录。)缺点是该软件不能调试。

3.1操作步骤:

1.首先下载STVP烧录软件(有点类似我们公司的SinPro)
2. 打开后选择使用的单片机型号(ST_LINK–USB–STM8S208MB),然后把选项字节OptionByte解锁OFF
3. 然后烧录:Program -> All tabs
4. 具体STVP使用教程参考:
链接: link.

5.用STVP烧录工具解锁以后,回到IAR将Options窗口里的Output Converter改回原来的设置(Intel Extended和.hex文件)在用IAR的在线烧录和DEBUG就正常了!!!!!

3.2 使用STVP工具注意事项

1.确保电脑可以识别ST-LINK设备
2.IAR生成.s19文件
3.烧录时板子不用外部电源供电。如果烧录时(ST-LINK)同时接外部电源,会提示:
Error : Error on Option Bytes (complementary bytes). Reprogram Option Bytes of device
Error : < OPTION BYTE verifying failed.
Error : < Operation aborted.

4.烧录成功后,把ST-LINK断电,板子由外部电源供电,复位后可看到现象。

4 原因分析:芯片被锁住了!

stm8只要烧录过程中出现异常中断那很可能芯片就锁住了,比如断电,通讯数据线接触不良断开。应该是类似于avr熔丝位没有完整写入出现错误。常见现象不能工作不能下载,晶振不工作。(应该是我在某一次烧录过程操作不当中途断电了,导致了STM8S芯片被锁死,导致后面的不能烧录)

芯片锁住问题可以解决:使用STVP,在option bytes页面将ROP改成OFF,点击编程按钮解锁;

注意要去掉三个选项;即IAR-OPTION-ST_LINK的三个选项,不要勾选

********************** 注意ST_LINK的引脚连接方式 ************************
R–REST(不是RST)
G–GND
S–SWIM
V–3.3V

##解决办法4##
IAR-OPTIONS-里的文件路径改成实际路径:
例如:“D:\Sine_Workspace\03_MCU_Programming\02_STM8S study\01_WQL_STM8S_Study\Library\src”

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: stvp_cmdline.exe是STVisual Programmer的命令行工具。通过该工具可以实现对ST微控制器的烧录功能。 -boardname=st-link参数指定了烧录时使用的调试器名称为st-link,表示使用ST-Link调试器。ST-LinkST公司提供的一种调试和烧录工具,通常用于与STM32系列微控制器进行通信。 -progmode=swim参数指定了烧录模式为swim模式。SWIM(Single Wire Interface Module)是ST公司专为STM8系列微控制器设计的一种调试和烧录接口模式。通过SWIM接口,可以实现对STM8微控制器的烧录和调试。 -port=usb参数指定了与调试器连接的端口为USB端口。表示调试器通过USB接口与计算机进行通信。 综上所述,stvp_cmdline.exe -boardname=st-link -progmode=swim -port=usb命令的意思是使用ST-Link调试器,采用swim模式进行烧录,通过USB端口与计算机进行通信。这条命令可以通过命令行工具来实现对ST微控制器的烧录功能。 ### 回答2: stvp_cmdline.exe -boardname=st-link -progmode=swim -port=usb 是一个命令行工具,用于与ST-LINK调试器进行通信,并进行编程操作。具体含义如下: -boardname=st-link:指定使用的调试器板名称为ST-LINK,表示与ST-LINK调试器进行通信。 -progmode=swim:指定编程模式为SWIM模式,表示使用单线模式进行通信和编程。SWIM(Single Wire Interface Module)是STMicroelectronics提供的编程接口,通过单一的引脚实现通信和编程操作。 -port=usb:指定通信端口为USB端口,表示通过USB接口连接ST-LINK调试器和目标设备进行通信。 通过执行以上命令,可以启动stvp_cmdline.exe,并使用ST-LINK调试器连接目标设备,以便进行编程操作。 ### 回答3: stvp_cmdline.exe -boardname=st-link -progmode=swim -port=usb 是一个命令行工具,用于与ST-LINK调试器进行通信并下载程序。 -boardname=st-link 是指定调试器板名称为ST-LINK,这表示我们要和ST-LINK调试器进行交互。 -progmode=swim 是指定编程模式为SWIM(Single Wire Interface Module)。SWIMST-LINK调试器和STM8微控制器之间的一种通信接口,用于编程和调试。 -port=usb 是指定通信端口为USB。这意味着我们将通过USB端口与ST-LINK调试器进行通信。 该命令的目的是使用stvp_cmdline.exe来控制ST-LINK调试器,通过SWIM接口以USB通信方式下载程序或进行其他编程和调试操作。 这个命令可以用于在开发过程中将程序下载到目标设备上。通过ST-LINK调试器,我们可以将编译好的程序文件通过SWIM接口传输到目标设备上,实现程序的烧录和调试。使用USB端口进行通信,方便快捷。 总结起来,stvp_cmdline.exe -boardname=st-link -progmode=swim -port=usb 是一个用于控制ST-LINK调试器,通过SWIM接口和USB通信方式进行程序下载和调试的命令行工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赤豆糊_siki

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值