專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

STM32在程序中禁用JTAG功能后不能進行仿真的解決辦法

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2013年06月12日   【字體:
STM32在程序中禁用JTAG功能后不能進行仿真會出現(xiàn)不能進行JTAG仿真的現(xiàn)象。

在程序中,通常禁止JTAG的函數(shù)如下所示:
  //改變指定管腳的映射  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);

當(dāng)設(shè)置了以上語句后,當(dāng)運行了這兩個語句后,JTAG仿真就與目標(biāo)失去去聯(lián)系。

解決辦法有:

1、設(shè)置啟動模式為ISP模式(BOOT0=1、BOOT1=0)或設(shè)置啟動模式為RAM運行模式(BOOT0=1、BOOT1=1)。
將開發(fā)板斷電后重新上電,此時就因不是在用戶程序模式,因此就不會執(zhí)行禁用JTAG的語句,JTAG功能也就可以正常使用。

2、設(shè)置啟動模式為ISP模式(BOOT0=1、BOOT1=0),用ISP程序?qū)TM32的FLASH擦除,之后就可恢復(fù)JTAG功能。

3、如果你的仿真器支持SWD仿真模式,如IAR下用JLINK、MDK下用ULINK2。
直接將仿真器的模式設(shè)為SWD模,就可以不受這個禁止JTAG功能的影響了。
lhtzyn777 (2009-4-13 11:04:00)
這樣的話,
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);
這樣設(shè)置之后PB3,PB4是不是可以做普通IO使用?可以設(shè)置為推挽輸出嗎?
zzu65 (2009-4-13 16:35:55)
可以作為普通IO使用
關(guān)閉窗口

相關(guān)文章