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

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

发布: 2009-3-12 22:13 | 作者: binglin | 来源: StmFans思蜕盟 OPELC 自由电子联盟

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功能的影响了。
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使用
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值