修复ST-LINK V2下载器 | ST-LINK V2下载器烧录DAPLink固件
前言
某宝上的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