• 前言
  • ST-Link V2.1简介
  • Mass Storage
  • Virtual COM port
  • Debug Port
  • MCO
  • ST-Link V2.1原理图
  • ST-Link Bootloader程序
  • ST-Link 固件更新
  • 官方ST-Link驱动
  • bin文件生成
  • 资源下载

前言

新的STM32单片机可以通过常见的 J-Link, ST-Link, 开源的DAP-Link等设备下载程序, 淘宝搜索STM32下载器出来各种各样的玩意:

都是可以用的, 大的贵的可能耐用, 但有官方维护持续更新的才是有灵魂的, ST-Link V2.1是ST官方推出的新的固件, 需要在特定硬件下才能实现, 下面我们就动手撸一个出来.

ST-Link V2.1简介

上图是前几天打的实验板, 做的多的话BOM成本应该不到20元, 主芯片STM32F103CBT6, Micro-USB接口.

先看看ST-Link V2.1带来哪些强大的功能.Three different interfaces supported on USB: mass storage, Virtual COM port and debug port. 也就是单USB口可实现调试, 下载, 通信功能.

Mass Storage

USB连上电脑, 会识别出来一个约28K大小的盘

这是STM32F103CBT6还能用的空间, 里面至少存储了DETAILS.TXT文件, 内容是版本号和固件Build时间.

Version: 0221
Build: Sep 18 2018 11:09:21

不要慌, 我们把 GND, CLK, DIO, RST(复位)四个引脚连接到自己板子的STM32对应的4个引脚(这里以STM32F429IGT6为例), 插上USB后, 电脑显示:

这1MB空间就是STM32F429IGT6的空间.

然后, 把程序BIN文件拖进来(复制粘贴), 程序就自动下载到单片机里面了.

RST连接的时候, 程序下载完成会自动复位运行, 不连接的话, 需要手动复位.

所以, 最少GND, CLK, DIO三根引脚即可下载程序.

Virtual COM port

打开设备管理器, 图中的COM6就是虚拟串口:

我们把ST Link V2.1的串口连接到USB转串口上, 如上节, 用SSCOM在 961200波特率下发102486字节, 没有丢包现象. 稳如老狗.

Debug Port

这个就是通常意义的仿真调试下载口了, 同样是 GND, CLK, DIO三根引脚即可. Keil里面调试选择ST-Link, 使用SW端口即可.

其他功能

其实ST-Link还可以通过MCO引脚输出8M时钟给其他单片机用, ST官方的Nucleo就是这么搞的. 可以省去一颗晶振.

ST-Link V2.1原理图

ST-Link Bootloader程序

见最后资源下载, 需要用其他 J-link, ST-Link, DAP-Link等给STM32F103CBT6烧入Bootloader程序.

J-link可以用J-Flash软件.

ST-Link可以用ST官方的 STM32CubeProgrammer 软件, 或者CoFlash, 或者直接ST-Link V2.1复制Bootloader程序然后粘贴进去自动下载.

DAP-Link工具特别多, CoFlash或者自己撸脚本应该都可以.

这里就不要讨论是先有蛋还是先有鸡了…

ST-Link 固件更新

上面Bootloader下完后, 就可以用USB连电脑, 安装 ST-LINK utility 软件, 安装完后打开, ST-LINK→Firmware update

Divice Connect → STM32+MSD+VCP → Yes

进度条走到头即可.

官方ST-Link驱动

ST-LINK, ST-LINK/V2, ST-LINK/V2-1 USB driver signed for Windows7, Windows8, Windows10

给新电脑没有装过驱动的使用.

Keil的安装目录(ARM\STLink)里面也有STLink的驱动程序和升级程序.

结语

那个Bootloader其实并不知道是谁搞出来… 但硬件是几乎原封不动抄ST官方Nucleo板的, 后面也都是ST官方自己的东西了, 我们都是大自然的搬运工…

+1s:

bin文件的生成, 添加

C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin -o C:\Users\weife\Desktop\cdc.bin …/…/Output/UDP_Server.axf

weife是我的用户名, 改成自己的, 这样每次Keil编译就可以在桌面生成bin文件, 你可以把路径指定到ST-Link V2.1的盘里面, 这样每次编译可以自动下载程序(未尝试).

以STM32CubeMX生成的默认目录为例:

C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin -o C:\Users\weife\Desktop\blink.bin …/MDK-ARM/DIANDENG/DIANDENG.axf

资源下载

https://download.csdn.net/download/weifengdq/11255177
第一次刷固件用STM32 ST-LINK Utility v4.3.0比较好, 后来的4.4和4.5第一次不好使, 在4.3刷完之后再用:
https://download.csdn.net/download/weifengdq/11423884

ST-Link V2.1 制作使用相关推荐

  1. 整理ST Link V2 与stm32连接经过

    整理ST Link V2 与stm32连接经过 一.购买合适的ST Link V2仿真器: 二.下载ST Link V2的驱动并安装: 本人过程并没有修改安装路径,直接下一步,对于驱动最好为默认安装路 ...

  2. STM32 ST link V2 固件 ST-LinkV2.J16.S4.hex

    STM32 ST link V2 固件 将一个STM32F103C8T6变成ST link V2 STM32 ST link V2 固件 ST-LinkV2.J16.S4.hex https://do ...

  3. st link v2引脚连接_ST-Link资料02_ST-Link固件介绍,及固件命名规则

    说明: 本文原创作者『strongerHuang』 本文首发于微信公众号『嵌入式专栏』,同时也更新在我的个人网站:EmbeddedDevelop 一.写在前面 一些人可能看了上一篇关于ST-Link的 ...

  4. 使用STM32F103CBT6自制ST LINK V2-1多功能烧录器

    基于STM32的ST LINK V 2-1多功能烧录器制作 前 言 根据官方相关文档可知 ST LINK V2-1拥有以下四大功能: ST LINK V2-1制作教程和资料说明 主空部分原理图(参考) ...

  5. st-link v2怎么连接_使用ST Link下载和进行调试输出

    ST LINK引脚定义和对应MCU引脚如下图 ​ ​ 只有下载功能,接线方式如下: ST LINK引脚序号 ST LINK引脚名称 STM引脚 19 VDD ST Link的2号TVCC引脚 1 TV ...

  6. ST-LINK Utility + ST LINK+ STM32G474 erase chip fails

    今天遇到个诡异的问题,用ST-LINK Utility修改STM32G4XX的option byte 和下载程序时,突然发现MCU flash里的内容全为0.. 并且用full chip erase ...

  7. 安装ST LINK驱动后显示成功,但无法识别问题的解决办法之一

    如果你遇到:STM32安装ST LINK驱动后显示成功,但会显示各种"NO ST-LINK detected",或者用XCOM显示没有搜到接口以及设备管理器没有显示驱动的情况,而且 ...

  8. 使用STM32 ST-LINK Utility 烧录程序,ST LINK烧录程序,解锁FLASH

    关键词:ST LINK烧录程序,STLINK烧录程序,ST-LINK烧录程序,STLINK烧录程序,ST LINK解锁Flash 1.读取STM32内部FLASH及芯片信息 使用ST-Link连接硬件 ...

  9. 正点原子STM32103 战舰V3 开发板的ST LINK(SWD)接线图

    正点原子STM32103 战舰V3 开发板的ST LINK(SWD)接线如下图,5V供电旁边有个自锁开关,需要按下去(右下角有个POWER蓝色灯会点亮)才是上电的,另外另外根据实验测试使用ST LIN ...

最新文章

  1. list存入mysql乱序_MySQL案例-并行复制乱序提交引起的同步异常
  2. 【Java 并发编程】线程池机制 ( ThreadPoolExecutor 线程池构造参数分析 | 核心线程数 | 最大线程数 | 非核心线程存活时间 | 任务阻塞队列 )
  3. 洛谷 P1703 那个什么密码2
  4. 在IE环境下用javascript触发ABAP event
  5. push跳转时隐藏tabBar
  6. mysql数据库在哪里写语句_Mysql数据库操作语句
  7. OpenCV——高效遍历图像(C++版本)
  8. SpringMVC 接口 JDK动态代理导致映射失败的原因 异步注解Async失效 微服务映射的位置
  9. OS实验xv6 6.S081 开坑
  10. 表格闪退怎么解决_win10中excel2013闪退怎么修复_win10中excel2013闪退如何解决
  11. n1盒子当无线打印服务器,n1下ubuntu安装cups配置airprint网络打印服务器
  12. 谷歌搜索语句实例(持续更新)
  13. 开启binary log功能
  14. 几大原型开发软件对比[转]
  15. Handheld Multi-Frame Super-Resolution论文理解
  16. python闲鱼二手爬虫_Python 爬虫咸鱼版
  17. 安卓开发之 在应用中使用数据库
  18. 山东省下辖16个地级市和山东地形图12.5米
  19. STM32F103C8T6模拟IIC控制4针0.96寸OLED显示屏
  20. 深度学习公开语音识别数据集下载 | 论文下载|音频数据集|corpus ——简记

热门文章

  1. CAN485总线隔离方案多?金升阳有妙招!
  2. 疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇)----(十)定时计数器
  3. 2022年同花顺Java面试
  4. Trinoo DDOS 攻击软件分析
  5. NS中如何编制带有期初/发生/期末余额的资产负债表?
  6. Qt 框架性开发实践——基础框架篇
  7. e2ee断点有时候断不下来解决方法
  8. java进出货管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
  9. 计算机毕业设计Node.js+Express母婴商品店进出货管理系统(源码+程序+lw+远程调试)
  10. 读《Spring 实战(第四版)》第三章 高级装配