本人也是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让程序员很通过,但毕竟多数人还是用的是他,好好享受吧。希望这些能让我以后少走些弯路。

作者:伊云遥灵
来源:CSDN
原文:https://blog.csdn.net/yiyunyaoling/article/details/61197385
版权声明:本文为博主原创文章,转载请附上博文链接!

关于STM8的程序下载问题:SWIM Error[30006]报错解决办法汇总相关推荐

  1. linux系统Nginx下载安装步骤(含报错解决方法)

    linux系统Nginx下载安装步骤(含报错解决方法) 基础步骤 安装过程可能出现的报错及解决方法 执行 ./configure --prefix=/opt/nginx 报错 执行 make inst ...

  2. Communication error with Jack server , try ‘jack-diagnose‘ or see Jack server log 报错解决办法

    创作不易,请尊重原创,转载注明出处: https://blog.csdn.net/An_Times/article/details/121334749 Communication error with ...

  3. error converting to execution character set illegal byte sequence报错解决办法

    今天美滋滋写完一个程序后,发现编译时老是报错:error converting to execution character set illegal byte sequence.然后百度一搜,说是Wi ...

  4. c++中结构体套结构体用 = {0}初始化编译报错解决办法(用memset或者={})(error: invalid conversion)

    我这有个结构体: VENC_CHN_ATTR_S venc_chn_attr; /* the attribute of the venc chnl*/ typedef struct rkVENC_CH ...

  5. 未能将文件 *** \bin\Release\**.dll 复制到 \obj\Release\Package\PackageTmp\bin\***.dll VS发布程序报错 解决办法

    这种问题时bin下面的Release文件夹为空造成的 解决办法: 1.找到引用的dll所在项目,然后点击如下图中的下拉框,将Debug换成Release,然后右击项目生成 2.查看引用dll所在项目的 ...

  6. htk的使用Hcopy.exe的ERROR [+6311]和ERROR [+1014]报错解决

    运行如下命令: D:\software_install\HTK-3.4.1\hmm_experiment>HCopy.exe -A -D -C config -S audio2mfcc_path ...

  7. 配置echarts下载图片分辨率,以及报错解决

    echarts版本v5.0.1 配置toolbox.feature.saveAsImage. pixelRatio:保存图片的分辨率比例,默认为1,即默认分辨率跟exchart所在DOM相同大小,如果 ...

  8. ESP32实验板linux环境中下载固件报错解决办法

    无意间一顿乱按,总结出如下规律: 先按下boot键, 再按下reset键, 松手reset键, 再松手boot键, 让设备上电进入boot状态, boot时才可以下载程序.

  9. 【小程序】__wxConfig is not defined 报错解决

    昨天小程序运行好好得,今天打开突然报了这个错 网上找了半天,什么重启开发工具,更新开发工具,随便修改一下页面触发热更新之类的,我试了都不行 原因是我昨天再app.json里添加了一个还未审核通过的插件 ...

最新文章

  1. 总结:实例化SqlParameter时,如果是字符型,一定要指定size属性,还有制定具体的类型...
  2. Xamarin.Forms的相对布局RelativeLayout
  3. java openssl库,Java的OpenSSL
  4. php采集百度推荐词,php抓取百度快照、百度收录、百度热词程序代码_PHP教程
  5. 11月份是个少产的季节
  6. windows下的sysprep
  7. [攻防世界 pwn]——welpwn
  8. ffplay播放没有声音SDL_OpenAudio (2 channels, 44100 Hz): WASAPI can't initialize audio client
  9. AIX 环境下遇到Device Busy问题
  10. 计算机卡在无法显示网页,我的电脑上网上银行一直“无法显示网页”
  11. 一位在项目上的好友求助
  12. 【JZOJ4788】【NOIP2016提高A组模拟9.17】序列
  13. vscode解决方案 关闭源代码管理
  14. 如何从当前文件夹直接打开cmd快捷键
  15. 2017 携程 笔试编程题 1
  16. 传小米第一款车售价超30万元;苹果操作系统首次打败安卓,市场份额超过50%;TensorFlow 2.8.3 发布|极客头条
  17. Linux磁盘分区的详细步骤(图解linux分区命令使用方法)
  18. AngularJS博友的笔记教程
  19. Box-constrained L-BFGS 相关知识拓展
  20. BT Dongle设计介绍

热门文章

  1. tk教主:个人成长_网络成长时:浏览器的故事
  2. 腾讯企业邮箱支持 pop/imap/exchange服务器地址(用于客户端)
  3. 怎样让公司全员贡献结构化内容?
  4. HTML5期末大作业:影视在线网站设计——电影网H5(9页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码
  5. 轻松学会正则表达式(标题狗)
  6. python爬虫入门-环境配置
  7. VirtualProtect 3方法 -seh ret-ASLR-dep-Adrenalin Player 2.2.5.3
  8. 什么是Virtual Dom
  9. iOS 支持webrtc的浏览器 bowser
  10. 微信联合登录全攻略,早期测试用户的详尽经验总结!