前言
某寶上的STLINK V2下載器偶爾會壞掉,我們嘗試修復一下
1.材料
(1)完好的STLINK V2下載器和壞掉的下載器各1個;
(2)固件:https://gitee.com/Cai-Zi/stm32f103c8t6_dap_swo,也可以使用藍色板制作哦
2.硬件
2.1原理圖
此下載器的2x5P接口中,SWD接口為:SWDIO-PB14,SWCLK-PB13
筆者的下載器主控芯片是64Pin,無法燒錄固件,猜測是芯片掛了,於是找了片STM32F103R8T6焊接了上去
2.2固件引腳說明
3.燒錄固件
將壞掉的下載器、完好的下載器和電腦連接好;
打開STM32 ST-LINK Utility,進行連接;
點擊Target》Program...,找到下載好的F103-DAP-SWO-CDC-STLINK_V20-SWO_PA10.hex,燒錄即可。
若刷寫DAP固件,則
SWCLK->PA14
SWDIO->PA13
若刷寫標准V2固件,則
SWCLK->PB13
SWDIO->PB14
NRST->PB0
SWCLK->PB13
SWDIO->PB14
NRST->PB0
TXD->PA2
RXD->PA3
4.驅動配置
下載UsbDriverTool,如圖安裝WinUSB驅動
安裝好后,設備管理器出現3種設備,Done!
5.使用DAPLink調試
keil工程里,魔術棒設置如下
勾選SWJ,Port選擇SW,Connect選擇Normal,Reset選擇SYSRESETREQ
6.關於ST-LINK
參考ST官方文檔,官方推出了三大版本:V1、V2和V3
幾個ST-LINK共存版本是隨着時間的推移不斷增加新功能的結果,
從第一個ST-LINK/V1版本開始。本節簡要介紹了版本命名。
ST-LINK的前兩個版本都是獨立的,並且嵌入了STMicroelectronics Discovery和Eval開發板。這些版本是:
•ST-LINK/V1(現已過時)
•ST-LINK/V2第三個ST-LINK版本,ST-LINK/V2-1,是ST-LINK/V2的一個改進,增加了USB接口(存儲接口和虛擬COM端口)以及更好的電源管理控制
申請委員會。ST-LINK/V2-1部署在最近的STMicroelectronics Discovery、Eval和Nucleo開發板。
另外兩個版本是從ST-LINK/V2版本派生的,為了支持ST-LINK/V2-1的一些功能:•ST-LINK/V2-A,用於大容量存儲
•ST-LINK/V2-B,用於大容量存儲和虛擬COM端口
STLINK-V3是最新和最強大的ST-LINK代。它首先作為一個模塊化的單機版引入探針(STLINK-V3SET)被改編成更緊湊的衍生物(STLINK-V3MINI和STLINK-V3MODS),可能也可嵌入演示板(STLINK-V3E)。STLINK-V3具有專門開發的多路徑USB網橋功能。
各種ST-LINK實現嵌入了基於Arm® Cortex®‑M的STM32位微控制器。
- ST-Link/V2:支持STM32和STM8調試,不帶虛擬串口,TB上賣的大多是這種,目前手頭還有好幾個這個版本的ST-Link。后面會使用這個版本進行燒錄。
- ST-LinkV2-1: 支持STM32調試,帶虛擬串口和虛擬U盤下載,目前ST官方的Nucleo系列評估板上面板載的ST-Link就是這個版本。
7.關於DAPLink(CMSIS-DAP)
參考:https://blog.csdn.net/qlexcel/article/details/104027582
7.1 DAPLink簡介
DAPLink之前叫CMSIS-DAP。它的硬件和軟件都是開源的(開源地址:https://github.com/ARMmbed/DAPLink),它支持對運行在Arm Cortex的單片機上的應用軟件進行編程和調試。DAPLink的源碼是開源的,意味着你可以對代碼進行修改、提速、增加功能等,比如可以改為無線調試、Wifi功能等。它連接到目標MCU的SWD或JTAG端口。因為要實現DAPLink只需要一個MCU而且外圍器件很少,所以很多官方的開發板上都集成了DAPLink。
DAPLink的串口功能和SWD、JTAG模式連接關系如下:
7.2 DAPLink原理圖
7.3 DAPLink的特點
1)MSC-支持拖拽式編程Flash,把DAPLink連接電腦后,電腦上會出現一個U盤,把hex或bin文件拖入其中就能完成程序燒寫。
2)CDC-虛擬串口,把DAPLink連接電腦后,電腦上會出現一個串口,可以使用串口助手打開實現與目標板的串口通信。
3)DAPLink本身的固件支持U盤升級,只需將nRST接地,插入DAPLink,PC上即會出來一個U盤,只需將新的固件(hex或者bin文件)拖入到U盤中,即可完成固件升級。因為DAPLink實現了一個帶U盤功能的bootloader,可以方便的完成固件升級。
若您有基於STM32的產品正在量產,而且產品后續可能需要升級,則DAPLink中的bootloader代碼非常值得您參考,客戶端不需要安裝復雜的IDE或者燒寫工具才能完成升級,只需拖動到U盤即可方便的完成您的產品升級。
4)支持主流上位機調試軟件,包括keil、IAR、openocd,均支持使用SWD進行下載、單步調試。
5)免驅動,插上就能用。
7.4 DAPLink的缺點
因為原生的DAPLink使用的全速USB2.0,所以程序下載速度會受限於USB的傳輸速度,如下是繆斯實驗室(https://item.taobao.com/item.htm?spm=a230r.1.14.10.7b1c3c3ektIGGu&id=586425846353&ns=1&abbucket=2#detail)的測試。當然因為DAPLink是開源的,所以可以自己把DAPLink移植到具有高速USB功能的單片機上去。
7.5 DIY教程
https://www.cirmall.com/circuit/11016
https://www.cirmall.com/circuit/9062