OpenEdv-开源电子网

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

如何失能JTAG 选择SWD的F4程序实现方式

[复制链接]

1

主题

5

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2015-2-4
在线时间
1 小时
发表于 2015-2-4 15:34:25 | 显示全部楼层 |阅读模式
5金钱
由于部分 SPI1 和 SPI3/I2S3 引脚可能会映射到 JTAG 接口所使用
的部分引脚上(SPI1_NSS 映射到 JTDI、SPI3_NSS/I2S3_WS 映
射到 JTDI 以及 SPI3_SCK/I2S3_CK 映射到 JTDO),用户
可以:
— 将 SPI/I2S 映射到其它引脚
—(调试应用时)在配置 SPI 引脚前禁止 JTAG 接口而使能 SWD


请问做程序时候怎么实现?

最佳答案

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

直接配置对应的管脚功能即可407芯片
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2015-2-4 15:34:26 | 显示全部楼层
直接配置对应的管脚功能即可407芯片
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

28

主题

1489

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1656
金钱
1656
注册时间
2013-7-24
在线时间
1 小时
发表于 2015-2-4 20:55:30 | 显示全部楼层
JTAG/SWD也算是重映射的一种。我习惯了用SWD。
于20150522停用该账号:http://www.microstar.club
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2015-2-4
在线时间
1 小时
 楼主| 发表于 2015-2-5 11:24:27 | 显示全部楼层
回复【2楼】八度空间
我现在用的SPI3 ,其中它的引脚和JTAG引脚复用了,我用SPI2就可以读出传感器数值,但是用和JTAG有复用管脚的SPI3就不可以,我现在想用F1的程序语句GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//关闭jtag,保留swd。这种方式来在F4上使用 但是F4库里没有这个函数,我应该怎么做?
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2015-2-4
在线时间
1 小时
 楼主| 发表于 2015-2-5 11:29:07 | 显示全部楼层
回复【3楼】styleno1:
-----------------------------那我怎么用程序来选择SWD 禁止JTAG
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2015-2-4
在线时间
1 小时
 楼主| 发表于 2015-2-5 11:33:31 | 显示全部楼层
但是stm32复位后,JTAG与SW默认同时开启的,即所有的JTAG端口均被系统保留,软件设置GPIO是不起作用的,所以导致DB4一直为高电平,DB3一直为低电平,ST的文档里说明,如果要释放多余的JTAG端口,需设置SWJ_CFG[2:0]为010,关闭JTAG-DP,启用SW-DP

并且开启端口复用的始终,在代码上体现是这样的:

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
  GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);


F1是这样的,F4如何操作???????????????????
回复

使用道具 举报

3

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
167
金钱
167
注册时间
2017-3-20
在线时间
49 小时
发表于 2017-6-19 11:50:46 | 显示全部楼层
八度空间 发表于 2015-2-4 15:34
直接配置对应的管脚功能即可407芯片

你好,现在我想使用PB3和PB4,不复用其他的功能,单纯地想当作普通GPIO使用,该使用什么语句呢,谢谢
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2017-6-19 12:43:17 | 显示全部楼层
IssacWang 发表于 2017-6-19 11:50
你好,现在我想使用PB3和PB4,不复用其他的功能,单纯地想当作普通GPIO使用,该使用什么语句呢,谢谢

先关闭JTAG功能,开启SWD模式,然后按照普通IO的配置进行初始化即可
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

3

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
167
金钱
167
注册时间
2017-3-20
在线时间
49 小时
发表于 2017-6-19 13:41:20 | 显示全部楼层
八度空间 发表于 2017-6-19 12:43
先关闭JTAG功能,开启SWD模式,然后按照普通IO的配置进行初始化即可

冒昧再问您下,这个需要怎么做呢
找了很久没发现直接能用的语句,F407
是这个网页里的方法么?http://blog.csdn.net/jackey_onlyforyou/article/details/53174447
如果不能能否麻烦指正一下
非伸手党
回复

使用道具 举报

3

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
167
金钱
167
注册时间
2017-3-20
在线时间
49 小时
发表于 2017-6-19 14:01:55 | 显示全部楼层
IssacWang 发表于 2017-6-19 13:41
冒昧再问您下,这个需要怎么做呢
找了很久没发现直接能用的语句,F407
是这个网页里的方法么?http://b ...

发现不用做别的就也可正常用PB3、PB4,原子的例程改的工程,可能跟里面语句有关,我再研究下
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-17 16:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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