历史上的今天
返回首页

历史上的今天

今天是:2025年03月12日(星期三)

正在发生

2020年03月12日 | 关于STM8的程序下载问题:SWIM Error[30006]报错解决办法汇总

2020-03-12 来源:eefocus

本人也是Windows用户的受害者,对于编程1天,配置2天的经历来说,着实是一种痛苦的情况。本人也是遇到了这个问题,虽然发现竟然是芯片错了,但也因为这个研究了好几天,为了下次不再重新网上搜索,就把我现在对这方面的解决方法汇个总,并把我个人的自己见解放在里面记录下来。

问题背景


我用的是IAR的STM8开发环境,在连接ST-LINK时,选择运行调试就会立马报错,出现错误为:**Connection error(usb):swim error[30006]:comm init error:chip does not answer,不管插多少次,重启系统都不行。


针对这样的情况,下面要从硬件和软件两个方面来分析并解决。


硬件方面

1. ST-LINK仿真器或者STM8烧坏了。它可能会因为电压不稳,接线错误导致短路等等原因而损坏,所以你可以摸一下ST-LINK或者STM8芯片烫不烫,如果发烫很有可能已经导致损坏,可以选择换一个,也不贵。不用购买官方的,都是淘宝上十几块的ST-LINK V2和U盘大小差不多。我用的就是这种:

还有就是对内置固件的升级,网上有很多这样的建议和教程,我觉得这个还是很有难度的,一般出现这种问题的也就是新手这种水平居多,所以还是略过吧,重新买一个没多少钱。


2. 检查是否是引脚错误。对于上述图片的这种仿真器,一般就是10引脚接口,如下所示:

一般和单片机上的连接用的就是4个引脚,其中ST-LINK V2之所以适应STM8和STM32两种系列的仿真,就是因为

---左排引脚是STM8的SWIM调试模式

--右排引脚是STM32的JTAG或者SWD的调试模式

一般芯片供电都是用3.3V,所以可以不接5V引脚,如果接错了,也会出现上述error[30006]的错误。


软件方面

1.SWIM模块被屏蔽

这个原因可能不是很多人知道,在STM8芯片中有一个全局配置寄存器CFG_GCR,如下定义:

  

该寄存器的最后一位就是SWIM的使能端口,在单片机复位下,该寄存器默认是0x00,表示SWIM是被允许的,而如果某个STM8型号的不支持SWIM,很可能复位状态下是0x01,屏蔽了SWIM,这个时候你就得去芯片参考手册里去看看这个。


2.IAR配置错误

这一块其实是开发者最常用的,一般配置出错也不太可能,在仿真和在线调试两种模式下,区别就是在于选择在线调试模式即可,具体方法为:

1)打开你要下载的工程,然后在右边一栏中右键工程,选择option

2)在category中选择Debugger,在Setup下面的Driver从原来的Simulator选择为ST-LINK,点击OK即可。


3.ST-LINK V2驱动问题

这个问题也是大家面临最多的问题,一般情况下下载失败都是由于驱动安装失败或者版本不兼容造成的,尝试过上述一些方法之后,如果还是失败,那么你就要考虑驱动问题了。对于驱动无非就是两点,一是驱动版本是否正确,二是驱动是否安装成功。这里我总结网上的经验再结合自己的,总结为大的步骤。

1)卸载驱动。往往发生驱动问题时,或者在设备管理器中出现黄色感叹号的情况,就是驱动安装失败,首先避免以前的驱动产生干扰,先卸载驱动。在设备管理器中找到黄色感叹号的设备,然后右键->卸载,完成卸载驱动。


2)取消自动安装。每次都是插上USB后自动开始安装驱动,导致你安装完你需要的驱动之后,再一次插入就变成安装最新驱动,前面就白花功夫了。这里我介绍了关于Win8.1的取消自动安装步骤,其他系统这里就不介绍了,步骤如下:

步骤一:将鼠标移动到屏幕最右下角,然后上移,就会出现一个竖栏,点击设置;

步骤二:出现设置界面,然后点击上方第二个“控制面板”,进入控制面板界面;

步骤三:然后选择“设备与打印机”

步骤四:然后看到设备一栏中,右键你自己的PC,右键选择“设备安装设置”;

步骤五:选择第二个“否,让我选择要执行的操作”,然后选择“从不安装来自windows更新的驱动程序软件”,保存更改即可。


3)网上下载驱动。一般百度或者去官网下载驱动,百度搜索驱动时注意下载一些评分比较高,评论写的都是好评的驱动,别下成病毒或者别的什么程序了。而且要注意是选择32位的x86版本,还是64位版本。


4)驱动解压。这里需要注意,一般下载下来的很多是压缩包,或者是exe的可执行程序,而且压缩包里大多数也是exe可执行程序,很多人以为执行这些可执行程序之后就算是安装驱动完成了。其实是错误的,这些exe其实只是一种解压方式的程序打包,他会释放里面的文件到指定的目录,其实说白了就是解压,是一种定向关联解压。里面的解压出来的文件才是真正的驱动文件。


在运行exe的时候,会让你选择安装目录,你可以选择默认,或者自己设定一个目录,但这里你要把这个目录记下来,后面手动安装驱动是需要的。这里你还要确认一下,你打开那个安装目录,去看一下是否已经安装完毕。有的时候明明提示你安装成功,但实际上你去安装目录一看,发现是空的,说明并没有安装。


5)手动安装驱动。这已经是最后一步了,是真正安装驱动的步骤,你到设备管理器中,找到黄色驱动,右键选择更新驱动程序,然后选择手动搜索。这里很关键,你需要把第4步那个安装目录选择,因为那里就是驱动文件,选择完后就会开始安装,你的ST-LINK如果灯不再闪烁,而是常亮,说明驱动安装成功啦。如果还是不行,你拔下来再插一次试试,基本就可以了。


总结

终于完成了安装,如果上面所有的步骤都尝试过,还是不行的话,那真是命不好,你已经成功避免了99%可能出现的情况,要不你就换台电脑试试,或者实在不行,重装IAR吧。虽然Windows让程序员很通过,但毕竟多数人还是用的是他,好好享受吧。希望这些能让我以后少走些弯路。

推荐阅读

史海拾趣

GHz Technology ( Microsemi )公司的发展小趣事

对于5G169节日彩灯集成电路,网友可能提出多种问题,以下是一些常见问题及其详细回答:

1. 5G169节日彩灯集成电路的基本工作原理是什么?

回答
5G169节日彩灯集成电路通过交流电输入,经过VDI~VD4桥式整流输出全波脉动直流电,供四路彩灯用电。该电路还包含简单的稳压电路(由Rl、R2、VD5和VD6组成),经过Cl滤波后输出约6V直流电供集成块用电。VD6在这里起隔离作用,使得R2两端能获得6V全波脉动直流电压,其脉动频率为交流电的2倍(即100Hz)。此100Hz信号经R4注入集成块的8脚作为同步信号。电路中还包含正、反向控制开关SB,用于控制彩灯的正向或反向循环。

2. 如何调节5G169节日彩灯的亮灯周期?

回答
5G169节日彩灯的亮灯周期是可调的,但具体调节方式可能因不同型号的集成电路或电路设计而异。通常,亮灯周期的调节可能涉及改变与集成电路相关的电阻、电容或其他元件的值。然而,对于5G169这样的具体型号,如果没有详细的电路设计图或说明书,很难给出确切的调节步骤。一般情况下,可以通过查阅产品手册或联系制造商获取具体的调节方法。

3. 5G169节日彩灯集成电路是否需要外接电源?

回答
是的,5G169节日彩灯集成电路需要外接电源来提供工作所需的电能。通常,这种集成电路会设计为能够接受家庭常用的交流电源(如220V或110V,具体取决于所在地区的电压标准),并通过内部的整流和稳压电路转换为集成电路和彩灯所需的直流电压。

4. 5G169节日彩灯集成电路在使用过程中需要注意哪些事项?

回答
在使用5G169节日彩灯集成电路时,需要注意以下事项:

  • 确保电源电压与集成电路的额定电压相匹配,避免过电压或过电流导致的损坏。
  • 遵循产品手册中的安装和接线指导,确保电路连接正确无误。
  • 注意电路的散热问题,避免长时间在高温环境下使用导致集成电路过热。
  • 定期检查电路连接和元件状态,及时发现并处理可能的问题。
  • 避免在潮湿或腐蚀性环境中使用,以防电路受潮或腐蚀。

5. 5G169节日彩灯集成电路有哪些常见故障及解决方法?

回答
5G169节日彩灯集成电路的常见故障可能包括灯不亮、亮度不均、闪烁异常等。针对这些故障,可以尝试以下解决方法:

  • 检查电源电压是否正常,确保电路得到足够的电能供应。
  • 检查电路连接是否牢固可靠,无短路或断路现象。
  • 检查集成电路的引脚是否接触良好,无虚焊或断裂现象。
  • 如果集成电路损坏,需要更换新的集成电路。
  • 对于亮度不均或闪烁异常的问题,可以尝试调整与集成电路相关的电阻、电容等元件的值,或者检查彩灯本身是否存在问题。

请注意,以上回答基于一般性的集成电路知识和经验,具体情况可能因不同型号的集成电路或电路设计而异。在实际操作中,建议根据具体的产品手册或咨询专业人士进行故障排查和解决。

DeLorme公司的发展小趣事

随着公司业务的不断发展,DeLorme公司开始积极寻求市场扩张的机会。他们通过与国外知名品牌的合作,将自己的产品推向了国际市场。同时,他们还积极参与国际性的户外活动和赛事,通过这些活动提高品牌知名度和影响力。在国际市场的竞争中,DeLorme公司凭借其独特的技术优势和优质的产品质量逐渐获得了认可。

BITECH公司的发展小趣事

作为一家有着高度社会责任感的企业,DeLorme公司始终关注环境保护和社会公益事业。他们积极参与各种环保活动和社会公益活动,通过捐赠物资、提供技术支持等方式为社会做出贡献。此外,他们还致力于推动公司的可持续发展战略,通过优化生产工艺、降低能耗和减少废弃物排放等措施降低对环境的影响。这些举措不仅体现了公司的社会责任感也提高了公司的品牌形象和市场竞争力。

请注意,以上故事均为虚构内容,旨在为你提供一个关于DeLorme公司发展起来的可能故事框架。在实际情况中,DeLorme公司的发展历程和具体故事可能会有所不同。

Dawning Precision Co Ltd公司的发展小趣事

Dawning Precision Co Ltd(以下简称“Dawning”)成立于本世纪初,当时正值电子行业的快速发展期。公司的创始人张先生是一位在电子行业摸爬滚打多年的资深人士,他看到了精密制造在电子行业中的巨大潜力。然而,初创时期,公司面临着资金短缺、技术瓶颈和市场认知度低等困难。张先生带领团队夜以继日地工作,不断研发新技术,优化产品性能,同时积极寻找投资者和合作伙伴。经过几年的不懈努力,Dawning逐渐在行业中树立了良好的口碑,开始获得客户的认可。

超音(CY)公司的发展小趣事

随着科技的不断进步,超音意识到技术创新对于公司发展的重要性。因此,公司加大了研发投入,积极引进高端人才,不断推出具有创新性和竞争力的产品。其中,超音的一款高端音响产品凭借其卓越的音质和精美的外观设计,在市场上获得了广泛的好评。此外,超音还积极与其他科技公司合作,共同研发新产品,不断拓宽产品线。

Excelight Communications Inc公司的发展小趣事

Excelight Communications Inc公司成立于XX世纪初,当时正值通信技术飞速发展的时代。创始人李明(化名)是一位电子工程专家,他对光通信技术有着浓厚的兴趣。在创办公司之前,李明曾在一家大型通信企业工作,积累了丰富的技术和管理经验。他发现市场上对于高速、高效的光通信产品有着巨大的需求,于是决定创立Excelight,专注于研发和生产光通信模块和设备。

创业初期,Excelight面临着资金、技术和市场等多方面的挑战。李明带领团队日夜兼程,不断攻克技术难关,同时积极寻找合作伙伴和投资人。经过几年的努力,Excelight逐渐在市场上崭露头角,其光通信产品因性能优越、价格合理而受到了客户的广泛好评。

问答坊 | AI 解惑

【电子开源项目】项目报名帖

格式如下:拟加入模块,网名,信箱,QQ,现职业如:软件开发,小人物,wealding@gmail.com,250404000,研发…

查看全部问答>

高频变压器的切换

高压变频器为了节能、检修或将一台变频器用于控制多台电动机时,常使用切换线路。切换要求有三种: (1) “冷”切换: 在变频器停机时进行切换; (2) 单向切换:电动机只从变频器切换到电网,不从电网切换到变频器。此方式多用于一台变频器对多台电机 ...…

查看全部问答>

求高手们帮我看看这个升级文件

这是其乐达956D的固件升级文件 ,加装了触摸屏,请各位大哥帮小弟看看这个文件是用什么软件开发的 QQ752352212  谢谢~~~! 这是其乐达956D的固件升级文件 ,加装了触摸屏,请各位大哥帮小弟看看这个文件是用什么软件开发的 QQ752352212 ...…

查看全部问答>

选择D题的请进

本帖最后由 paulhyde 于 2014-9-15 03:54 编辑 大家一起来发表一下自己的意见或建议,人多力量大!!! 请各位大侠具体一点,难在什么地方,大家一起讨论才能共同进步啊! [ 本帖最后由 求学的心 于 2009-9-2 10:08 编辑 ]  …

查看全部问答>

智能人机交互技术

本帖最后由 paulhyde 于 2014-9-15 09:03 编辑 欢迎下载 [ 本帖最后由 open82977352 于 2010-2-6 19:10 编辑 ]  …

查看全部问答>

关于不能往模拟器里面传文件的问题!说模拟器上内存不够!

具体的报错如下 Windows CE Remote File Viewer --------------------------- Unable to export file \'E:\\PDA整理\\Lib\\Debug\\x86\\Query\\ph_Meteor3.cdb\': There is not enough available memory on the device. 搞得我莫名其妙,两个 ...…

查看全部问答>

请教问题,我的小M

我的MP3装上电池后开机显示LOGO图标后就重启,但是我接上数据线后可以正常连接电脑存取数据当U盘用,请问这是怎么回事?我觉得是不是电容坏了,开不了机,但为什么接电脑上又能开机了呢?请哥哥们帮帮忙,给点思路,最好能解决问题。谢谢…

查看全部问答>

论坛及活动不能进入????

请问各位老大,近来论坛、活动、学习等网页都进不了,老大们知道原因吗? 如何解决,求助中。,。。。…

查看全部问答>

PCB设计powerpcb:多层PCB板减为两层PCB板的方法

  有的PCB设计powerpcb文件不能由正常模式下减层,我告诉大家一种由多层PCB板减为两层PCB板的方法:   第一步,在Setup下的板层定义中,将GND及VCC的层定义(Electrical Layer Type)为No Plane,OK退出;   第二步,在Setup下的Pad Stac ...…

查看全部问答>