文章目录

  • 一. 关于ST-LINK
  • 二. 自制ST-LINK硬件
    • 1. 原理图
    • 2. PCB图
    • 3. BOM表
  • 三. 固件烧录
  • 四. 固件更新
  • 五. 上电测试
  • 六. 相关链接

一. 关于ST-LINK

ST-LINK是ST公司开发的一款专门用于STM8STM32单片机调试的硬件设备,截至到现在官方已经推出三代产品:V1V2V3

ST-LINK V1 是比较老的版本,官网上显示已经停产。目前市面上很少看见有V1版,基本被V2版取代了。

ST-LINK V2 是目前比较主流的版本,第一款V2产品诞生于2011年,相比于V1有着更高的通信速率。V2 包含两个版本,分别为:ST-LINK V2 与 ST-LINK V2-1。

  • ST-LINK V2 : 支持STM32和STM8调试,不带虚拟串口,淘宝大多数卖的都是这种。
  • ST-LINK V2-1 : 仅支持STM32调试,带虚拟串口和虚拟U盘下载,目前ST官方的Nucleo系列评估板上面板载的ST-Link就是这个版本。本文自制ST-LINK就是围绕V2-1版本展开。

ST-LINK V3 诞生于2018年
,目前在市面上普及率还不是很高。ST-LINK V3是针对STM8和STM32的新一代模块化在线调试兼编程功能的工具。STLINK-V3包含三个版本:STLINK-V3SET、STLINK-V3MINI、STLINK-V3MODS。V3 相较于 V2 有着更高的数据传输速率,同时具备更高灵活性和扩展性,满足定制化需求。

关于ST-LINK、J-LINK、DAP-LINK:

  1. ST-LINK: ST公司开发的调试烧录器,用于STM8、STM32微控制器(MCU)的调试工具。
  2. J-LINK : J-LINK 是SEGGER公司为支持仿真ARM内核芯片推出的JTAG仿真器。配合IAR EWAR,ADS,KEIL,WINARM,RealView等集成开发环境支持所有ARM7、ARM9、ARM11、Cortex M0/M1/M3/M4、Cortex A5/A8/A9等内核芯片的仿真。
  3. DAP-LINK: DAP-LINK是ARM官方开源的一款调试烧录器,以前叫CMSIS DAP,现在改名叫DAPLink,并在功能上做了提升。DAP-LINK可以调试Arm Cortex全系列MCU,所以相比ST-LINK和J-LINK这方面更具优势。 官方的维护一直在更新,未来也会扩充更多功能。

二. 自制ST-LINK硬件


开发环境 :Altium Designer 20

1. 原理图

硬件电路非常简单,废话不说,直接放图:

2. PCB图

PCB图因为时间有限,做得非常粗糙,但板子经过打版测试,功能均正常。为了避免每次都需要接插杜邦线调试,接口使用的是 XH2.54-4P 接口。STM32F103C8T6由于Flash空间不够,需换成STM32F103CBT6。

3. BOM表

三. 固件烧录

用淘宝买的ST-LINK V2连接自制的ST-LINK,使用 STM32 ST-LINK Utility (下载链接)进行烧录固件,操作步骤如下:

  1. 连接ST-LINK。
  2. 打开需要烧录的二进制文件,这里选择的是STLink V2.J28.M18 (下载链接)。
  3. 开始烧录。按照默认配置,点击 Start 即可。

烧录成功后,将自制的ST-LINK通过USB连接电脑,打开设备管理器,如果能够识别出STLink证明烧录成功。

四. 固件更新

烧录完固件后还需要对固件进行升级,这里使用的是 Keil MDK-ARM 内置的升级工具进行升级,当ST-link 的版本低于MDK内置的版本时,会提示进行升级。除了使用Keil以外还可以使用:STSW-LINK007 (下载链接) 、STM32 ST-LINK utility (下载链接)进行固件升级。

将自制的ST-LINK通过USB连接电脑,打开Keil,按照上面的指示打开Keil内置的ST-LINK固件升级工具。

如果芯片使用的是STM32F103C8T6 则会提示Flash空间不够,ST-link V2-1最新的固件已经超过了64K,芯片容量不足。可以替换成容量更大的STM32F103CBT6 ,二者除了Flash容量不同,没有任何区别,可以被完美替代。


将芯片替换后就可以更新固件了,完成后发现设备管理器中多了ST-Link Debug、虚拟串口,资源管理器中多了虚拟U盘。

五. 上电测试

  • 测试烧录功能: 用Keil-MDK,下载程序成功,说明烧录功能正常。
  • 测试Debug功能: 用Keil-MDK进行Debug调试,可以调试,说明Debug功能正常。
  • 测试U盘拖拽烧录功能: 需要生成bin文件(bin文件生成方法),将bin文件拖到ST-LINK,成功烧录,说明虚拟U盘功能正常。
  • 测试串口收发功能: 连接ST-LINK V2-1的TX和RX ,打开串口助手,发送数据,接收区收到相同的数据,说明串口收发正常。

六. 相关链接

参考的文章:

  1. 教你自做STLINK-V2下载器,免费开源:https://www.cnblogs.com/pudonglin/p/14216141.html
  2. ST-LINK V2-1(亲测可用): https://oshwhub.com/CYIIOT/ST_LINK-V2_1
  3. 自制的ST-LINK_V2(带虚拟串口): https://blog.csdn.net/qq_42722691/article/details/111057618

已经把全部资料(包括:软件、原理图、PCB图、ST-LINK固件)打包上传至CSDN。

CSDN下载链接: https://mp.csdn.net/mp_download/manage/download/UpDetailed

自制ST-Link V2.1教程(SWD调试+虚拟串口+虚拟U盘)相关推荐

  1. 使用STM32F103CBT6自制ST LINK V2-1多功能烧录器

    基于STM32的ST LINK V 2-1多功能烧录器制作 前 言 根据官方相关文档可知 ST LINK V2-1拥有以下四大功能: ST LINK V2-1制作教程和资料说明 主空部分原理图(参考) ...

  2. 整理ST Link V2 与stm32连接经过

    整理ST Link V2 与stm32连接经过 一.购买合适的ST Link V2仿真器: 二.下载ST Link V2的驱动并安装: 本人过程并没有修改安装路径,直接下一步,对于驱动最好为默认安装路 ...

  3. STM32 ST link V2 固件 ST-LinkV2.J16.S4.hex

    STM32 ST link V2 固件 将一个STM32F103C8T6变成ST link V2 STM32 ST link V2 固件 ST-LinkV2.J16.S4.hex https://do ...

  4. st link v2引脚连接_ST-Link资料02_ST-Link固件介绍,及固件命名规则

    说明: 本文原创作者『strongerHuang』 本文首发于微信公众号『嵌入式专栏』,同时也更新在我的个人网站:EmbeddedDevelop 一.写在前面 一些人可能看了上一篇关于ST-Link的 ...

  5. st-link v2怎么连接_使用ST Link下载和进行调试输出

    ST LINK引脚定义和对应MCU引脚如下图 ​ ​ 只有下载功能,接线方式如下: ST LINK引脚序号 ST LINK引脚名称 STM引脚 19 VDD ST Link的2号TVCC引脚 1 TV ...

  6. 正点原子STM32103 战舰V3 开发板的ST LINK(SWD)接线图

    正点原子STM32103 战舰V3 开发板的ST LINK(SWD)接线如下图,5V供电旁边有个自锁开关,需要按下去(右下角有个POWER蓝色灯会点亮)才是上电的,另外另外根据实验测试使用ST LIN ...

  7. ST-LINK Utility + ST LINK+ STM32G474 erase chip fails

    今天遇到个诡异的问题,用ST-LINK Utility修改STM32G4XX的option byte 和下载程序时,突然发现MCU flash里的内容全为0.. 并且用full chip erase ...

  8. OD使用教程6 - 调试篇06|解密系列

    OD使用教程6 - 调试篇06 让编程改变世界 Change the world by program   这一讲开始,小甲鱼带大家接触真正程序的逆向.其实也没啥大不了的,也就是对之前所学的知识进行巩 ...

  9. node-webkit教程(16)调试typescript

    原文链接:node-webkit教程(16)调试typescript 本文所讲的内容同样适用于chrome浏览器. 在chrome的开发人员工具的配置项中,有一个sourcemap的选项,用来配置ja ...

最新文章

  1. Java NIO(New I/O)的三个属性position、limit、capacity
  2. 项目背景怎么描述_课程游戏背景下幼儿户外活动的组织和实施 ——记岱山县课程项目实施组活动...
  3. Android--表格布局
  4. 手机屏幕物理点击器是什么原理_手机屏幕为什么能触控 手机屏幕触控介绍【详解】...
  5. 漫画 | 小白也能看懂的量子物理漫画终于来了!
  6. redis的zset的底层实现_Redis中hash、set、zset有多牛?从底层告诉你数据结构原理...
  7. www,android18x.com,Android 11 LineageOS 18.1系统
  8. ta leader是什么岗位_阿里专家:如何成为一名“值得跟”的Leader?
  9. Pixel Bender 之 Flex 特效使用
  10. Android进程与线程基本知识
  11. c语言读写txt坐标文件数据,C语言——从txt文件中读写数据
  12. exce读、写与下载汇总 后端导出excel POI 方志朋如何优雅的导出Excel
  13. Win10网卡驱动突然消失
  14. 民生银行计算机研发笔试题,民生银行提前批 “民芯计划” 技术岗笔试算法题...
  15. [软件人生]耐得住寂寞——积累是低潮时期技术人员的品质
  16. Codeforces1380 D. Berserk And Fireball(贪心)
  17. 梦断代码读后感 (一)
  18. 5、创建用户微服模块,使用路由网关(gateway 3.0.3)微服进行访问
  19. 【一头扎进JMS】(4)----RabbitMQ概述
  20. 工期紧、要求高、协调难......一套解决方案教5000万建筑人搞定工程项目管理难题

热门文章

  1. 滴滴给自己留了后手。。。
  2. Docker run 命令
  3. 数字孪生应用白皮书_赛迪数字孪生白皮书(2019)
  4. 闷声发大财,关于支付行业的秘密
  5. matlab什么样的数表示0,matlab中e=1; i=0;是什么意思
  6. 判断输入是否同时为5和7的倍数
  7. 【前端使用插件js-export-excel导出excel】
  8. 顺序表:将两个有序表合并成一个新的有序顺序表
  9. Sophie‘s World 《苏菲的世界》
  10. 论文发表左下角添加作者信息