完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
简介
ST-Link的硬件,官方推出了三大版本:V1、V2和V3。在官方TN1235 《ST-LINK衍生产品概述》中有详细的说明,因篇幅原因就不展开来讲了,下面贴上一张官方手册的介绍。
LCEDA 2D & 3D图片 2D图片 3D图片 原理设计 本项目原理图参考了正点原子的潘多拉开发板上的ST-link V2.1设计,如下图。初次接触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 替代。 PCB设计 注意事项 1、USB 部分的D-和D+ 数据线必须使用差分走线。 2、晶振电路部分必须靠近MCU放置 焊接调试 ST-Link V2.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这个版本作为烧录的固件版本。 烧录固件 第一次烧录固件可使用这两个工具 1、STM32CubeProg:STM32CubeProgrammer software for all STM32 下载地址 STM32CubeProg的主要功能就是编程(下载),支持Windows、 Linux、 macOS操作系统。 同时,需要安装JRE环境,才能使用它,下载地址。 2、STSW-LINK004:STM32 ST-LINK utility下载地址 STM32 ST-LINK Utility的功能比STM32CubeProg要稍微简单一些,其主要功能也是编程(下载)。 本文选用STM32CubeProg这个编程工具来烧录固件。 更新固件 固件更新有三种方法 1、下载官方固件升级应用程序 STSW-LINK007:ST-LINK,ST-LINK / V2,ST-LINK / V2-1和STLINK‑V3板的固件升级 在官方RN0093发行手册(已上传至附件)中对已发行的升级包工具的版本有详细说明。 2、使用STM32CubeProg或者STM32 ST-LINK utility 自带的升级工具升级 3、使用Keil MDK-ARM 内置的升级工具进行升级,当ST-link 的版本低于MDK内置的版本时,会提示进行升级。 Keil MDK-ARM v5.31内置固件升级版本与STM32CubeProg V2.4.0 内置固件升级版本是一样的,都是V2.J35.M26 本文使用STM32CubeProg V2.4.0 内置升级工具进行固件更新 提示 固件烧录及更新过程见附件视频。 验证 测试
1、ST-LINK 固件升级工具不知从哪个版本开始,不支持跨版本更新固件。 2、ST-LINK 最近的几个版本的固件已加入了读保护,SWD口是锁上的,所以不能通过SWD口读写固件。 3、如果想改成DAP-LINK 之类的固件,不能通过SWD口烧录固件,但是可以通过ISP的方式擦除STM32的固件信息,然后就可以使用SWD口正常读写。 |
|
|
|
只有小组成员才能发言,加入小组>>
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
633 浏览 0 评论
3336 浏览 9 评论
3013 浏览 16 评论
3506 浏览 1 评论
9098 浏览 16 评论
1216浏览 3评论
631浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
619浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2361浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1925浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-11 06:45 , Processed in 0.959313 second(s), Total 46, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号