前言

某宝上的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

若刷写ST-LINK/V2-1/V2-A/V2-B固件,则

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

参考链接

修复ST-LINK V2下载器 | ST-LINK V2下载器烧录DAPLink固件的更多相关文章

  1. STM32Cube填坑,ST link 下载一次以后无法下载

    ST link 下载一次以后无法下载, 原因是工程设置忘记设置Debug模式

  2. PDF Expert for Mac v2.4.22 中文破解版下载 PDF阅读编辑软件

    PDF Expert for Mac v2.4.22 中文破解版下载:http://h5ip.cn/CsRN PDF Expert for Mac, iOS 上最好用的 PDF 编辑器之一,现在终于打 ...

  3. Java实战之01Struts2-04拦截器、上传下载、OGNL表达式

    十二.Struts2中的拦截器 1.拦截器的重要性 Struts2中的很多功能都是由拦截器完成的.比如:servletConfig,staticParam,params,modelDriven等等. ...

  4. 硬链接(hard link)和符号连接(symbolic link)

    inode ====== 在Linux系统中,内核为每一个新创建的文件分配一个inode,每个文件都有一个惟一的inode号,我们可以将inode简单理解成一个指针,它永远指向本文件的具体存储位置.文 ...

  5. ios开发视频播放后台下载功能实现 :1,ios播放视频 ,包含基于AVPlayer播放器,2,实现下载,iOS后台下载(多任务同时下载,单任务下载,下载进度,下载百分比,文件大小,下载状态)(真机调试功能正常)

    ABBPlayerKit ios开发视频播放后台下载功能实现 : 代码下载地址:https://github.com/niexiaobo/ABBPlayerKit github资料学习和下载地址:ht ...

  6. 如何在苹果电脑下载器Folx中管理下载列表

    Folx是一款Mas OS专用的下载器,提供了便捷的下载管理.灵活的设置.今天小编准备跟大家聊一聊关于Folx中常见的几种下载管理方式. 一.管理任务状态栏 在Folx下载面板上,可以通过类别查看任务 ...

  7. hapv-一个可以播放,下载国内主流视频的播放器

    electron 开发的一个可以播放,下载国内主流视频的播放器.A player developed by electron that can play and download domestic m ...

  8. Lrc歌词批量下载助手 MP3歌词批量下载助手

    Lrc歌词批量下载助手  MP3歌词批量下载助手   易歌词的服务器已经挂掉,各个主流播放器已不提供明确的下载Lrc服务,当上G的MP3文件遇上苦逼的播放器,二缺就诞生了!本软件就是在这种背景下诞生的 ...

  9. AntSword 中国蚁剑的下载安装配置(附下载文件)

    文章更新于:2020-04-11 按照惯例,需要的文件附上链接放在文首. 文件一: antSword-2.1.8.1.zip.7z 文件大小: 14.3 MB 下载链接: 中国蚁剑 v2.1.8.1 ...

随机推荐

  1. 基于zynq XC7Z100 FMC接口通用计算平台

    1.板卡概述 此板卡是北京太速研发,由SoC XC7Z100-2FFG900I芯片来完成卡主控及数字信号处理,XC7Z100内部集成了两个ARM Cortex-A9核和一个kintex 7的FPGA, ...

  2. 四探循环依赖 → 当循环依赖遇上 BeanPostProcessor,爱情可能就产生了!

    开心一刻 那天知道她结婚了,我整整一个晚上没睡觉,开了三百公里的车来到她家楼下,缓缓的抽了一支烟...... 天渐渐凉了,响起了鞭炮声,迎亲车队到了,那天披着婚纱的她很美,真的很美! 我跟着迎亲车队开 ...

  3. 01_描述对象_类图(Class Diagram)

    1.   作用 用于面向对象软件开发的分析和设计阶段,描述系统的静态结构. 描述类与类.类与接口.接口与接口之间的静态结构和关系,描述系统的结构化设计.最基本的元素:类.接口. 用于应用程序的一般概念 ...

  4. Java刷题时常用的标准库数据结构和相应算法

    目录 一.线性表(广义的数组) 1. 数组 一维数组的定义和初始化 二维数组的定义和初始化 Arrays工具类的一些常用方法 2. List接口容器 对象的构建 读写和插入删除数据 排序 反转数组 二 ...

  5. 【C#基础概念】字面量 literal

    一.字面量定义 在计算机科学中,字面量(literal)是用于表达源代码中一个固定值的表示法(notation).几乎所有计算机编程语言都具有对基本值的字面量表示,诸如:整数.浮点数以及字符串:而有很 ...

  6. C# 属性(一)

    C# 中的属性是特殊的方法,该方法只负责对私有字段经行的操作,.我们用反编译查看时候看到真实属性是带()的方法,里面还包含get()和set()方法. 属性完成对私有字段的封装.对类的外部用户来说,属 ...

  7. docker:nginx+confd动态生成配置

    docker:nginx+confd动态生成配置 当我们项目越来越多时手动去服务器修改nginx配置是一件很麻烦而且可能出错的事情.我们可以通过nginx+confd+配置中心实现一套方案避免出错并减 ...

  8. python 2.x 版本 pip 的使用

    看文档要使用 python2.7 的 pip 安装 TensorFlow, 因为有python3和pip3的缘故(pip2 和 /usr/bin/pip2看起来像是基于python2.x的,打个-V便 ...

  9. python文件操作glob_os_等对比

    Python标准库glob介绍 一. glob模块通配符 通配符 功能 * 匹配0或多个字符 ** 匹配所有文件,目录,子目录和子目录里面的文件 (3.5版本新增) ? 匹配一个字符,这里与正则表达式 ...

  10. SpringBoot 搭建基于 MinIO 的高性能存储服务

    1.什么是MinIO MinIO是根据GNU Affero通用公共许可证v3.0发布的高性能对象存储.它与Amazon S3云存储服务兼容.使用MinIO构建用于机器学习,分析和应用程序数据工作负载的 ...