【指南】如何用STM32核心板DIY STLink V2

写在前面

  这篇指南目前并不完善,只是我对最近几天DIY过程的一点总结,不过,我相信它足够帮助你从零开始做一个STLink出来,而且是以非常简单的方式。

所需材料、工具/软件

  1. 基本焊接工具。
  2. STM32F103C8T6核心板一块、CH340或其他的USB转TTL串口模块一个。
  3. 阻容元件若干、排针排母若干、LED两个。
  4. 软件:FlyMCU(下载固件用)、ST-Link Utility(更新固件用)

  准备好了就开始吧!

一、硬件准备

  通常来说ST官方的一些开发板比如nucleo系列都会有板载的STLink,可以参考开发板原理图来进行STLink的制作,当然,可能会有一些问题,比如STM32芯片上的板子可能不会引出STM8调试用的SWIM接口等等,需要多参考一些原理图来进行绘制。所以,比较方便的途径可能是直接模仿网友的原理图。

  比如这个:

P2.jpg

  原帖地址:http://bbs.elecfans.com/jishu_942391_1_1.html

  从图中我们可以发现,STLink的硬件组成是非常简单的,核心就是最小系统(MCU、晶振电路、复位电路)+ 若干其他电阻 + 指示灯。

  所以,如果对体积不太在意的话,用核心板稍加改造,就能得到合适的硬件,这里我使用的是马云家常见的那种蓝色的最小系统板,就是国外称作“BluePill”的那种。

  改造图示如下:

P3.jpg

  电路非常简单,可以很容易地在洞洞板上搭建出来(这里只引出了SWD接口,需要其他接口的话也可以自行引出),另外,图中标Fx字样的为自恢复保险丝。

  当然,如果对体积比较介意的话,那就得自己绘制包含核心板电路在内的PCB,如果和笔者一样打算用ISP方式下载的话,请把PA9、PA10和一个供电的接口一同引出,并保留一处可以选择BOOT0电平状态的焊点/开关之类的东西。

二、固件烧录

  通常我们能获取到的STLink 固件是网络上流传的STLinkV2.J16.S4.hex这一文件,烧录流程如下:

  1. 对BluePill板上的跳线帽进行调整,使BOOT0为高电平,BOOT1为低电平,如下图:

    P4.jpg

  2. 连接CH340模块和BluePill,注意TX接PA10、RX接PA9。
  3. 将CH340模块连接上电脑,打开FlyMCU,点击下图中方框位置(无顺序要求),找到相应串口、选择文件并设置为STMISP模式。P5.jpg
  4. 点击“开始编程”,等待若干秒后下载完成。完成后,CH340模块就完成使命了,把它拔掉,解除和核心板的连接,到这,固件烧录就完成了。

三、固件更新

  很多DIY STLink的教程里面会有个下载驱动的步骤,其实大可不必,因为ST-Link Utility这个工具自带驱动安装功能,所以更新固件之前我们先来安装它,软件不大,安装过程中也没有需要注意的设置,一路Next即可。安装完后,记得先把核心板的跳线帽恢复为BOOT0、1均为低电平,然后确保外围的电阻等等连接正常,之后就可以进行固件更新了,步骤如下:

  1. 核心板用USB线连上电脑,此时设备管理器里面应该能够看到“通用串行总线设备”下有一个名为“STM32 STLink”的设备。
  2. 打开ST-Link Utility,点击顶部菜单里的“ST-LINK”,选择“Firmware update”,然后在弹出的界面里点击“Device Connect”,如无意外,此时界面如下:P7.jpg
  3. hh,之后“Yes”就OK了,固件更新完毕后就可以随意使用了。

  需要注意的是,ST-Link Utility版本越高,内置的固件版本也越高,为了更新到最新的固件版本,推荐访问ST官网获取最新的软件,地址在这:https://www.st.com/zh/development-tools/stsw-link004.html

  觉得找资源麻烦的话,我这里也整理好了一份供大家下载:https://www.lanzous.com/ia517zi

温馨提示

  最后,唔,友情提示一下,本文中使用到的资源均搜集于网络,仅供个人学习交流之用,勿做商业用途,否则可能有法律风险。如果我对这些资源的使用有不恰当之处的话,烦请联系我删除。

你可能感兴趣的:(单片机,嵌入式,调试器)