[其他ST产品] STM32在程序中禁用JTAG功能后会出现不能进行JTAG仿真的现象。

[复制链接]
4118|36
 楼主| kepe 发表于 2022-11-26 23:05 | 显示全部楼层 |阅读模式
STM32在程序中禁用JTAG功能后会出现不能进行JTAG仿真的现象。

在程序中,通常禁止JTAG的函数如下所示:

//改变指定管脚的映射  GPIO_Remap_SWJ_Disable SWJ 完全失能(JTAG+SW-DP)

GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);

//改变指定管脚的映射 GPIO_Remap_SWJ_JTAGDisable JTAG-DP 失能 + SW-DP使能

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);

当设置了以上语句后,当运行了这两个语句后,JTAG仿真就与目标失去去联系。

解决办法有:

1、设置启动模式为ISP模式(BOOT0=1、BOOT1=0)或设置启动模式为RAM运行模式(BOOT0=1、BOOT1=1)。

将开发板断电后重新上电,此时就因不是在用户程序模式,因此就不会执行禁用JTAG的语句,JTAG功能也就可以正常使用。

2、设置启动模式为ISP模式(BOOT0=1、BOOT1=0),用ISP程序将STM32的FLASH擦除,之后就可恢复JTAG功能。

3、如果你的仿真器支持SWD仿真模式,如IAR下用JLINK、MDK下用ULINK2。直接将仿真器的模式设为SWD模,就可以不受这个禁止JTAG功能的影响了。
nomomy 发表于 2023-3-4 12:47 | 显示全部楼层
请按JTAG的标准连接。              
albertaabbot 发表于 2023-3-4 21:01 | 显示全部楼层
可以串口isp烧写程序或者把mcu 的 rst 引脚接到调试器再次下载即可。
mattlincoln 发表于 2023-3-4 21:46 | 显示全部楼层
需要使用串口下载一个程序              
sanfuzi 发表于 2023-3-4 21:54 | 显示全部楼层
为什么要复用这个jtag接口              
pixhw 发表于 2023-3-5 10:32 | 显示全部楼层
可以串口isp烧写程序或者把mcu 的 rst 引脚接到调试器再次下载即可。
timfordlare 发表于 2023-3-5 12:33 | 显示全部楼层
可能是JTAG接口与板子没接好吧  
olivem55arlowe 发表于 2023-3-5 12:42 | 显示全部楼层
这个下载速度在怎么样              
Stahan 发表于 2023-3-5 19:34 | 显示全部楼层
可以串口isp烧写程序
jonas222 发表于 2023-3-7 20:01 | 显示全部楼层
需要使用串口下载一个程序              
lihuami 发表于 2023-3-9 12:16 | 显示全部楼层
Bootloader模式下JTAG功能能够正常使用。
ingramward 发表于 2023-3-10 13:22 | 显示全部楼层
请按JTAG的标准连接。              
软核硬核 发表于 2023-3-10 13:36 | 显示全部楼层
会的,如果禁用JTAG肯定就没法调试和下载程序了。
Pretext 发表于 2023-3-10 13:37 | 显示全部楼层
正常不会去禁用他的。
minzisc 发表于 2023-3-14 11:11 | 显示全部楼层
为什么要复用这个jtag接口              
SantaBunny 发表于 2023-5-5 23:34 | 显示全部楼层
可以串口isp烧写程序的
zhenykun 发表于 2023-5-15 22:24 | 显示全部楼层
请按JTAG的标准连接。              
liuzaiy 发表于 2023-5-15 22:26 | 显示全部楼层
可以串口isp烧写程序或者把mcu 的 rst 引脚接到调试器再次下载即可。
stly 发表于 2023-5-15 22:28 | 显示全部楼层
需要使用串口下载一个程序              
wyjie 发表于 2023-5-15 22:30 | 显示全部楼层
为什么要复用这个jtag接口              
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

346

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部