搜索
查看: 3834|回复: 6

[已解决] stm8s001烧录程序后,掉电会自动擦除程序,并且iar无法烧录

[复制链接]

该用户从未签到

1

主题

5

帖子

0

蝴蝶豆

新手上路

最后登录
2019-10-6
发表于 2019-9-22 23:39:26 | 显示全部楼层 |阅读模式
4ST金币
1.初学stm8s001,由于文件太大,编译不过,所以在IAR options/C++ compiler/level设置High,发现掉电后串口会吐出0x00,大概过3s后才会重新启动
2.之后把IAR options/C++ compiler/level改回low,烧写其他程序,还是如此。
3.用IAR project/dowmload/erase memory 擦除程序,未成功,导致芯片锁掉
4.用STVP /option byte/read out protection ON/OFF一次之后,可以用stvp烧录简单LED程序,但是断电之后led灯不闪烁了
5.用STVP烧录串口程序,会烧录失败
       Error : Cannot communicate with the device !
               Check the SWIM cable connection and check all the needed pin connections on the SWIM connector.

                If the application code uses Swim Disable and Reset pin as Output or has disabled SWIM Clock Divider:
                Try Now to SWITCH OFF and ON the application Power Supply while NRST Reset pin is forced low.

       Error : < PROGRAM MEMORY verifying failed.

6. 用iar烧录所有程序(之前可以烧录的程序),都会失败。
                   Failed to initialize communication with hardware: SWIM error [30200]: ST-Link connection error
                   IAR Embedded Workbench 3.10.1 (D:\Program Files\IRA Embedded\install\stm8\bin\stm8proc.dll)




求论坛大神帮忙解答。


最佳答案

查看完整内容

编译器问题1:烧录工具无法正常连接 Thu Sep 19, 2019 16:19:03: Failed to initialize communication with hardware: SWIM error [30200]: ST-Link connection error 解决办法: 1.查一下烧录器硬件的连接 2.打开计算机->管理->设备管理器,查一下STM32USB口的属性 如果还是无法烧录,把ST-Link的烧录器拔掉重新插上,这个问题可能是ST-Link ...
回复

使用道具 举报

该用户从未签到

14

主题

76

帖子

9

蝴蝶豆

金牌会员

最后登录
2023-12-5
发表于 2019-9-22 23:39:27 | 显示全部楼层
编译器问题1:烧录工具无法正常连接
        Thu Sep 19, 2019 16:19:03: Failed to initialize communication with hardware:
        SWIM error [30200]: ST-Link connection error
        
        
        
        解决办法:
        1.查一下烧录器硬件的连接
        2.打开计算机->管理->设备管理器,查一下STM32USB口的属性
        如果还是无法烧录,把ST-Link的烧录器拔掉重新插上,这个问题可能是ST-Link
        之前烧过其他的程序
        
        
编译器问题2:打开IAR如果无法烧录,查一下这两处问题:
                解决办法:Project -> Option -> General Options -> Target
                Code:选择Small
                Data:选择Medium
               
                Project -> Option -> C/C++ Compiler ->  Preprocessor
                在Addtional include directoriesone per line)中添加头文件路径
               
                如果还是无法烧录,把ST-Link的烧录器拔掉重新插上,这个问题可能是ST-Link
                之前烧过其他的程序
               
               
Compiler Problem 3:
        编译器无法go to define处:
        
        
        Solution:
                插上烧录器编译无误全速运行,然后就可以跳转到define



解决IAR编译器内存容量不够的问题
                Error[Lp011]: section placement failed: unable to allocate space
                for sections/blocks with a total estimated minimum size of 0x2298
                bytes in <[0x008000-0x009fff]> (total  uncommitted space 0x1f80).
                Error while running Linker   
        Solution:
                把Option--C/C++ compile--Optimizations中的Level选为High就好了
回复

使用道具 举报

该用户从未签到

1

主题

5

帖子

0

蝴蝶豆

新手上路

最后登录
2019-10-6
 楼主| 发表于 2019-9-23 10:40:13 | 显示全部楼层
经测试程序没有被擦除,可以读出来,但是断电后重新上电不能正常工作。更换芯片还是如此,求解。
回复

使用道具 举报

该用户从未签到

1

主题

5

帖子

0

蝴蝶豆

新手上路

最后登录
2019-10-6
 楼主| 发表于 2019-9-23 14:02:15 | 显示全部楼层
第6步问题原因是同时打开了STVP和IAR,导致IAR烧录失败。
回复

使用道具 举报

该用户从未签到

1

主题

5

帖子

0

蝴蝶豆

新手上路

最后登录
2019-10-6
 楼主| 发表于 2019-9-23 14:04:04 | 显示全部楼层
第4步问题暂不明确,但是重新安装IAR软件后,可以正常使用。
回复

使用道具 举报

该用户从未签到

3

主题

1306

帖子

929

蝴蝶豆

版主

最后登录
2021-3-31
发表于 2019-9-29 18:32:36 | 显示全部楼层
检查一下上电过程吧。包括VDD, RESET. VCAP是否正常。用示波器看看有没有异常信号
回复

使用道具 举报

该用户从未签到

5

主题

45

帖子

0

蝴蝶豆

中级会员

最后登录
2020-1-3
发表于 2019-10-8 09:05:41 | 显示全部楼层
S001的SWIM口复用  要在程序开始前有5S 的延时
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-5-14 15:01 , Processed in 1.169849 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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