j_link调试出现的问题?出现N0 Cortex-M SW Device Found 的警告

2019-08-22 15:15发布

回复【楼主位】zhuosifan:
---------------------------------
原因我简单说下吧。
这问题一般是由于在程序上把SWD给关了,这个语句是: JTAG_Set(JTAG_SWD_DISABLE);这句话。
而这句话最常被调用是发生在KEY_Scan这个函数(其他地方也有可能调用)。所以,楼主的这个错误,一般发生在有调用KEY_Scan的例程里面。本来我已经加入了防止SWD连不上的处理,但是也不是万灵的。只能尽量保证可以连接。

而一般出现这个问题之后,最好的解决办法:把B0接V3.3。JTAG就可以连上了,此时不论SWD/JTAG模式,都是可以的。在下载完了之后把B0接回GND,按一下复位,运行的就是你下载的代码了。

为什么以上方法可行,就是因为B0接V3.3,使STM32进入了ISP模式,此时复位(JTAG连接的时候,会产生复位)后是不会运行芯片上的用户代码的。直接进入了ISP模式,此模式下,JTAG/SWD都可以连接芯片。所以,就可以解决上述问题了。

其实如果有按键的例子或者程序,插上JTAG,可能导致按键不准确,所以建议非必要,不要在有按键的代码上面使用JTAG调试。


楼主的问题解决办法2:用串口下载。


















友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
24条回答
正点原子
1楼-- · 2019-08-22 17:44
这个帖子要马克的
zhuosifan
2楼-- · 2019-08-22 18:19
B0接V3.3?
B0只是普通的IO口吧?JTAG没用到这个引脚呀?奇怪
wlkdy
3楼-- · 2019-08-22 21:09
 精彩回答 2  元偷偷看……
tyqhaha
4楼-- · 2019-08-22 21:43
原子大哥不是说SW调试只用两个端口(SWCLK/SWDIO)就可以了么?

我用杜邦线将JTAG的7#9#与开发板的JTAG接口的7#9#直连,也是出现 No Cortex-M SW Device Found
这个错误。

可以排除JTAG有问题,请问怎样接线才使正确的?
tyqhaha
5楼-- · 2019-08-23 01:19
回复【7楼】elong2012:
---------------------------------
还需要VCC和GND.
elong2012
6楼-- · 2019-08-23 03:17
为啥子我的B0接了V3.3还是这样啊?

一周热门 更多>