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条回答
交流zzk
1楼-- · 2019-08-24 01:05
 精彩回答 2  元偷偷看……
15312998594
2楼-- · 2019-08-24 02:42
回复【16楼】正点原子:
---------------------------------
我是参考原子的开发办自己画的板子,但是画板子时直接将boot0通过10K电阻接地了,boot1悬空,没办法改,而且板子没有设计串口下载的模块,还有救吗?原子哥?
正点原子
3楼-- · 2019-08-24 03:18
回复【17楼】凌乱035:
---------------------------------
飞线
凌乱035
4楼-- · 2019-08-24 08:56
回复【18楼】正点原子:
---------------------------------
boot0接到3.3V还是出现上述问题。。。。
正点原子
5楼-- · 2019-08-24 13:54
回复【19楼】凌乱035:
---------------------------------
那就可能其他地方还有问题了。
凌乱035
6楼-- · 2019-08-24 18:36
 精彩回答 2  元偷偷看……

一周热门 更多>