你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM8S001J3重复烧录

[复制链接]
梦里蝶舞 提问时间:2018-9-26 12:37 /
求助:
我有一块STM8S001J3的小板子,烧录一次之后不能重复烧录。
使用STVP重复烧录显示异常如下:
> Programming  PROGRAM MEMORY area...
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 programming failed.

收藏 2 评论11 发布时间:2018-9-26 12:37

举报

11个回答
tyhjrwx2011 回答时间:2018-9-26 12:56:15
大概率SWIM烧录的线,没连好

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

iyumi 回答时间:2018-9-26 13:42:25
这个板子是你自己做的还是别人成熟的产品?这个芯片没用过,我自己做STM8S103的板子遇到过这种问题,你可以参考一下我的帖子,先看一下以下几个方面
1、上电检查Vcap和rst管脚的电压是否正常
2、Vcap管脚电容离Vcap脚是不是太远
3、Vcap电容有多大
4、烧录线是不是太长,接触是否良好
5、自己焊的板子的话有没有助焊剂没有清理干净,引起漏电

评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

wenyangzeng 回答时间:2018-9-26 14:30:58
错误提示应该是硬件的问题,检查SWI连接状况及STM8引脚

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

七哥 回答时间:2018-9-26 14:31:02
本帖最后由 toofree 于 2018-9-26 15:07 编辑

请把代码贴出来。
SWIM管脚不要用作其它功能,否则下不了程序很正常。还有这个片片没有复位管脚,程序中需要特殊处理。
具体看用户参考手册

在看下图
20180926150355.png

20180926150619.png

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

梦里蝶舞 回答时间:2018-9-27 08:18:28
toofree 发表于 2018-9-26 14:31
请把代码贴出来。
SWIM管脚不要用作其它功能,否则下不了程序很正常。还有这个片片没有复位管脚,程序中需 ...

#include "stm8s001j3.h"
#include "IO.h"
#include "TIME.h"
#include "uart.h"

void IO_INIT(void)
        {
                PB_DDR |= 0x20;
                PB_CR1 |= 0x20;
                PB_CR2 = 0x00;
               
                PC_DDR |= 0x80;
                PC_DDR |= 0x80;
                PC_DDR = 0x00;
               
                //PD_DDR |= 0x02;
                //PD_CR1 |= 0x42;
                //PD_CR2 |= 0x00;
        }

main()
{
        _asm("sim");
        IO_INIT();
        TIM4_INIT(4,250);
        _asm("rim");
        while (1);
}
梦里蝶舞 回答时间:2018-9-27 08:19:12
wenyangzeng 发表于 2018-9-26 14:30
错误提示应该是硬件的问题,检查SWI连接状况及STM8引脚

管脚链接没有问题。
七哥 回答时间:2018-9-27 11:03:47
程序没毛病,只要你没设置过CFG_GCR寄存器的SWD位,那么管脚1就是SWIM功能,应该可以随时使用。
千万别说,你烧过别的程序。
梦里蝶舞 回答时间:2018-9-27 11:16:46
梦里蝶舞 发表于 2018-9-27 08:18
#include "stm8s001j3.h"
#include "IO.h"
#include "TIME.h"


谢谢!!!!!
已解决。。。。
//为调试程序时可以重复烧录,需在开始程序时增加延时,否则上电就会锁死,无法重复烧录

main()
{
        delay(200000);//为调试程序时可以重复烧录,需在开始程序时增加延时,否则上电就会锁死,无法重复烧录
        _asm("sim");
        INEEPROM();
        IO_INIT();
        UART1_INIT();
        TIM4_INIT(4,250);
        LED1 = 1;
        LED2 = 0;
        _asm("rim");
}

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3 结帖奖励

查看全部评分

梦里蝶舞 回答时间:2018-9-27 11:27:17
toofree 发表于 2018-9-27 11:03
程序没毛病,只要你没设置过CFG_GCR寄存器的SWD位,那么管脚1就是SWIM功能,应该可以随时使用。
千万别说, ...

有一颗IC烧录了其它程序,已经操废了。。。。
七哥 回答时间:2018-9-27 11:50:31
梦里蝶舞 发表于 2018-9-27 11:16
谢谢!!!!!
已解决。。。。
//为调试程序时可以重复烧录,需在开始程序时增加延时,否则上电就会锁 ...

我就说嘛,你肯定是使用了SWIM管脚了,否则不可能不行的。你上面贴的程序中没使用1脚。
我上面发的图中,说明很清楚。程序中使用了1脚,还要想重复烧录的话,需要上电加点延时;否则不加延时的话,芯片一上电就是IO功能了,相当于永久锁死。
JN1128 回答时间:2018-10-27 22:35:57
感谢分享
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版