自制ST-LINK V2-1(开源版本)
简介
最近迷上了攻城狮工具的制作,因手头有个潘多拉开发板,板载一个STLINK/V2.1,这玩意支持STM32调试,还带了一个虚拟串口和虚拟U盘下载,所以用立创EDA打造了一个小巧的STLINK/V2.1
简介:最近迷上了攻城狮工具的制作,因手头有个潘多拉开发板,板载一个STLINK/V2.1,这玩意支持STM32调试,还带了一个虚拟串口和虚拟U盘下载,所以用立创EDA打造了一个小巧的STLINK/V2.1开源协议
:GPL 3.0
(未经作者授权,禁止转载)描述
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
目录 |
|
2、LCEDA 2D & 3D图片 |
|
1、简介
- ST-Link/V2:支持STM32和STM8调试,不带虚拟串口,TB上卖的大多是这种,目前手头还有好几个这个版本的ST-Link。后面会使用这个版本进行烧录。
- ST-LinkV2-1: 支持STM32调试,带虚拟串口和虚拟U盘下载,目前ST官方的Nucleo系列评估板上面板载的ST-Link就是这个版本。
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指示灯
- LED呈红色闪烁:正在与PC进行第一个USB枚举。
- LED为红色:PC与ST-LINK之间的通信已建立(枚举结束)。
- LED呈绿色和红色交替闪烁:正在目标和PC之间交换数据。
- LED为绿色:上一次通信已成功。
- LED为橙色:与目标的ST-LINK通信失败
5、PCB设计
1、USB 部分的D-和D+ 数据线必须使用差分走线。
2、晶振电路部分必须靠近MCU放置。
6、焊接调试
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环境,才能使用它,下载地址。
- STSW-LINK004:STM32 ST-LINK utility下载地址
7.3、更新固件
- 下载官方固件升级应用程序
- 使用STM32CubeProg或者STM32 ST-LINK utility 自带的升级工具升级
- 使用Keil MDK-ARM 内置的升级工具进行升级,当ST-link 的版本低于MDK内置的版本时,会提示进行升级。
8、验证
9、测试
- 测试烧录功能,用Keil-MDK,下载程序成功,说明烧录功能正常
- 测试Debug功能,用Keil-MDK进行Debug调试,可以调试,说明Debug功能正常
- 测试U盘拖拽烧录功能,需要生成bin文件(bin文件生成方法),将bin文件拖到ST-link 模拟的U盘中,成功烧录,说明虚拟U盘功能正常。
- 测试串口收发功能:用杜邦线连接ST-LINK V2-1的TX和RX ,打开串口助手,发送数据,接收区收到相同的数据,说明串口收发正常
10、注意事项
- ST-LINK 固件升级工具不知从哪个版本开始,不支持跨版本更新固件。
- ST-LINK 最近的几个版本的固件已加入了读保护,SWD口是锁上的,所以不能通过SWD口读写固件。
- 如果想改成DAP-LINK 之类的固件,不能通过SWD口烧录固件,但是可以通过ISP的方式擦除STM32的固件信息,然后就可以使用SWD口正常读写。
评论