OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9705|回复: 6

关于STM32F103VCT6的SWD接口调试问题请教

[复制链接]

11

主题

53

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1881
金钱
1881
注册时间
2014-10-4
在线时间
18 小时
发表于 2014-10-15 09:33:00 | 显示全部楼层 |阅读模式
5金钱
请教一个奇怪的问题,之前自己做了一块小板子,用的是STM32F107VCT6。板子调试的过程中发现使用SPI接口驱动TF卡有兼容性问题,很挑卡。(在此要感谢论坛的各位大大,当时帮忙找到原因)
所以准备换一个U来,我将电路板重新画了,芯片换成STM32F103VCT6,封装是100脚的封装,电路修改部分只是将TF卡的驱动电路换成SDIO电路,其他没有改变。
调试接口使用的是5线的SWD接口,分别是3.3V GND SWDIO SWDCLK NRST
现在问题来了,新焊的板子,使用MDK调试环境,可以识别到芯片ID,但是就是调试不了。

现象是:点击在线调试,进入界面,会出现“can not attach to cpu”


而且点击run之后,无法stop


出现“Jlink warning: cpu could not be halted”
而且点击确定之后,自动退出调试界面。

而我之前的板子使用STM32F107VCT6很正常,我用的是JTAG V8,MDK4.7
我已经焊了两块板子,两块板子的现象一样。
请教一下各位大大,是什么原因呢?

最佳答案

查看完整内容[请看2#楼]

问题找到原因了,是因为晶振的问题 我的板子用的是25MHz的晶振,使用的3.5函数库,默认使用107的时候,启动文件中对RCC配置有特殊处理,以配合25MHz的时钟 而我改成103的时候,还是使用25MHz的晶振,就不行了。改成ST推荐的8MHz晶振,就正常了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

11

主题

53

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1881
金钱
1881
注册时间
2014-10-4
在线时间
18 小时
 楼主| 发表于 2014-10-15 09:33:01 | 显示全部楼层
问题找到原因了,是因为晶振的问题
我的板子用的是25MHz的晶振,使用的3.5函数库,默认使用107的时候,启动文件中对RCC配置有特殊处理,以配合25MHz的时钟
而我改成103的时候,还是使用25MHz的晶振,就不行了。改成ST推荐的8MHz晶振,就正常了。
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2014-10-15 10:12:46 | 显示全部楼层
是不是有代码占用了SWD端口
回复

使用道具 举报

11

主题

53

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1881
金钱
1881
注册时间
2014-10-4
在线时间
18 小时
 楼主| 发表于 2014-10-15 10:45:18 | 显示全部楼层
回复【2楼】ricefat:
---------------------------------
你好,谢谢你的帮助。

我的代码现在是最简单的,进入main之后,是一个while(1){tmp++;delay;}
然后在调试界面用watch看tmp的值有没有递增,用来验证板子是否已经正常工作。

最新的一个情况是:
我将MCU换成STM32F107VCT6,就正常了。
难道是STM32F103VCT6不支持SWD调试?
还是说我的MDK设置有问题呢?

107和103的工程,我更改了启动文件
107启动文件用cl
103启动文件用hd

其他不变

求教是什么原因呢?

以下是进入debug两块板子jtag的信息

STM32F103VCT6的情况



STM32F107VCT6的情况

回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2014-10-15 11:14:33 | 显示全部楼层
这个就不清楚了啊
回复

使用道具 举报

11

主题

53

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1881
金钱
1881
注册时间
2014-10-4
在线时间
18 小时
 楼主| 发表于 2014-10-15 11:22:29 | 显示全部楼层
回复【4楼】ricefat:
---------------------------------
谢谢你的答复,我发现一个新的情况,贴图如下:

103的信息




107的信息



可以看到TRST引脚的状态不一样103是“0”,而107是“1”
但是trst引脚应该是用于jtag接口的啊,在SWD接口是没有用到的
我查看了我的电路板,这个引脚是空置状态,没有对地短路啊
很奇怪

而且我将PB4(TRST)引脚强制性上拉,还是“0”
回复

使用道具 举报

4

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2015-2-10
在线时间
6 小时
发表于 2015-7-1 17:25:26 | 显示全部楼层
回复【6楼】adaphoto:
---------------------------------
你好,我用的战舰3.5库,当用STM32F107VCT6芯片25M晶振时,怎么把程序的系统时钟搞成72M啊?
大湿,你好,我还在学习中!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-28 00:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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