打印
[STM8]

【转】STM8S单片机用STINK V2在STVP中能下载,在IAR中无法下载...

[复制链接]
2504|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
TXQDM|  楼主 | 2016-10-17 00:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用STVP可以下载,但用IAR无法DEBUG,用IAR下载后复位电平就不正常,这个问题困扰了我很长时间,今日得以解决,给大家分享,希望大家少走弯路。STM32用JTAG在KEIL中烧从来没遇到什么问题,怎么IAR用STLINK V2问题这么多,而且网上没有专门进行总结的原因。
  (1)原因描述及前期分析:
     SAT Feb 07, 2015 10:30:57: Failed to initialize communcation with hardware: SWIM error [200]: ST-Link connection error
    现象:IAR下用开发板下载没问题,将目标板改了型号后,直接烧,IAR内无法烧,但STVP可以烧。
原因:单片机换了型号后,不光要在程序目标改一下,还要在stm8s.h中也要改动,将正确的注释去年,把旧型号注释上。
    有的说是固件升级,换USB口,还有用管理员身份启动IAR,但也不行。
    换一个程序用一个板子都没问题,换另块板用STVP不能下,用IAR不能下,VCAP=1.85V正常,板子问题复位电压只有1.6V~2.5V(各个板子电压不尽相同)。和帖子([STM8] STM8S207S8T6C上电后复位脚一直是1.9V不能工作)问题相同。VCAP下电容为1uf,复位通过10k电阻和1uF电容不能正常工作。把10k短接后可以工作。
    开始找到的可能解决办法是:
    1)将复位引脚引出,需要STVP下载程序时,引线放着即可,需要运行时,引线短接至5V,相当于把10K电阻短接。不能IAR中DEBUG确实抓狂,这种方法不是解决方法。
    2)直接换芯片,其实芯片都没坏。
    3)有人说复位引脚上拉电阻并联一个1uF的电容能正常工作(10块样板有5块单片机上电不能工作,有时还能运行起来,有一块堪至不能烧写程序),实际看来这个方法不凑效。
    4)有人说换原装编程器(当年我用PIC也碰到过类似问题,后来发现是脱机在线编程器(ICSP)把RST脚烧了,换成原装的编程器(ICD3)就没有问题(同一批货).我估计编程器把IC烧坏的可能性比较大,特别是ISP/ICP类的编程器,然后用市电做电源的情况)。实际上STLINK V2用STVP能下说明下载没问题。
    5)用示波器看下不正常的MCU的复位引脚,如果有周期复位的话用STVP+ST-Link重新烧写下Option Byte。再不行把芯片的读保护置上,然后再去掉读保护,然后看看是不是还不正常。这个方法还是有道理的。
    6)以前遇到过的是Vcap脚接的电容是0.1uf造成的 换成1uf就行了。实际VCAP电容范围为0.47u-3.3u。
    以上方法并不能真正解决问题。
    (2)真正原因及解决办法:
       真实原因是:硬件本身没有问题,软件出现了问题。我是将所有的和STM8S相关的软件卸载,然后在官网上下载最新的安装软件安装(具体安装的软件是(a)IAR for stm8 2.10.2    (b) ST-LINK_V2 USB driver for Windows 7, Vista and XP 20150207,下载st-linkv2_upgrade升级也可以, (c)stsw-mcu002 STVP programming toolkit 3.0),安装完毕后报错又变成:
      SAT Feb 07, 2015 20:23:57: An error occurred while retrieving GDI features: gdi-error [40201]: Can't access configuration database
       解决办法:参考帖子(stlink调试stm8105S4忽然出问题了)
                 按15楼方法,下载并安装IAR debugger-support-files软件。     
        SAT Feb 07, 2015 20:30:57: Errors while setting configuration with MCU name STM8S103F3P: gdi-error [40701]: Option bytes read error: not complemented; please use a programmer
        解决办法:见stm8 Option byte 修改问题:Error on Option Bytes ...及解决办法
         这个问题可以在用STVP将Option Byte里面的ROP从OFF改为ON,烧入,再改为OFF再次烧入。这时要如果要在IAR中DEBUG,则需要关闭STVP,否则出现下面的错误:
Sun Feb 08, 2015 00:26:32: Failed to initialize communcation with hardware: SWIM error [30200]: ST-Link connection error
     
Error on Option Bytes (complementary bytes). Reprogram Option Bytes of device
解决办法:STVP将Option Byte里面的ROP从OFF改为ON,烧入,再改为OFF再次烧入。

沙发
mmuuss586| | 2016-10-17 10:41 | 只看该作者
谢谢分享;

使用特权

评论回复
板凳
yiyigirl2014| | 2016-10-17 13:55 | 只看该作者
IAR的现在**没有以前容易了。

使用特权

评论回复
地板
TXQDM|  楼主 | 2016-10-18 22:56 | 只看该作者
yiyigirl2014 发表于 2016-10-17 13:55
IAR的现在**没有以前容易了。

现在用着是各种问题,
真有点受够了!

使用特权

评论回复
5
黑夜之狼| | 2016-10-19 09:03 | 只看该作者
一直用STLINK在IAR仿真下载,一点问题都没有

使用特权

评论回复
6
TXQDM|  楼主 | 2016-10-20 14:29 | 只看该作者
黑夜之狼 发表于 2016-10-19 09:03
一直用STLINK在IAR仿真下载,一点问题都没有

估计是我的芯片的问题,
多少烧写次就好了!

使用特权

评论回复
7
yiyigirl2014| | 2016-10-22 21:27 | 只看该作者
TXQDM 发表于 2016-10-18 22:56
现在用着是各种问题,
真有点受够了!

是啊,我是能用keil 就不用IAR,没以前好用了。

使用特权

评论回复
8
TXQDM|  楼主 | 2016-10-23 12:09 | 只看该作者
yiyigirl2014 发表于 2016-10-22 21:27
是啊,我是能用keil 就不用IAR,没以前好用了。

毕竟Keil是ARM官方维护,
有些兼容性、稳定性,
还是非常不错的

使用特权

评论回复
9
dongnanxibei| | 2016-10-23 23:15 | 只看该作者
IAR 没**就有代码限制

使用特权

评论回复
10
TXQDM|  楼主 | 2016-10-23 23:23 | 只看该作者
dongnanxibei 发表于 2016-10-23 23:15
IAR 没**就有代码限制

恩,这个知道!

使用特权

评论回复
11
yiyigirl2014| | 2016-10-26 17:08 | 只看该作者
TXQDM 发表于 2016-10-23 12:09
毕竟Keil是ARM官方维护,
有些兼容性、稳定性,
还是非常不错的

你不说我还真不知道是ARM自己在搞,难怪Keil这么好用。

使用特权

评论回复
12
lw30402048| | 2020-8-17 00:16 | 只看该作者
MARK 下,改天试试看

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

110

主题

593

帖子

11

粉丝