关于stm32的jtag和sw模式

本文介绍了STM32单片机在使用JTAG与SW模式时的资源复用问题。默认情况下,STM32复位后JTAG与SW同时开启,占用IO资源。为释放JTAG端口,需要设置SWJ_CFG寄存器关闭JTAG-DP,启用SW-DP。在代码中,通过特定的GPIO配置实现这一操作。同时,文章指出即使禁用JTAG,仍可通过特定启动模式或SWD模式进行软件下载与仿真。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       STM32单片机中的JTDO与JNTRST是JTAG引脚复用,一般最好不用JTAG-DP调试端口,而是用SW-DP,只需要JTMS/SWDIO与JTCK/SWCLK。这样可以省下有限的IO资源。

       但是stm32复位后,JTAG与SW默认同时开启的,即所有的JTAG端口均被系统保留,软件设置GPIO是不起作用的,所以导致JNTRST一直为高电平,JTDO一直为低电平,ST的文档里说明,如果要释放多余的JTAG端口,需设置SWJ_CFG[2:0]为010,关闭JTAG-DP,启用SW-DP

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

  //打开复用的时钟  

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);

 

  

STM32 JTAG是一种调试接口,用于与STM32单片机进行调试编程。在调试仿真中,可以使用JTAG的Cortex-M3方式,也可以使用SWD方式。JTAG方式需要20个管脚,而SWD方式只需要2个管脚,因此在对板子空间要求严格、I/O口资源紧张的项目中,SWD方式更加有利。\[1\] SWD模式相比JTAG模式在高速模式下更加可靠,特别是在大数据量的情况下,JTAG下载程序可能会失败,而SWD的失败几率较小。因此,推荐在使用JTAG仿真模式的情况下直接使用SWD模式,前提是你的仿真器支持。\[2\] 在STM32单片机中,JTDOJNTRST是JTAG引脚复用,一般最好使用SW-DP调试端口,只需要JTMS/SWDIOJTCK/SWCLK这两个引脚,这样可以节省有限的IO资源。但是在复位后,JTAGSW默认同时开启,即所有的JTAG端口都被系统保留,软件设置GPIO是不起作用的。要释放多余的JTAG端口,需要设置复用重映射调试I/O配置寄存器(AFIO_MAPR),具体的设置可以参考ST的文档。\[3\] #### 引用[.reference_title] - *1* *2* [STM32SWD调试模式](https://blog.csdn.net/wabil/article/details/50476986)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [STM32JTAG模式SW模式](https://blog.csdn.net/Qinlong_Stm32/article/details/127097250)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值