锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

STM32在程序中禁用JTAG功能后不能进行仿真的解决办法

时间:2024-05-23 03:37:10

M32在程序中禁用JTAG功能后不能进行仿真会出现不能进行JTAG仿真的现象。

在程序中,通常禁止JTAG的函数如下所示:
//改变指定管脚的映射GPIO_Remap_SWJ_Disable SWJ 完全失能(JTAG+SW- )
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);

//改变指定管脚的映射GPIO_Remap_SWJ_JTAGDisableJTAG-DP 失能 + SW-DP使能
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);

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

解决办法有:

1、设置启动模式为I 模式(BOOT0=1、BOOT1=0)或设置启动模式为RAM运行模式(BOOT0=1、BOOT1=1)。
将 断电后重新上电,此时就因不是在用户程序模式,因此就不会执行禁用JTAG的语句,JTAG功能也就可以正常使用。

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

3、如果你的 支持SWD仿真模式,如IAR下用JLINK、MDK下用ULINK2。
直接将仿真器的模式设为SWD模,就可以不受这个禁止JTAG功能的影响了。 lhtzyn777(2009-4-13 11:04:00) 这样的话,
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);
这样设置之后PB3,PB4是不是可以做普通IO使用?可以设置为推挽输出吗? zzu65(2009-4-13 16:35:55) 可以作为普通IO使用
-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章