分享一个2年前在立创开源硬件平台上开源的项电脑目,该项目目前是平台上最热门的ST-LINK V2-1项目,也是点赞数最多的一个ST-LINK相关的项目,以下是该项目的累积数据。
项目地址:自制ST-LINK V2-1(亲测可用) - 嘉立创EDA开源硬件平台
ST-Link的硬件,官方推出了三大版本:V1、V2和V3。在官方《TN1235 ST-LINK衍生产品概述》中有详细的说明,因篇幅原因就不展开来讲了,下面贴上一张官方手册的介绍。

本项目制作的就是用于STM32程序下载、仿真调试和串口功能为一体的ST-Link V2-1
2、LCEDA 2D & 3D图片2.1、2D图片电脑



本项目原理图参考了正点原子的潘多拉开发板上的ST-link V2-1设计,如下图。初次接触ST-link V2.1就是在这块潘多拉开发板上。
电脑
注意事项:
潘多拉开发板上的ST-link V2-1 出厂主控使用的是FLASH 容量为64K的STM32F103C8T6,但是ST-link V2-1最新的固件已经超过了64K,芯片容量不足。 因此本项目主控选择的是FLASH容量为128KB的STM32F103CBT6(商品编号:C8304),这是C8T6的大容量版本,可以直接PIN to PIN 替换。
3.1、USB接口电路潘多拉开发板上的 USB_ST_LINK 可以直接搬运过来,本设计中使用的是USB-Type-A
潘多拉开发板上的 POWER 只需要取一路LDO搬运过来
潘多拉开发板上的电脑STlink v2.1 ,这部分也可以搬运过来,将STM32F103C8T6更换为STM32F103CBT6

在附件中上传了一张ST官方的ST-Link V2.1的原理图。
在ST官方的ST-Link V2.1图纸中有一个名为COM的指示灯,这是一个红绿双色的LED指示灯,就是下图所示的这个LED。
那么这个指示灯有什么作用呢,在官方的TN1235技术手册中有专门的介绍,截取相关部分如下。

译文如下:
自ST-LINK / V2起,所有ST-LINK板均带有一个标有“ COM”的LED(在外壳或PCB上)。
无论连接类型如何,此LED都会显示ST-LINK状态:
LED呈红色闪烁:正在与PC进行第一个USB枚举。LED为红色:PC与ST-LINK之间的通信已建立(枚举结束)。LED呈绿色和红色交替闪烁:正在目标和PC之间交换数据。LED为绿色:上一次通信已成功。LED为橙色:与目标的ST-LINK通信失败本项目电脑参考的潘多拉开发板集成的ST-LINK V2-1 用了一个红色的LED代替了这个红绿双色的COM指示灯,因此本项目也沿用了这一设计,COM指示灯用一个红色LED 替代。
5、PCB设计1、USB 部分的D-和D+ 数据线必须使用差分走线。
2、晶振电路部分必须靠近MCU放置。






由于官方没有将ST-Link里面源码公开,同时也没有直接给出ST-Link固件(读保护),但是目前(2020年7月)网上已有流传多个版本的固件。
版本一:STLink V2.J16.S4版本固件:标准V2版本,支持SWD和SWIM接口,这个版本的固件是。已上传附件。
版本二:STLink V2.J28.M18版本固件:是用于ST-LINK/V2-1、ST-LINK/V2-A、ST-LINK/V2-B板(具有STM32调试接口、大容量存储接口、虚拟COM端口)的版本。已上传附件。
本项目制作ST-Link V2-1 必须使用V2.J28.M18这个版本作为烧录的固件版本。
第一次烧录固件可使用这两个工具
STM32CubeProg:STM32CubeProgrammer software for all STM32 下载地址
STM32CubeProg的主要功能就是编程(下载),支持Windows、 Linux、 macOS操作系统。
同时,需要安装JRE环境,才能使用它,下载地址。

STM32 ST-LINK Utility的功能比STM32CubeProg要稍微简单一些,其主要功能也是编程(下载)。

本文选用STM32CubeProg这个编程工具来烧录固件。
还需要一个烧录工具进行烧录固件,我这里只有下面这个ST-Link V2
固件更新有三种方法
下载官方固件升级应用程序STSW-LINK007:ST-LINK,ST-LINK / V2,ST-LINK / V2-1和STLINK?V3板的固件升级
在官方RN0093发行手册(已上传至附件)中对已发行的升级包工具的版本有详细说明。
截止2020年7月最新的固件版本号

STM32CubeProg V2.4.0 内置固件版本


Keil MDK-ARM v5.31内置固件升级版本与STM32CubeProg V2.4.0 内置固件升级版本是一样的,都是V2.J35.M26
本文使用STM32CubeProg V2.4.0 内置升级工具进行固件更新
提示
8、验证固件烧录及更新过程见附件视频。

显示以上信息,确认固件OK
电脑 电脑