自制ST-LINK V2-1(开源版本) - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

标准版 自制ST-LINK V2-1(开源版本)

简介:最近迷上了攻城狮工具的制作,因手头有个潘多拉开发板,板载一个STLINK/V2.1,这玩意支持STM32调试,还带了一个虚拟串口和虚拟U盘下载,所以用立创EDA打造了一个小巧的STLINK/V2.1

开源协议: GPL 3.0

(未经作者授权,禁止转载)

创建时间: 2020-07-21 16:18:03
更新时间: 2024-04-17 13:01:10
描述
本项目完全使用立创EDA设计,喜欢本项目的朋友,请在评论区上方点个赞,谢谢各位的支持!
欢迎大家来收藏本项目。
 
 
 

2023年6月17日更新:

目前量产版本采用USB Tpye-C接口,该版本主控使用的是合宙通信推出的AIRF103CBT6。

店铺链接:http://mosslab.taobao.com/

宝贝链接:DIY开源 ST-Link V2-1 STM32 调试工具

大家有任何问题可以在QQ群里交流:729137376


 

2023年5月5日更新:

最近有不少同学想要直接购买成品,UP主与《奥特曼的电子星球》合作,提供做好的下载器,优化了PCB布局和LED显示,大家有需要也可以直接购买,目前23元1套(送元件盒1个)。

店铺链接:http://mosslab.taobao.com/

宝贝链接:DIY开源 ST-Link V2-1 STM32 调试工具

 

大家有任何问题可以在QQ群里交流:729137376

 


 

目录

1、简介

2、LCEDA 2D & 3D图片

     2.1、2D图片

     2.2、3D图片

3、原理图参考

     3.1、USB接口电路

     3.2、LDO电源电路

     3.3、ST-LINK V2.1电路

4、COM指示灯

5、PCB设计

6、焊接调试

7、ST-LINK V2.1固件烧录&固件更新

      7.1、获取固件

      7.2、烧录软件

      7.3、更新固件

8、验证

9、测试

10、注意事项

 

 

1、简介

ST-Link的硬件,官方推出了三大版本:V1、V2和V3。在官方《TN1235 ST-LINK衍生产品概述》中有详细的说明,因篇幅原因就不展开来讲了,下面贴上一张官方手册的介绍。
 
STLINK 版本介绍.png
  • ST-Link/V2:支持STM32和STM8调试,不带虚拟串口,TB上卖的大多是这种,目前手头还有好几个这个版本的ST-Link。后面会使用这个版本进行烧录。
  • ST-LinkV2-1: 支持STM32调试,带虚拟串口和虚拟U盘下载,目前ST官方的Nucleo系列评估板上面板载的ST-Link就是这个版本。
本项目制作的就是用于STM32程序下载、仿真调试和串口功能为一体的ST-Link V2-1

 

2、LCEDA 2D & 3D图片

 

2.1、2D图片

图0 2D TOP面.png
图1 2D BOT面.png

 


2.2、3D图片

图2 3DTOP面.png

图3 3DBOT面.png

3、原理图参考

 
本项目原理图参考了正点原子的潘多拉开发板上的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
 
潘多拉开发板上的 USB STlink v2.1.png

3.2、LDO电源电路

潘多拉开发板上的 POWER 只需要取一路LDO搬运过来
 
潘多拉开发板上的 POWER.png
 

3.3、ST-LINK V2.1电路

潘多拉开发板上的STlink v2.1 ,这部分也可以搬运过来,将STM32F103C8T6更换为STM32F103CBT6
 
潘多拉开发板上的STlink v2.1.png
 

4、COM指示灯

 
在附件中上传了一张ST官方的ST-Link V2.1的原理图。
 
在ST官方的ST-Link V2.1图纸中有一个名为COM的指示灯,这是一个红绿双色的LED指示灯,就是下图所示的这个LED
 
COM指示灯.png
 
那么这个指示灯有什么作用呢,在官方的TN1235技术手册中有专门的介绍,截取相关部分如下。
 
STLINK COM LED.png
 
译文如下:
 
自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+ 数据线必须使用差分走线

 
差分走线.png
 

2、晶振电路部分必须靠近MCU放置。

 
晶振电路.png

 


 

6、焊接调试

图4.jpg
 
图5.jpg
 
图6.jpg
 
图9.jpg
 
图10.jpg
 
图11.jpg
 
图12.jpg
 
图14.jpg
 
图15.jpg

 


 

7、ST-Link V2.1固件烧录&固件更新

 

7.1、获取固件

由于官方没有将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这个版本作为烧录的固件版本

 

7.2、烧录固件

第一次烧录固件可使用这两个工具

STM32CubeProg:STM32CubeProgrammer software for all STM32 下载地址

STM32CubeProg的主要功能就是编程(下载),支持Windows、 Linux、 macOS操作系统。

同时,需要安装JRE环境,才能使用它,下载地址

 

STM32Cube Pro 界面.png

 
 
       
STM32 ST-LINK Utility的功能比STM32CubeProg要稍微简单一些,其主要功能也是编程(下载)。
 
en.stm32stlinkutility.jpg
 
本文选用STM32CubeProg这个编程工具来烧录固件
 
还需要一个烧录工具进行烧录固件,我这里只有下面这个ST-Link v2
图16
 

7.3、更新固件

 

固件更新有三种方法
 
  • 下载官方固件升级应用程序
STSW-LINK007:ST-LINK,ST-LINK / V2,ST-LINK / V2-1和STLINK‑V3板的固件升级
 
在官方RN0093发行手册(已上传至附件)中对已发行的升级包工具的版本有详细说明。
 
截止2020年7月最新的固件版本号
 
固件升级包最新的固件版本.png
 
  • 使用STM32CubeProg或者STM32 ST-LINK utility 自带的升级工具升级
 
STM32CubeProg V2.4.0 内置固件版本
 
STM32Cube Pro 固件升级版本.png
 
STM32Cube Pro 固件升级版本介绍.png
 
  • 使用Keil MDK-ARM 内置的升级工具进行升级,当ST-link 的版本低于MDK内置的版本时,会提示进行升级。
Keil MDK-ARM v5.31内置固件升级版本与STM32CubeProg V2.4.0 内置固件升级版本是一样的,都是V2.J35.M26
 
本文使用STM32CubeProg V2.4.0 内置升级工具进行固件更新
 
 
备注:Keil MDK-ARM 内置的ST-LINK 升级工具路径为盘符:\...\Keil_v5\ARM\STLink。
 

 
 
提示
固件烧录及更新过程见附件视频。

 

8、验证

验证.png
显示以上信息,确认固件OK

 

9、测试

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

 

10、注意事项

  1. ST-LINK 固件升级工具不知从哪个版本开始,不支持跨版本更新固件。
  2. ST-LINK 最近的几个版本的固件已加入了读保护,SWD口是锁上的,所以不能通过SWD口读写固件。
  3. 如果想改成DAP-LINK 之类的固件,不能通过SWD口烧录固件,但是可以通过ISP的方式擦除STM32的固件信息,然后就可以使用SWD口正常读写。

 

 


 
 
 
温馨提示:有疑问的朋友,可以直接在评论区留言,看到留言后,会及时回复
喜欢的朋友,请在评论区上方点个赞,谢谢!

 


本视频内容为固件烧录和更新

设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
ID Name Designator Footprint Quantity
1 20pF C1,C2 C0603 2
2 104 C3,C4,C5,C6,C7,C10 C0603 6
3 1uF C8 C0603 1
4 1uF C9 C0603 1
5 10uF C12 C0603 1
6 TLC-NSMD100 F1 R1206 1
7 2*5P header H1 HDR-TH_10P-P2.54-H-R2-C5-S2.54-W10.0_MTP125-205R1 1
8 LED-0603_B LED1 LED0603_BLUE 1
9 KT-0603R LED3,LED7 LED0603-RD 2
10 FC-D1608UGK-520D10 LED4,LED5 LED0603-RD 2
11 M8050_C266599 Q1 SOT-23(SOT-23-3) 1
12 10K R1,R2,R3,R17,R26 R0603 5
13 100R R4,R19 R0603 2
14 4.7k R5,R7,R8 R0603 3
15 100k R6 R0603 1
16 22Ω R9,R10,R20,R21,R22,R25 R0603 6
17 1k R11,R12,R15,R23,R24 R0603 5
18 10R R13,R14 R0603 2
19 1.5K R16 R0603 1
20 36K R18 R0603 1
21 TP-SWD-2.54-4P TP1 TP-2.54-4P 1
22 STM32F103CBT6 U1 LQFP-48_7X7X05P 1 1458840421
23 USB TYPE-A U2 USB TYPE-A 1
24 RT9013-33GB U3 SOT-23-5_L3.0-W1.7-P0.95-LS2.8-BR 1
25 8MHz X1 OSC-SMD_L5.0-W3.2 1

展开

工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP