搜索
bottom↓
回复: 46

STM32F103无法通过STLINK检测到,折磨了好几天,求帮助

[复制链接]

出0入0汤圆

发表于 2017-7-18 15:13:45 | 显示全部楼层 |阅读模式
最近调试STM32F103C8T6时候,碰到一个奇怪现象,MDK有时能检测到MCU,有时检测不到。
原理图如下图:



之前一直好用的。

现在发现只有在BTN2按下,即PA0上拉的时候,MDK才能检测到芯片。如果BTN2不按下,死活检测不到。但以前是不需要按下就能检测到的。
而且在我的工程里面,实际也没用到PA0。
能检测到的时候如下图:



不能检测到的时候如下图:




朋友们帮忙分析下。我已经被折磨了好几天了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入4汤圆

发表于 2017-7-18 15:30:51 | 显示全部楼层
你是不是程序里面休眠了?  待机了?

出0入0汤圆

发表于 2017-7-18 15:40:35 | 显示全部楼层
赞同二楼所说的
还有一种办法就是下次做板将RESET PIN引出来连接到STLINK,4线变5线

出0入0汤圆

 楼主| 发表于 2017-7-18 16:21:37 | 显示全部楼层
huarana 发表于 2017-7-18 15:30
你是不是程序里面休眠了?  待机了?

感觉有点像,但是我在工程里没有去配置PA0。
对了,我用的是CubeMX 生成的工程,还是用了FreeRTOS。

以前也是用CubeMX配置工程的,但是不带FreeRTOS,没出现过类似问题。

而且FreeRTOS也没有配置使用TickLess功能。

总结一下就是,没有配置PA0,FreeRTOS也没用到TickLess,但还是好像产生类似休眠的现象。

出0入0汤圆

 楼主| 发表于 2017-7-18 16:23:56 | 显示全部楼层
jiespring 发表于 2017-7-18 15:40
赞同二楼所说的
还有一种办法就是下次做板将RESET PIN引出来连接到STLINK,4线变5线 ...


是pin7(nRST)引脚吗?
能否具体说说如何连接?

如果用jLink的话,该如何连接?

谢谢你!

出0入0汤圆

发表于 2017-7-18 16:42:17 | 显示全部楼层
deepway 发表于 2017-7-18 16:23
是pin7(nRST)引脚吗?
能否具体说说如何连接?

是的,就是将nRST引脚连接到STLINK或者JLINK上面去,连到下图中的T_NRST,下图是NUCLEO板子的stlink


另外,既然你说是使用的CUBEMX,不妨试试下图的设置方法:

看看勾选了之后是不是每次都能被识别了。
PS:我试过如果将PA13&PA14设为输出模式,则使用4线的下载方式百分之百不识别,必须多连一个nRST才可以。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2017-7-18 18:31:24 | 显示全部楼层
jiespring 发表于 2017-7-18 16:42
是的,就是将nRST引脚连接到STLINK或者JLINK上面去,连到下图中的T_NRST,下图是NUCLEO板子的stlink

一般山寨的STLINK好像都是四线的,那个NRST还是不知道连接到哪儿去。

难道正版的才有吗?

出0入0汤圆

发表于 2017-7-18 19:24:24 | 显示全部楼层
本帖最后由 WM_CH 于 2017-7-18 19:25 编辑

看了一下原子的开发板,唤醒引脚直接通过按键,怼到3.3V
野火的板子,唤醒引脚上拉到3.3,然后通过按键接GND




所以是不是你下拉电阻导致的,试试去掉下拉呗

麻烦实验成功了回复我一下,我们也要用PA0唤醒/


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入55汤圆

发表于 2017-7-18 19:29:29 | 显示全部楼层
烧录线用的是杜绑线,而且质量很差。前段时间就是因为这个原因一直检测不到,换好的线而且短一些立马OK!

出0入0汤圆

发表于 2017-7-18 20:22:38 | 显示全部楼层
会不会是CUBEMX 把不用的引脚都初始化了。包括SWD

出0入0汤圆

发表于 2017-7-18 21:56:52 | 显示全部楼层
别纠结了,我用jlink能连上,stlink 连不上,果断用jink。淘宝最新的jilnk,配合keil5 爽的很

出0入0汤圆

 楼主| 发表于 2017-7-18 23:43:38 | 显示全部楼层
WM_CH 发表于 2017-7-18 19:24
看了一下原子的开发板,唤醒引脚直接通过按键,怼到3.3V
野火的板子,唤醒引脚上拉到3.3,然后通过按键接GN ...

我也想到怀疑下拉的问题。我直接把电阻去掉了,问题还是存在。我马上改成跟你截图一样的电路试一试。

出0入0汤圆

 楼主| 发表于 2017-7-18 23:44:30 | 显示全部楼层
jssd 发表于 2017-7-18 19:29
烧录线用的是杜绑线,而且质量很差。前段时间就是因为这个原因一直检测不到,换好的线而且短一些立马OK! ...

我用的就是很短很短的。

出0入0汤圆

 楼主| 发表于 2017-7-18 23:45:35 | 显示全部楼层
mPiDDR 发表于 2017-7-18 20:22
会不会是CUBEMX 把不用的引脚都初始化了。包括SWD

SWD专门选择是SW debug用的,应该不是这个问题。
而且以前也是好用的,不知道咋就突然抽风了

出0入0汤圆

 楼主| 发表于 2017-7-18 23:46:49 | 显示全部楼层
semonpic 发表于 2017-7-18 21:56
别纠结了,我用jlink能连上,stlink 连不上,果断用jink。淘宝最新的jilnk,配合keil5 爽的很 ...

我也用了jlink v9

没卵用,问题依旧。

我也是试了各种办法,实在没法子了才上来问的。

出0入0汤圆

发表于 2017-7-19 00:15:44 | 显示全部楼层
换个板子试试呢,是只有这个这样子还是所有呢?

出0入0汤圆

 楼主| 发表于 2017-7-19 00:23:35 | 显示全部楼层
WM_CH 发表于 2017-7-18 19:24
看了一下原子的开发板,唤醒引脚直接通过按键,怼到3.3V
野火的板子,唤醒引脚上拉到3.3,然后通过按键接GN ...

兄弟尴尬了,你这电路也不行。

我现在是把上拉下拉都去了,现在好了。试了20几把,都能检测到。

我暂时还不知道啥原因,麻烦有谁知道的解释一下。

对了,在实验中发现,当上拉10k电阻到3.3V的时候,直接测PA0脚,量得电压是1.3V左右,难道PA0是内部下拉的???!!!

出0入0汤圆

发表于 2017-7-19 00:23:45 | 显示全部楼层
跳线把nrst接出来试试

出0入0汤圆

 楼主| 发表于 2017-7-19 00:24:30 | 显示全部楼层
a136498491 发表于 2017-7-19 00:15
换个板子试试呢,是只有这个这样子还是所有呢?

就因为不是所有板子都这样才尴尬,而且以前是好的。

出0入0汤圆

 楼主| 发表于 2017-7-19 00:25:21 | 显示全部楼层
世界的一帧 发表于 2017-7-19 00:23
跳线把nrst接出来试试

接哪儿去?
我的是山寨的STlink  v2
还有个JLINK v9

出0入0汤圆

发表于 2017-7-19 00:37:23 | 显示全部楼层
deepway 发表于 2017-7-19 00:24
就因为不是所有板子都这样才尴尬,而且以前是好的。

那就换个MCU试试了

出0入0汤圆

发表于 2017-7-19 00:40:26 | 显示全部楼层
deepway 发表于 2017-7-19 00:25
接哪儿去?
我的是山寨的STlink  v2
还有个JLINK v9

用jlinkv9试试呗

出0入0汤圆

 楼主| 发表于 2017-7-19 01:12:41 | 显示全部楼层

早就试过了~~~

出0入0汤圆

 楼主| 发表于 2017-7-19 01:14:17 | 显示全部楼层
a136498491 发表于 2017-7-19 00:37
那就换个MCU试试了

我想MCU的原因可能性比较小,毕竟出货这么多,要有问题,早就暴露出来了,肯定是自己哪儿没弄好。
所以换MCU不是太可取

出0入0汤圆

发表于 2017-7-19 08:51:06 | 显示全部楼层
deepway 发表于 2017-7-19 00:25
接哪儿去?
我的是山寨的STlink  v2
还有个JLINK v9

试试将nRST引脚接到JLINK V9的15脚

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2017-7-19 09:43:01 | 显示全部楼层
本帖最后由 WM_CH 于 2017-7-19 09:44 编辑
deepway 发表于 2017-7-19 00:23
兄弟尴尬了,你这电路也不行。

我现在是把上拉下拉都去了,现在好了。试了20几把,都能检测到。


是的,内部是下拉的




原子是什么都没接
野火加了10M的上拉,他这个接法,应该也有问题。。。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入16汤圆

发表于 2017-7-19 10:08:09 | 显示全部楼层
deepway 发表于 2017-7-19 00:23
兄弟尴尬了,你这电路也不行。

我现在是把上拉下拉都去了,现在好了。试了20几把,都能检测到。

把时钟调低看看,你楼主位显示的4M比较高了,调低到1M试试

出0入0汤圆

发表于 2017-7-19 10:26:49 | 显示全部楼层
楼主看一下keil工程的系统头文件有无问题,我之前遇到过类似的情况,下载1次之后就连不上了,再下载的时候要改boot的接线,折腾了好久,发现头文件的问题,换了之后就可以了

出0入0汤圆

 楼主| 发表于 2017-7-19 13:07:25 | 显示全部楼层
Elex 发表于 2017-7-19 10:08
把时钟调低看看,你楼主位显示的4M比较高了,调低到1M试试

调速率也没用,试过了

出0入0汤圆

 楼主| 发表于 2017-7-19 13:09:28 | 显示全部楼层
WM_CH 发表于 2017-7-19 09:43
是的,内部是下拉的

我觉得这个脚就应该是不需要上拉或则下拉的。
用的时候就对VCC 接个按键。

出0入0汤圆

 楼主| 发表于 2017-7-19 13:10:03 | 显示全部楼层
jiespring 发表于 2017-7-19 08:51
试试将nRST引脚接到JLINK V9的15脚

下次设计的时候,把这个补上

出0入0汤圆

 楼主| 发表于 2017-7-19 13:11:25 | 显示全部楼层
shizt 发表于 2017-7-19 10:26
楼主看一下keil工程的系统头文件有无问题,我之前遇到过类似的情况,下载1次之后就连不上了,再下载的时候 ...

什么意思,就是说在keil 工程设置的时候,没把KEIL的头文件路径加进去吗?

如果是这样的话,一般编译、链接的时候会通不过啊。

出0入0汤圆

发表于 2017-7-19 13:22:32 来自手机 | 显示全部楼层
很多就是因为休眠引起。。需要加入nrst 连线。烧录的时候首先复位芯片。

出0入0汤圆

发表于 2017-7-19 13:45:16 | 显示全部楼层
deepway 发表于 2017-7-18 23:45
SWD专门选择是SW debug用的,应该不是这个问题。
而且以前也是好用的,不知道咋就突然抽风了 ...

好像CuBeMX 生产的代码会将SWD接口给屏蔽掉。

出0入55汤圆

发表于 2017-7-19 15:19:01 | 显示全部楼层
deepway 发表于 2017-7-19 13:09
我觉得这个脚就应该是不需要上拉或则下拉的。
用的时候就对VCC 接个按键。 ...

刚好前两天也因为STM8S003F烧录的问题折磨了两天,第一次烧进去后再也烧不进去了,用STVP也连接不上,换ST-Link一样,后来无意将复位脚RST通过一个4.7K电阻上拉到电源,问题解决。。。
这个脚电路上有外接1.0uF的电容。楼主可以试试

出0入0汤圆

 楼主| 发表于 2017-7-19 15:53:12 | 显示全部楼层
waterghost 发表于 2017-7-19 13:22
很多就是因为休眠引起。。需要加入nrst 连线。烧录的时候首先复位芯片。

关键他是怎么进入休眠的呢?
我没配置休眠功能啊,
我还特意搞了个简单的流水灯程序去测试,还是这样的状况

出0入0汤圆

 楼主| 发表于 2017-7-19 15:55:02 | 显示全部楼层
hwarm 发表于 2017-7-19 13:45
好像CuBeMX 生产的代码会将SWD接口给屏蔽掉。

可以选择的,打开就不会了。如下图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2017-7-19 15:57:22 | 显示全部楼层
jssd 发表于 2017-7-19 15:19
刚好前两天也因为STM8S003F烧录的问题折磨了两天,第一次烧进去后再也烧不进去了,用STVP也连接不上,换S ...

什么意思?是如下图这样的电路吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2017-7-19 16:01:26 | 显示全部楼层
一看标题就知道没有接RESET

出0入0汤圆

发表于 2017-7-19 17:31:55 | 显示全部楼层
deepway 发表于 2017-7-19 15:53
关键他是怎么进入休眠的呢?
我没配置休眠功能啊,
我还特意搞了个简单的流水灯程序去测试,还是这样的状 ...

PA0 上升沿是退出待机模式。 在线调试跟踪一下。。

出0入55汤圆

发表于 2017-7-19 21:06:41 来自手机 | 显示全部楼层
deepway 发表于 2017-7-19 15:57
什么意思?是如下图这样的电路吗?

不是这个复位,是烧录的那个

出0入0汤圆

发表于 2017-7-19 21:26:17 | 显示全部楼层
楼上说的是:PB4/JNTRST吧

出0入0汤圆

 楼主| 发表于 2017-7-20 09:07:07 | 显示全部楼层
jssd 发表于 2017-7-19 21:06
不是这个复位,是烧录的那个

是这个脚吗?与Jlink 的reset 脚相连?是这样吗?




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2017-7-20 09:08:09 | 显示全部楼层
waterghost 发表于 2017-7-19 17:31
PA0 上升沿是退出待机模式。 在线调试跟踪一下。。

想过在线跟踪,但老是会断开连接,找不到设备

出0入55汤圆

发表于 2017-7-20 09:31:35 | 显示全部楼层
deepway 发表于 2017-7-20 09:07
是这个脚吗?与Jlink 的reset 脚相连?是这样吗?

是的。         

出0入0汤圆

发表于 2017-7-20 10:01:28 | 显示全部楼层
本帖最后由 shizt 于 2017-7-20 10:05 编辑
deepway 发表于 2017-7-19 13:11
什么意思,就是说在keil 工程设置的时候,没把KEIL的头文件路径加进去吗?

如果是这样的话,一般编译、 ...


建立Keil工程时,包含的芯片的启动文件startup.s,system.c之类的文件啊,这个是从官方库文件里面抠出来的,但有些版本的可能在你这个芯片上不合适,有多个版本的,你试一下就行了,实在不行就从其他开发板的历程里面抠出来用。
还有,别听那些扯蛋的说要接RST,NRST之类的,你用的是SW模式,单片机的电源、晶振之类的基本硬件外围搭建完成了,只需要4根线VCC,SWDIO,SWCLK,GND就行了,其他的根本不用管。

出0入0汤圆

发表于 2017-7-20 20:16:44 | 显示全部楼层
虚焊可能性很大,重新焊一遍
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-21 18:02

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表