202211103-STM8S103F3P6无法下载程序报30200、30004、30006等错误的排查方案

背景

近日,时隔多年后,业余时间搞一个STM8S的小板子,来玩一玩。却没想到,焊接后下载不进去程序,报swim error [30004],硬生生的难了我好一会儿。

虽说多年没有碰STM8了,但当年自认为玩的还算溜,多年以后,怎么连程序都下载不进去了?岂有此理~!

先说结论:随手在实验室中找的0.1uF的电容,容值不对,不知道哪个兄弟干的好事儿,swim接口中的NRST引脚的0.1uF电容,拆掉后,一切正常了。

利用本次机会,总结一下STM8常见的连接不上STLINK,下载不进去程序的常见问题吧~!
如下:

swim error [30200]问题及解决

  • PC端与STLINKV2断线未连接。
  • 线材损坏、USB接口不良等情况会造成此问题

在这里插入图片描述

swim error [30004]问题及解决

在这里插入图片描述

  • swim接口中的NRST引脚的电容容值异常
  • swim接口中的NRST引脚,对GND短路

swim error [30006]问题及解决

在这里插入图片描述

  • 板子中的CPU未上电,3.3V供电异常
  • VCC引脚虚焊,但GND引脚连接正常
  • GND引脚虚焊,但VCC引脚连接正常
  • swim接口中,NRST引脚未连接,断线
  • swim接口中,SWIM引脚未连接,断线
  • swim接口中,NRST引脚和SWIM引脚都未连接,同时断线
  • swim接口中,NRST引脚,对VCC短路
  • swim接口中,SWIM引脚,对GND短路
  • swim接口中,SWIM引脚,对VCC短路

以下网友类似案例,本人未验证!!!
开始寻找原因,来回的调试,屏蔽代码,最终才发现这个程序用到了HALT停机模式,导致空闲状态时,芯片一直处于停机模式,将
PWR_UltraLowPowerCmd(ENABLE);
halt();
这两行屏蔽掉,程序就可以正常通过IAR下载了。

gdi-error[40409]

在这里插入图片描述

  • VCAP引脚无的2.2uF的电容,或容值异常

总结

  • STM8S103F3P6,支持仅STLINK-V2供电进行烧写和在线调试
  • 报上述的swim error[30200],swim error[30004],swim error[30006],gdi-error[40409]几个错误时,多数是硬件问题、连接问题,切勿上来就怀疑“芯片坏了”
  • 注意线材连接的可靠性,也许在某次不经意的烧写或调试过程中,因为接触不良,会造成芯片锁死。芯片锁死再解锁嘛~!具体方法是用STVP,去改写OPTION BYTE选项页中的ROP,把它改为Read Out Protection OFF,贴个图吧,如下:
    在这里插入图片描述
  • 另外,请注意Swim接口中,NRST引脚电容的容值,注意MCU的VCAP引脚的电容,老老实实的按官方手册的建议去配置,别胡乱改来改去,如果要改,也要清楚配置的是否正确
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值