日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM32的调试方式、更新程序、仿真以及补救措施

發(fā)布時間:2025/6/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32的调试方式、更新程序、仿真以及补救措施 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
STM32的調(diào)試方式、更新程序、仿真以及補救措施
1. STM32的調(diào)試方式選擇
STM32支持JTAG和SWD兩種調(diào)試方式,且默認(rèn)狀態(tài)下這兩種調(diào)試功能都是開啟的。

由此我們可以知道:
如果要使用JTAG調(diào)試功能,那么PB3,PB4,PA13,PA14,PA15都不能使用;
而如果我們關(guān)閉JTAG功能,但是開啟SWD調(diào)試功能,那么PB3,PB4,PA15都可以當(dāng)作普通IO來使用了;


ST官方3.5的庫有提供關(guān)閉調(diào)試功能的兩個接口:

1.1 關(guān)閉所有的JTAG和SWD調(diào)試功能
慎用,一旦執(zhí)行該命令,程序運行后將不能通過JTAG或SWD方法進行燒寫和下載,補救措施見文末。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
執(zhí)行上面語句后,PB3,PB4,PA13,PA14,PA15都可以當(dāng)作普通iO來使用,此時不能通過J-Link進行調(diào)試了;

1.2 僅關(guān)閉JTAG調(diào)試功能
該方法的好處是,解放了JTAG功能占用的引腳,但是SWD調(diào)試功能依舊可以使用。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
執(zhí)行上面語句后,PB3,PB4,PA15都可以當(dāng)作普通iO來使用,且可以通過SWD進行調(diào)試。


2. 關(guān)閉JTAG和SWD調(diào)試方式后如何更新程序以及仿真
2.1 關(guān)閉JTAG如何更新程序
關(guān)閉JTAG調(diào)試功能以后,STM32不再支持在線仿真,且更新程序也需要通過一定操作才可以完成。此方法在開發(fā)階段慎用!
建議程序啟動時延時3-5秒后再關(guān)閉JTAG調(diào)試模式,如此,單片機斷電復(fù)位后立即點擊燒寫按鈕也是可以進行程序燒錄的。

2.2 關(guān)閉JTAG及SWD調(diào)試功能后的補救措施
補救措施一:
設(shè)置啟動模式為ISP模式(BOOT0=1、BOOT1=0)或設(shè)置啟動模式為RAM運行模式(BOOT0=1、BOOT1=1)。
將開發(fā)板斷電后重新上電,此時就因不是在用戶程序模式,因此就不會執(zhí)行禁用JTAG的語句,JTAG功能也就可以正常使用。

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

補救措施三:
如果你的仿真器支持SWD仿真模式,如IAR下用JLINK、MDK下用ULINK2。直接將仿真器的模式設(shè)為SWD模,就可以不受這個禁止JTAG功能的影響了。

總結(jié)

以上是生活随笔為你收集整理的STM32的调试方式、更新程序、仿真以及补救措施的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。