解决烧录问题:Jlink的三线制SWD方式连接STM32芯片无法识别的解决方案
2017-01-03 16:19
766 查看
网上找到此文章解决了j-flash只能连接后不能烧录的问题,希望遇到相同问题的小伙伴,可以用同样的办法解决:
前段时间,做了一块板子,调试接口只留了三个口SWD、SWCLK、GND,在使用Jlink的SWD方式调试的时候发现无法连接。使用ST-link的时候可以连接,无奈楼主的ST-link的链接方式相当的不可靠,时而能识别时而不能识别:当然我的ST-link是山寨版的。
那么问题来了:为什么通过20针全部连接的方式可以调试,而三针的方式就不行了呢?
古人云知之为知之,不知Google之,Google不让用,那就问度娘好了。
通过查阅网上资料发现,jlink的20针,不光有调试的功能还有供电和检测电压的功能。
下面是jlink的接口图
通过上面图片可以发现,jlink的1脚叫做VTref,这个从字面意思理解应该是参考电压的意思,没错,这个管脚就是板子给Jlink内部缓冲芯片供电的接口,这个地方供几伏,缓冲芯片的IO电平就是几伏的。起了一个电平匹配的作用。
20针JTAG的2号针可以提供VCC供电。打开J-Link
Commander输入power on时,发现2号针脚输出的是3.3V电压,那么可以通过直接短路1、2号针
来解决问题。
楼主的山寨版Jlink的2脚可以向外提供3.3V电压,那么短接1、2脚的话是可以让Jlink正常使用的,如果你的Jlink的2脚输出的是5V话那么最好就不要这样短接来用了。
好多板子上的20针调试接口是按下图连接的。
那么短接完成,如果再采用20针调试的时候就要注意了,jlink的3.3V千万不要与开发板上20针接口的3.3V接在一块,否则会有烧坏jlink的可能,这个时候就要设置jlink不给开发板供电了。
楼主的解决方式是在jlink的2脚上加了一个开关,当需要jlink给开发板供电的时候,开关打到3.3V上,当不需要内部供电的时候呢打到悬空上。这样就可以同时使用三线的SWD和20线的JTAG与SWD调试方式了。
/************************************************************/
我自己遇到的问题是烧写stm32f103c8t6 硬件环境:只接SWD、SWCLK、GND 三根线,在接外部电源3.3v供电;软件环境:win10,JlinkV450/JlinkV490/JlinkV502c
都是一样的情况,J-flash 报错:
-
ERROR: RAM check failed @ address 0x20000000.
- ERROR: Write: 0x03020100 07060504
- ERROR: Read: 0xAAAAAAAA AAAAAAAA
- ERROR: (0 bytes of RAM have been checked successfully)
- ERROR: Failed to test speed
解决办法:
短接Jtag接口的1
2 脚即可正常烧写,但是之前烧写stm32vet6不需要短接也可以正常烧写,还是比较困惑的,不太清楚根本原因在哪里。
前段时间,做了一块板子,调试接口只留了三个口SWD、SWCLK、GND,在使用Jlink的SWD方式调试的时候发现无法连接。使用ST-link的时候可以连接,无奈楼主的ST-link的链接方式相当的不可靠,时而能识别时而不能识别:当然我的ST-link是山寨版的。
那么问题来了:为什么通过20针全部连接的方式可以调试,而三针的方式就不行了呢?
古人云知之为知之,不知Google之,Google不让用,那就问度娘好了。
通过查阅网上资料发现,jlink的20针,不光有调试的功能还有供电和检测电压的功能。
下面是jlink的接口图
通过上面图片可以发现,jlink的1脚叫做VTref,这个从字面意思理解应该是参考电压的意思,没错,这个管脚就是板子给Jlink内部缓冲芯片供电的接口,这个地方供几伏,缓冲芯片的IO电平就是几伏的。起了一个电平匹配的作用。
20针JTAG的2号针可以提供VCC供电。打开J-Link
Commander输入power on时,发现2号针脚输出的是3.3V电压,那么可以通过直接短路1、2号针
来解决问题。
楼主的山寨版Jlink的2脚可以向外提供3.3V电压,那么短接1、2脚的话是可以让Jlink正常使用的,如果你的Jlink的2脚输出的是5V话那么最好就不要这样短接来用了。
好多板子上的20针调试接口是按下图连接的。
那么短接完成,如果再采用20针调试的时候就要注意了,jlink的3.3V千万不要与开发板上20针接口的3.3V接在一块,否则会有烧坏jlink的可能,这个时候就要设置jlink不给开发板供电了。
楼主的解决方式是在jlink的2脚上加了一个开关,当需要jlink给开发板供电的时候,开关打到3.3V上,当不需要内部供电的时候呢打到悬空上。这样就可以同时使用三线的SWD和20线的JTAG与SWD调试方式了。
/************************************************************/
我自己遇到的问题是烧写stm32f103c8t6 硬件环境:只接SWD、SWCLK、GND 三根线,在接外部电源3.3v供电;软件环境:win10,JlinkV450/JlinkV490/JlinkV502c
都是一样的情况,J-flash 报错:
-
ERROR: RAM check failed @ address 0x20000000.
- ERROR: Write: 0x03020100 07060504
- ERROR: Read: 0xAAAAAAAA AAAAAAAA
- ERROR: (0 bytes of RAM have been checked successfully)
- ERROR: Failed to test speed
解决办法:
短接Jtag接口的1
2 脚即可正常烧写,但是之前烧写stm32vet6不需要短接也可以正常烧写,还是比较困惑的,不太清楚根本原因在哪里。
相关文章推荐
- [异常解决] JLINK 与STM32的SWD连接接线方式
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 问题解决
- 解决PL/SQL 8 ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务的问题
- “ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务”问题的解决
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 问题解决
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 问题解决
- 完美解决MAC OS下小米2(V5)系统无法连接adb问题(Eclipse无法识别)
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 问题解决
- Jlink_V8灯不亮USB无法识别及克隆版问题解决方法(win7 64位系统下亲测可用)
- VMware workstation NAT方式无法连接外网的问题解决
- [解决方案]解决SQL Server管理器无法连接远程数据库的问题
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 问题解决
- ora-12514: tns: 监听程序当前无法识别连接描述符中请求的服务 问题解决
- SQL Server 2012 SQLEXPRESS 127.0.0.1(IP地址方式)无法连接访问问题的解决
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 问题解决
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 问题解决
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 问题解决
- Ubuntu12.04下adb无法识别设备 Ubuntu下adb看不到设备的解决方法 博客分类: ubuntu 这个问题纠结了我2天,本来过去在ubuntu 9下连接HTC
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 问题解决
- [异常解决] JTAG 与STM32的SWD连接接线方式