tag 标签: st-link

相关博文
  • 热度 1
    2022-8-24 08:15
    884 次阅读|
    0 个评论
    分享一个2年前在立创开源硬件平台上开源的项目,该项目目前是平台上最热门的ST-LINK V2-1项目,也是点赞数最多的一个ST-LINK相关的项目,以下是该项目的累积数据。 (http://cdn.cyiiot.xyz/upload/7N1TpF20230314141317.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7N1TpF20230314141317.png) 项目地址: (https://oshwhub.com/CYIIOT/ST_LINK-V2_1 "点此进入") # 1、项目简介 ST-Link的硬件,官方推出了三大版本:V1、V2和V3。在官方《TN1235ST-LINK衍生产品概述》中有详细的说明,因篇幅原因就不展开来讲了,下面贴上一张官方手册的介绍。 (http://cdn.cyiiot.xyz/upload/7NMBPu20230314141243.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7NMBPu20230314141243.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图片 (http://cdn.cyiiot.xyz/upload/7Nktv320230314141352.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7Nktv320230314141352.png) (http://cdn.cyiiot.xyz/upload/7NPCMI20230314141358.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7NPCMI20230314141358.png) ## 2.2、3D图片 (http://cdn.cyiiot.xyz/upload/7NI1mG20230314141435.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7NI1mG20230314141435.png) (http://cdn.cyiiot.xyz/upload/7N0bdI20230314141441.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7N0bdI20230314141441.png) # 3、原理图参考 本项目原理图参考了正点原子的潘多拉开发板上的ST-link V2-1设计,如下图。初次接触ST-link V2.1就是在这块潘多拉开发板上。 (http://cdn.cyiiot.xyz/upload/7NwZGT20230314141456.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7NwZGT20230314141456.png) 注意事项: 潘多拉开发板上的ST-link V2-1 出厂主控使用的是FLASH 容量为64K的STM32F103C8T6,但是ST-link V2-1最新的固件已经超过了64K,芯片容量不足。 因此本项目主控选择的是FLASH容量为128KB的 (https://so.szlcsc.com/global.html?k=C8304&hot-key=FT232RL-REEL "STM32F103CBT6")(商品编号:C8304),这是C8T6的大容量版本,可以直接PIN to PIN 替换。 ## 3.1、USB接口电路 潘多拉开发板上的 USB_ST_LINK 可以直接搬运过来,本设计中使用的是USB-Type-A。 (http://cdn.cyiiot.xyz/upload/7NMqXu20230314141554.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7NMqXu20230314141554.png) ## 3.2、LDO电源电路 潘多拉开发板上的 POWER 只需要取一路LDO搬运过来。 (http://cdn.cyiiot.xyz/upload/7NWODn20230314141601.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7NWODn20230314141601.png) ## 3.3、ST-LINK V2.1电路 潘多拉开发板上的STlink v2.1 ,这部分也可以搬运过来,将STM32F103C8T6更换为STM32F103CBT6。 (http://cdn.cyiiot.xyz/upload/7N6oJn20230314141620.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7N6oJn20230314141620.png) # 4、COM指示灯 在附件中上传了一张ST官方的ST-Link V2.1的原理图。 在ST官方的ST-Link V2.1图纸中有一个名为COM的指示灯,这是一个红绿双色的LED指示灯,就是下图所示的这个LED。 (http://cdn.cyiiot.xyz/upload/7NPVnY20230314141640.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7NPVnY20230314141640.png) 那么这个指示灯有什么作用呢,在官方的TN1235技术手册中有专门的介绍,截取相关部分如下。 (http://cdn.cyiiot.xyz/upload/7N9Jv720230314141654.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7N9Jv720230314141654.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+ 数据线必须使用差分走线。 (http://cdn.cyiiot.xyz/upload/7NFXAN20230314141715.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7NFXAN20230314141715.png) 2、晶振电路部分必须靠近MCU放置。 (http://cdn.cyiiot.xyz/upload/7NljwZ20230314141724.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7NljwZ20230314141724.png) 6、焊接调试 (http://cdn.cyiiot.xyz/upload/7N2NrR20230314141732.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7N2NrR20230314141732.png) (http://cdn.cyiiot.xyz/upload/7NNxEJ20230314141743.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7NNxEJ20230314141743.png) (http://cdn.cyiiot.xyz/upload/7NJn4X20230314141758.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7NJn4X20230314141758.png) (http://cdn.cyiiot.xyz/upload/7NV7Py20230314141817.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7NV7Py20230314141817.png) (http://cdn.cyiiot.xyz/upload/7NwGns20230314141823.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7NwGns20230314141823.png) (http://cdn.cyiiot.xyz/upload/7NGIXZ20230314141830.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7NGIXZ20230314141830.png) (http://cdn.cyiiot.xyz/upload/7Nu39O20230314141836.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7Nu39O20230314141836.png) (http://cdn.cyiiot.xyz/upload/7NwvVF20230314141843.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7NwvVF20230314141843.png) (http://cdn.cyiiot.xyz/upload/7N6yL920230314141852.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7N6yL920230314141852.png) # 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 (https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stm32cubeprog.html "下载地址") STM32CubeProg的主要功能就是编程(下载),支持Windows、 Linux、 macOS操作系统。 同时,需要安装JRE环境,才能使用它, (https://www.java.com/zh_CN/download/ "下载地址")。 (http://cdn.cyiiot.xyz/upload/7NqZwG20230314142939.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7NqZwG20230314142939.png) - STSW-LINK004:STM32 ST-LINK utility (https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stsw-link004.html "下载地址") STM32 ST-LINK Utility的功能比STM32CubeProg要稍微简单一些,其主要功能也是编程(下载)。 (http://cdn.cyiiot.xyz/upload/7NA2oF20230314143005.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7NA2oF20230314143005.png) 本文选用STM32CubeProg这个编程工具来烧录固件。 还需要一个烧录工具进行烧录固件,我这里只有下面这个ST-Link V2 (http://cdn.cyiiot.xyz/upload/7Nr1Rd20230314143018.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7Nr1Rd20230314143018.png) 7.3、更新固件 固件更新有三种方法 方法1: 下载官方固件升级应用程序 (https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stsw-link007.html "STSW-LINK007"):ST-LINK,ST-LINK / V2,ST-LINK / V2-1和STLINK‑V3板的固件升级 在官方 (https://www.st.com/content/ccc/resource/technical/document/release_note/98/de/c7/1b/08/82/44/38/DM00107009.pdf/files/DM00107009.pdf/jcr:content/translations/en.DM00107009.pdf "RN0093发行手册")中对已发行的升级包工具的版本有详细说明。 截止2020年7月最新的固件版本号 (http://cdn.cyiiot.xyz/upload/7NAAzN20230314143032.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7NAAzN20230314143032.png) 方法2:使用STM32CubeProg或者STM32 ST-LINK utility 自带的升级工具升级 STM32CubeProg V2.4.0 内置固件版本 (http://cdn.cyiiot.xyz/upload/7NJkBu20230314143138.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7NJkBu20230314143138.png) (http://cdn.cyiiot.xyz/upload/7NE4uK20230314143144.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7NE4uK20230314143144.png) 方法3:使用Keil MDK-ARM 内置的升级工具进行升级,当ST-link 的版本低于MDK内置的版本时,会提示进行升级。 Keil MDK-ARM v5.31内置固件升级版本与STM32CubeProg V2.4.0 内置固件升级版本是一样的,都是V2.J35.M26 本文使用STM32CubeProg V2.4.0 内置升级工具进行固件更新 提示 固件烧录及更新过程见附件视频。 # 8、验证 (http://cdn.cyiiot.xyz/upload/7NMGkz20230314143539.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7NMGkz20230314143539.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口正常读写。 --- (http://cdn.cyiiot.xyz/upload/7NSqE720230314143558.png?imageView2/2/w/600/h/370/ignore-error/1/)](http://cdn.cyiiot.xyz/upload/7NSqE720230314143558.png)
  • 热度 3
    2018-4-19 09:35
    5775 次阅读|
    1 个评论
    【博客大赛】ST-LINK V2 DIY笔记 之 固件更新
    手头上的固件版本是:STLinkV2.J16.S4;烧写该固件后,发现可以用STM32 ST-LINK Utility连接到待烧写芯片,但尝试用MDK进行仿真,则无法成功。针对这一问题,需要对STLinkV2进行固件升级,记录一下方法。 使用工具:STM32 ST-LINK Utility v4.0.0.0 Step 1:将ST-Link接入电脑的USB端口,保证st-link能够被识别成功。 Step 2:打开STM32 ST-LINK Utility,单击ST-LINK菜单(如图1),选择Firmware update命令,进入固件更新界面(图2)。 图1 更新固件指令 图2 更新固件界面 Step 3:点击图2中的“Device Connect”按钮,连接设备成功后,界面如图3所示。 图 3 连接ST-LINK成功 Step 4:点击图3中的“Yes”按钮,开始更新固件,有进度条提示更新进度,如图4所示。 图4 固件更新中 Step 5:到上一步基本就算完了,因为正常情况下,不会出现什么问题。固件更新成功后,弹出消息框,如图5所示。点击“确定”按钮,即可完成固件更新。目前还没遇到过更新失败的提示,暂时没办法给出图片了。 图5 固件更新完毕 搜索 复制
  • 热度 27
    2013-4-7 17:34
    5560 次阅读|
    4 个评论
    ST 三合一板上,有自带的 ST-Link ,在使用时要进行下面的设置,否则会出现程序无法下载的现象。 选择菜单 Project-Option for Target… 在 Debug 中选择 ST-Link Debugger ,如下图,一般这一步大家都会去做。   在 Utilities 中同样选择 ST-Link Debugger ,如下图。有很人往往会忘记这一步。  
相关资源