STM32 SWD下载口无法下载的原因和解决办法
1.SWD的下载口在程序中被禁用,IO口被设置为普通IO口
2.芯片被锁,原因有可能是程序执行了不正确的访问导致芯片被锁
3.供电不正常
4.SWD烧了


解锁原因:
在下载程序的时候有时候会发生错误导致内核停止工作,这就意味着内核被锁,这时候已经无法把程序下载进去了。
解决的办法就是用ISP方式下载程序进去冲刷一遍,然后就好用了。
除非使能了读保护,不然一般不会锁死的。--来自网贴评论
解锁的方法:
A. 用JLINK链接,把板子的的BOOT0置高,此时就已经可以识别芯片了,芯片解锁,然后将BOOT0拉低就可以,既识别芯片又可以正常仿真了
B.用ISP模式,经UART串口全片删除。
C.用rlink擦除下就好
D.SEGGER 的JLink ARM V4.08l包中的,Processor Specific Utilities->J-Link STM32 Unlock 工具就可以解锁
E.https://blog.csdn.net/gmq_syy/article/details/82624755
F.https://www.cnblogs.com/eva0/p/6222257.html
短路复位电容,点下载,稍等几秒(这个靠感觉喽),断开短路的电容,OK!大功告成!
这是因为复位的时候,禁止JTAG的寄存器也是复位状态,所以JTAG就自动启动,未被禁止。
网上搜集到的帖子:
帖子1:
原帖地址:
http://openedv.com/thread-86241-1-1.html
摘录内容:
提问:
大家好,
我使用STM32F100R8的芯片,采用SWD(4线)连接方式.发现SWD连不上STM32.
请大家分析一下,主要有哪些原因?
1,如果不焊接晶振会不会影响jlink连接STM32?
2,BOOT0引脚串电子接到地了,如果没有正确设置BOOT0 和BOOT1 会有影响这个吗?
3,怎么才能硬件上判断当前的STM32芯片还是好的啊?
4,我使用jlink加转接板在用4P排线接到板子上,排线长短会有影响吗?
5我SWDIO和SWCLK分别结论上啦和下拉电阻,这个应该吗?

答复:
1. 默认用内部RC的,没有晶振不影响SWD,但如果程序用到,会有影响。STM32的SWD要求AVDD必须有电,如果是自己做的板子,建议好好对对,最好找老司机带带路。
2. 如果程序里面没有关SWD,或配置字没有关SWD,BOOT接0不影响。
如果程序里面有关了SWD,那把BOOT接1会容易连接上SWD。
如果是熔丝里面关了SWD,那只能解锁,最高级加密无法解锁,只能报废。
3.
4. 保证线的质量,尽量缩短长度,并尝试降低速度。
但命令都不显示内核,那得归为错误了。
5. 不影响,只要电阻另太小,几K到几十K都可以。
改造JLINK接口的方法:
http://www.stmcu.org.cn/module/forum/thread-598871-1-1.html
扩展内容:
关于设置下载速度:

这个的话,建议点开debug-再点开setting-看到debug-jtag cmd,查看target interface speed,记下这个速度,关掉cmd,然后修改debug上的速度一致就行了

如果是JLINK能找到芯片但是KEIL找不到请下载补丁:
我用的单片机就没有jtag接口,只留了4线的SW接口。
不过问题解决了,是MDK4.6对CM0+的内核支持不完善,在segger的官网下了个补丁,替换了一下就好了。
http://www.segger.com/IDE_Integration_Keil.html#knownproblems
我被自己蠢哭了,不过终于解决了,真的是好贴啊,谢谢水煮鱼。。。我补充一下,下载还是点开水煮鱼给的地址,然后下载dll文件,放在D:\Keil\ARM\Segger里面替换原来文件,下载的文件的网页截图如下:

STM32对JTAG口的默认配置
https://blog.csdn.net/qq_26093511/article/details/56666320
仿真进不去的原因:
https://blog.csdn.net/fxltsbl007/article/details/52511687/
flymcu串口下载:
http://bookshiyi.com/archives/1258
扩展8:
如果出现读取的id和工程设置的芯片id不符合的情况,多半是jlink本身有问题,固件与驱动不符,导致的读取数据错误;可以尝试更换低版本的驱动,有时候最新的不一定是最合适的。
https://blog.csdn.net/xuezhimeng2010/article/details/78771030
扩展9:
https://blog.csdn.net/DZRYWYBL/article/details/84704905
STM32 SWD下载口无法下载的原因和解决办法的更多相关文章
- java下载文件时文件名出现乱码的解决办法
转: java下载文件时文件名出现乱码的解决办法 2018年01月12日 15:43:32 橙子橙 阅读数:6249 java下载文件时文件名出现乱码的解决办法: String userAgent ...
- .Net内存泄露原因及解决办法
.Net内存泄露原因及解决办法 1. 什么是.Net内存泄露 (1).NET 应用程序中的内存 您大概已经知道,.NET 应用程序中要使用多种类型的内存,包括:堆栈.非托管堆和托管堆.这里我们需 ...
- [转]"error while loading shared libraries: xxx.so.x" 错误的原因和解决办法
[转]"error while loading shared libraries: xxx.so.x" 错误的原因和解决办法 http://blog.csdn.net/sahuso ...
- Android App 启动页(Splash)黑/白闪屏现象产生原因与解决办法(转)
转载: Android App 启动页(Splash)黑/白闪屏现象产生原因与解决办法 首先感谢博主分享,本文作为学习记录 惊鸿一瞥 微信的启动页,相信大家都不陌生. 不知道大家有没有发现一个现象 ...
- jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法
jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法 在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们 ...
- 各种编码问题产生原因以及解决办法---------响应编码,请求编码,URL编码
响应编码 产生原因以及解决办法: 示例: package cn.yzu; import java.io.IOException; import javax.servlet.ServletExcept ...
- Oracle死锁产生的原因和解决办法
如果有两个会话,每个会话都持有另一个会话想要的资源,此时就会发生死锁.用下面实验来说明死锁的产生原因和解决办法.SESSION1:SQL> create table t2 as select * ...
- HttpClient的CircularRedirectException异常原因及解决办法
HttpClient的CircularRedirectException异常原因及解决办法 这两天在使用我自己爬虫抓取网页的时候总是出现 org.apache.http.client.ClientPr ...
- php_curl.dll libssh2.dll 始终无法加载的原因 及解决办法
在StackOverflow得到最终原因及解决办法 http://stackoverflow.com/questions/16424117/php-unable-to-load-php-curl-dl ...
- mysql保存中文乱码的原因和解决办法
当你遇到这个mysql保存中文乱码问题的时候,期待找到mysql保存中文乱码的原因和解决办法这样一篇能解决问题的文章是多么激动人心. 也许30%的程序员会选择自己百度,结果发现网友已经贴了很多类 ...
随机推荐
- JAP 1.0.1 以及 《JAP产品技术白皮书》正式发布
快讯 JAP 1.0.1 正式发布 <JAP产品技术白皮书>正式发布.立即获取:白皮书 JAP 1.0.1 版本内容 新增功能/支持 添加 com.fujieid.jap.core.uti ...
- gateway调用Fegin失败问题解决
起因 新项目用的是springcloud2.0,网关用gateway替换了zuul. gateway动态路由跟zuul有本质上的区别.这就涉及到webflux这一套大东东了.简单来说,gateway是 ...
- Day16_97_IO_FileOutputStream 写入字节流
FileOutputStream 写入字节流 * java.io.OutPutStream -----> java.io.FileOutputStream 将计算机内存中的数据写于磁盘中. * ...
- C语言-内存函数的实现(二)之memmove
C语言中的内存函数有如下这些 memcpy memmove memcmp memset 下面看看memmove函数 memmove 为什么会需要memmove函数? int main() { int ...
- 1. APP移动端性能测试基础知识入门
本博客要点 生命周期 堆和栈 垃圾回收 adb命令 Activity的生命周期
- 【MySQL】SQL中On和Where的区别
数据库再通过链接两张表或者多张表时来返回记录时,都会生成一张中间的临时表,然后再将这张表返回给用户: 在使用left jion时,on和where条件的区别如下: 1. on条件是在生成临时表时使用的 ...
- 从苏宁电器到卡巴斯基第15篇:我在苏宁电器当营业员 VII
我们苹果的倒班制度 当年我在苏宁的时候,实行的是单休制度,而且只能选择在周一到周五其中的某一天,因为周六周日顾客比较多,是不允许休息的.尽管是单休,但并不表示我们在上班的时候每天都要完完整整地上八小时 ...
- Android敲诈者病毒“安卓性能激活”分析(2015年9月版)
一.情况简介 前几天分析了论坛里的一个Android敲诈者病毒,感觉还是很有收获,后面有空多研究研究Android病毒.说句题外话, 根据前面分析的Android敲诈者病毒的隐藏手法,应该可以实现&q ...
- Android apk快速定位、灰色按钮克星--DroidSword
本文博客地址:https://blog.csdn.net/QQ1084283172/article/details/80994434 在进行Android应用程序的逆向分析时,经常需要对Android ...
- YII框架的自定义布局(嵌套式布局,版本是1.1.20)
0x01 创建控制器 0x02 创建文件夹,之后创建视图文件 0x03 浏览器访问cxy/index控制器,验证 以上就是使用默认的布局,非常简单,那么如果我不想用YII框架默认的布局呢,我想用自定义 ...