OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3472|回复: 0

【转】关于 STM8S SWIM Error[30006]的分析

[复制链接]

25

主题

138

帖子

0

精华

高级会员

Rank: 4

积分
612
金钱
612
注册时间
2016-6-7
在线时间
59 小时
发表于 2017-7-28 12:14:27 | 显示全部楼层 |阅读模式

.前言
有客户反映在用 ST-Link 调试、下载 ST8S 系列单片机程序的时候出现了问题, 同一块板子在二十几天前调试均正常,现在重新修改就下载不进去,无法调试。问题描述如下:
1、无法下载,错误显示为: **Connectionerror(usb): swim error[30006]:comm init error:chip does not answer 换了电脑、电脑重启、换了 ST-Link 均无效。
2、用 ST-Visualprogramer 下载出现错误: Cannot communicate with the board 而导致无法下载。
二. SWIMError[30006]中的问题分析
解释这个问题, 分别从软硬件的角度去分析原因。
1. 软件方面
检查是否屏蔽了 SWIM 模块, 打开对应 STM8S 单片机对应的参考手册, 参阅 SWIMdisable 部分的寄存器, Description of global configurationregister(CFG_GCR),检查软件是否对其 bit0 位进行了屏蔽。
2. 硬件方面
确信不是软件方面的原因后, 最好选用一个简单的 STM8S 的标准示例库函数,或自己编写一个空的函数工程,进一步排除软件方面的干扰。然后检查硬件连接接口。
关于 SWIM 的标准调试接口,很简单, 与单片机对应的 GPIO 口直接相连即可。

st-1.jpg
通过万用表测量,检查其硬件设计的接口是否正确。端口正确的话,检查与调试器 ST-Link 的连接。
关于 ST-Link 部分的接口,可以参见 UM1075 的手册。通过比对,发现其对应的接口线的定义分别如下图,有些客户制板时,并不是按照这样默认的引脚定义,此时需要按下图的定义进行跳线。
st-2.jpg
当该客户按照上述的定义重新连接ST-Link 后,程序能重新下载了。
.结语
在分析该 swimerror[30006]的原因的时候,也发现,如果MCU 的电源不供电,也会导致该错误的产生,所以,简单总结下分析方向:软件 SWIM 模块,硬件电源是否上电,硬件的接口是否连接正确.


另外,关于错误 [size=14.6667px]SWIM Error[30004] comm timeout  按照网上提供的方法[size=14.6667px]调试了很久 依然没有解决。最简单的方法:更换单片机吧!


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-6-26 07:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表