STM32筆記 (六)利用ST-Link進行Debug調試

簡介

STM32支持連接調試器進行在線Debug調試,可以用於一步步的排查程序的錯誤
STM32F1系列的Cortex-M3 支持兩種調試主機接口(debug host interface ) :

  • 第一個是廣爲使用的JTAG 接口
  • 另一個是新的“串行線(Serial Wire, SW)調試接口”,也就是SWD調試接口

SWD和JTAG兩種調試接口仿真的區別

  • 兩者的區別主要在於使用引腳的多少,STM32F1單片機往往沒有很富裕的管腳資源,而 JTAG協議需要使用 4 根腳,而 SW 則只需要兩根
  • 在大數據較大的情況下面使用JTAG 下載程序可能會失敗,而用SWD下載程序下載失敗的概率會大大降低
  • 使用 JTAG 仿真模式的情況下是可以直接使用 SWD 模式的,例如ST-Link就支持同一個調試器使用兩種仿真接口進行下載,主要取決於下載器是否支持
  • 由於SWD只佔用用兩個接口,JTAG佔用4個,較少的接口可以降低PCB佈線的難度以及縮小PCB板的體積

硬件接線圖

JTAG:
在這裏插入圖片描述

SWD:
在這裏插入圖片描述

Cortex-M3的兩種調試模式

  1. 停機模式
  • 指令執行被停止
  • SysTick 定時器停止
  • 支持單步操作
  • 中斷可以在這期間懸起,並且可以在單步執行時響應。也可以掩蔽它們,使得單步
    時不受干擾
  1. 調試監視器模式
  • 處理器執行調試監視器異常的服務例程(異常號: 12)
  • SysTick 定時器繼續運行
  • 新來的中斷按普通執行時的原則來搶佔
  • 執行單步操作
  • 存儲器的內容(如堆棧內存)會在調試監視器的響應前後更新,因爲有自動入棧和出棧的動作

一般用的比較多的是停機模式

keil5中對ST-Link調試器進行配置(SWD)

  1. 首先需要下載ST-link v2的驅動程序
  2. 打開Keil5,點擊魔術棒
    在這裏插入圖片描述
  3. 在debug選項卡中選則ST-Link調試器
    在這裏插入圖片描述
  4. 點擊Settings,選擇SW模式以及速率在這裏插入圖片描述
  5. 選擇Reset and Run,覈對所選擇芯片的內存
    在這裏插入圖片描述
  6. 單片機連接上ST-Link接口並在Keil5中點擊Start/Stop Debug Session 即可開始使用ST-Link仿真
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章