STM32笔记 (六)利用ST-Link进行Debug调试
生活随笔
收集整理的這篇文章主要介紹了
STM32笔记 (六)利用ST-Link进行Debug调试
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
簡(jiǎn)介
STM32支持連接調(diào)試器進(jìn)行在線Debug調(diào)試,可以用于一步步的排查程序的錯(cuò)誤
STM32F1系列的Cortex-M3 支持兩種調(diào)試主機(jī)接口(debug host interface ) :
- 第一個(gè)是廣為使用的JTAG 接口
- 另一個(gè)是新的“串行線(Serial Wire, SW)調(diào)試接口”,也就是SWD調(diào)試接口
SWD和JTAG兩種調(diào)試接口仿真的區(qū)別
- 兩者的區(qū)別主要在于使用引腳的多少,STM32F1單片機(jī)往往沒(méi)有很富裕的管腳資源,而 JTAG協(xié)議需要使用 4 根腳,而 SW 則只需要兩根
- 在大數(shù)據(jù)較大的情況下面使用JTAG 下載程序可能會(huì)失敗,而用SWD下載程序下載失敗的概率會(huì)大大降低
- 使用 JTAG 仿真模式的情況下是可以直接使用 SWD 模式的,例如ST-Link就支持同一個(gè)調(diào)試器使用兩種仿真接口進(jìn)行下載,主要取決于下載器是否支持
- 由于SWD只占用用兩個(gè)接口,JTAG占用4個(gè),較少的接口可以降低PCB布線的難度以及縮小PCB板的體積
硬件接線圖
JTAG:
SWD:
Cortex-M3的兩種調(diào)試模式
- 指令執(zhí)行被停止
- SysTick 定時(shí)器停止
- 支持單步操作
- 中斷可以在這期間懸起,并且可以在單步執(zhí)行時(shí)響應(yīng)。也可以掩蔽它們,使得單步
時(shí)不受干擾
- 處理器執(zhí)行調(diào)試監(jiān)視器異常的服務(wù)例程(異常號(hào): 12)
- SysTick 定時(shí)器繼續(xù)運(yùn)行
- 新來(lái)的中斷按普通執(zhí)行時(shí)的原則來(lái)?yè)屨?/li>
- 執(zhí)行單步操作
- 存儲(chǔ)器的內(nèi)容(如堆棧內(nèi)存)會(huì)在調(diào)試監(jiān)視器的響應(yīng)前后更新,因?yàn)橛凶詣?dòng)入棧和出棧的動(dòng)作
一般用的比較多的是停機(jī)模式
keil5中對(duì)ST-Link調(diào)試器進(jìn)行配置(SWD)
總結(jié)
以上是生活随笔為你收集整理的STM32笔记 (六)利用ST-Link进行Debug调试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 企业网络推广是如何做的?
- 下一篇: 网站安全性