打印
[STM32F1]

STM32 烧写问题:target dll has been cancelled!

[复制链接]
28338|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xushouxue999|  楼主 | 2014-11-1 12:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天将PB3、PB4接了两个LED,发现无论怎么输出都不亮!于是写了下面两句话:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB| RCC_APB2Periph_AFIO,ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);     
哇,太奇妙了!LED竟然点亮了!于是兴奋的掉电,想再焊个按键!一切准备就绪后!
上电!悲剧,真是悲了个大剧!弹出:Flash download fail!target dll has been cancelled!
上网搜索了若干办法,无果,特来求助!
1:开发环境MDK4.6
2:下载工具ST-LINK V2
3:示波器观察:电源正常,O动作正常,说明程序还在,芯片完好
到底什么问题呢?大家有没有遇见过这个问题,最后怎么解决的呢?
本想直接吹下来,重新换芯片,但又怕再出现此问题,还是无法解决,故想搞明白原因,以免再错!
谢谢大家!
沙发
mmuuss586| | 2014-11-1 13:34 | 只看该作者
通过BOOT下载程序,现在JTAG被你加锁了;

使用特权

评论回复
板凳
xushouxue999|  楼主 | 2014-11-1 13:43 | 只看该作者
mmuuss586 发表于 2014-11-1 13:34
通过BOOT下载程序,现在JTAG被你加锁了;

怎么从BOOT下载程序呢?具体应该怎么做啊?
另外如果这连个口我想做普通IO用,怎么办呢?

使用特权

评论回复
地板
mmuuss586| | 2014-11-1 13:54 | 只看该作者
xushouxue999 发表于 2014-11-1 13:43
怎么从BOOT下载程序呢?具体应该怎么做啊?
另外如果这连个口我想做普通IO用,怎么办呢?
...

1、先把这句注释掉GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);   
     也就是程序改回去;
2、BOOT0拉高,通过JTAG或SWD接口或串口重新下载程序;
3、下载完后,并断电,重新上电,即可仿真了;
4、下把程序调试好后;
   GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);   
     出厂之前,再把这句加上;
   这样IO口就可以使用了;

备注:仿真调试这JTAG相关IO是不行的;

使用特权

评论回复
5
xushouxue999|  楼主 | 2014-11-1 14:08 | 只看该作者
谢谢mmuuss586!
我用的SWD下载的!直接将GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
改为GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
可不可以?我看函数库里是这样描述的:
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE); 是SWJ完全失能(JTAG+SW-DP)
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);是JTAG失能+SW-DP使能

使用特权

评论回复
6
化雨眠66| | 2014-11-1 15:38 | 只看该作者
B00T0拉高,点击下载,然后再拉低

使用特权

评论回复
7
菜鸟同学| | 2014-11-2 11:52 | 只看该作者
STlink出现的话,就利用boot脚设置为RAM启动,把那句话变为disable,详情数据手册上有标明,jtag swd禁止的一些IO情况。

使用特权

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

本版积分规则

个人签名:白羊座的人就是喜欢战斗,也勇于战斗!

31

主题

291

帖子

0

粉丝