IAR Warning:SWO data stream not stopped when target stopped

30 篇文章 4 订阅
9 篇文章 5 订阅

前言

调试打样的板子, 为了能无限下断点, 开始用JLINK。但是各种连接不上。或者能连上板子,走2步就报错。具体报错忘了。反正就是JLINKV9不能正常调试。

还好,用STLINKV2正常。不过心里还是疑惑,为啥JLINKV9不能调试这个板子。

今天将SDIO的TF卡验证完,想起来,验证一下ITM吧。
我用的6线制的SWD接口(为了从SWO接口打印ITM信息)。
设置好ITM, 单步,还没走一步呢,就出现下面的报错。

在这里插入图片描述
第一反应,看看网上同学遇到过这个问题么?一查,居然没有人遇到过这个问题。那这个问题一定是一个很傻的问题,那不是IDE的ITM没设置好,就是我板子有硬件问题。

换成MDK, 设置好,设置printf, 单步,也不能打印出ITM信息,但是没报错弹框。

开似怀疑是ITM没设置好,但是设置步骤很简单。设置完还不行,去查网上同学咋设置的ITM, 大体都一样,也照着人家的步骤设置,还是SWO报错。

去查SWD引出插座是否和3V3或GND短路,没有…
SWD接口电路如下:
3V3_MCU通过一个0R电阻,变成VREF_MCU网络。
在这里插入图片描述
是不是电阻焊错了值?开始用万用表量。
R15, R13, R14都是10K, 但是R12是5K. 有点异常。
通过显微镜看电阻丝印,显示为010,是10KR 1%的电阻。没错。
去看原理图,看看NRST_MCU点亮之后,这个线上还接啥了?
在这里插入图片描述
看到复位电路上还有1个10KR上拉, 位号 = R32.
画原理图时,本意是只有1个10KR上拉。

上烙铁,将R12挑掉。
再量挑掉R12后,R12的2个焊盘之间的电阻,是10KR. 现在对了。
在这里插入图片描述
既然解决了一个硬件问题,先试试有没有效果?
上了STLINKV2, 好使,可以ITM.
换了我先前调试这个板子的JLINKV9, 当时因为怀疑JLINKV9损坏,还特意用红色记号笔在那个JLINKV9背面的贴纸上画了一个问号。所以现在换上的JLINKV9就是开始单步不好使的那台。

开始用JLINKV9单步,好使,可以ITM…, 问题解决!
解决完这个问题,心里感觉倍爽, 无比轻松,工程师心里压点不解的问题,都很压抑啊。
这问题如果不是自己调试板子,这问题就发现不了。因为这板子,我是按照子电路一块一块焊接的,焊接一个子电路,就验证一块,还写个测试程序跑一下。打样的板子不能让别人焊,出问题的时候,就看出自己焊接调试的好处了。

我错怪JLINKV9了, tb店家出品的产品刚刚的。

总结

MCU调试口线最多只能上拉为10K, 再小的电阻上拉会造成强上拉,会引起问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值