加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 一、STM32的調(diào)試方式選擇
    • 二、關(guān)閉調(diào)試方式后如何更新程序以及仿真
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

開發(fā)攻略之STM32調(diào)試端口的映射~

08/05 11:15
1446
閱讀需 5 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

最近有一個項目用到了STM32F103RB系列單片機,由于引腳數(shù)量較少,不得不使用到了單片機的PB3和PB4兩個引腳。而這兩個引腳剛好又是STM32系列的JTAG調(diào)試引腳,如果要用于普通IO的功能需要先進行一定的設(shè)置。

一、STM32的調(diào)試方式選擇

STM32支持JTAG和SWD兩種調(diào)試方式,且默認狀態(tài)下這兩種調(diào)試功能都是開啟的。

STM32 IO JTAG IO SWD IO
PB3 ? NC
PB4 ? NC
PA13 ? ?
PA14 ? ?
PA15 ? NC

由此我們可以知道:如果要使用JTAG調(diào)試功能,那么PB3,PB4,PA13,PA14,PA15都不能使用;而如果我們關(guān)閉JTAG功能,但是開啟SWD調(diào)試功能,那么PB3,PB4,PA15都可以當作普通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都可以當作普通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都可以當作普通iO來使用,且可以通過SWD進行調(diào)試。

二、關(guān)閉調(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功能的影響了。

歡迎轉(zhuǎn)發(fā)分享給需要的好友!

微信號:zls_it

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
ECS-.327-12.5-12QS-TR 1 ECS International Inc Parallel - Fundamental Quartz Crystal, 0.032768MHz Nom, SMD, 2 PIN

ECAD模型

下載ECAD模型
$1.31 查看
FCLF8521P2BTL 1 Finisar Corporation Transceiver, 1250Mbps(Tx), 1250Mbps(Rx), SFP Connector, ROHS COMPLIANT PACKAGE
$66.5 查看
ECS-250-20-33-JTN-TR 1 ECS International Inc Parallel - Fundamental Quartz Crystal,
$0.51 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

微信公眾號《朱老師IT充電站》主筆。先后從事電子工程師、單片機軟件工程師、嵌入式linux軟件工程師、物聯(lián)網(wǎng)軟件工程師、架構(gòu)師等工作,教育品牌<朱老師物聯(lián)網(wǎng)大講堂>創(chuàng)始人,暢銷書作者。擅長U-Boot、linux kernel等嵌入式底層和系統(tǒng)層開發(fā)、架構(gòu)設(shè)計。擅長匯編、C/C++、Java、C#等常用開發(fā)語言。被授予:IBM技術(shù)專家、華為云享專家、51CTO學(xué)院金牌講師等稱號。