• 【开源电路】ST-LINK/V2、ST-LINK/V2-1、DAP-LINK烧录器(已验证)


    【开源电路】ST-LINKv2/V2-1/DAP/J-LINK-OB烧录器(已验证)


    • 📽PCBA实物图
      在这里插入图片描述
      在这里插入图片描述

    • 📄可刷四种类型的固件:
    1. ST-LIN V2(STM8/STM32) :可调试STM8和STM32.
      在这里插入图片描述

    在这里插入图片描述

    1. ST-LINK V2-1(STM32+VCP+MASS):仅支持调试STM32,带虚拟串口以及虚拟磁盘.
      在这里插入图片描述

    在这里插入图片描述

    1. DAP-LINK(CMSIS-DAP):DAP-LINK是ARM官方开源的一款调试烧录器,以前叫CMSIS DAP,现在改名叫DAPLink,DAP-LINK可以调试Arm Cortex全系列MCU。
      在这里插入图片描述

    在这里插入图片描述

    1. JLINK-ob:可调试几乎所有ARM7、ARM9、ARM11、Cortex M0/M1/M3/M4、Cortex A5/A8/A9等内核芯片的仿真通用的ARM架构单片机。
      在这里插入图片描述

    在这里插入图片描述

    • 🔰该电路可以兼容ST-LINK v2ST-LINK v2-1CMSIS-DAPJ-LINK OB.需要刷对应的固件才行。
    ✨本硬件电路未解决采用合宙的Air32F103CBT6芯片,当ST-LINK/V2使用时,对stm8在线调试功能的友好支持(仅对stm8支持下载,对stm32所有功能正常),ST的STM32F103CBT6以及 极海的APM32F103C8T6使用STM32CubeProgrammer软件序列号显示异常的问题。后两款芯片都支持对stm8在线调试功能,但是不支持STM32CubeProgrammer软件烧录程序,这一点,合宙的Air32F103CBT6芯片支持STM32CubeProgrammer软件对stm32烧录以及目标OB选项参数配置。
    • 👉🏻针对采用ST的芯片序列号异常情况,将原来STM32F103CbT6最小系统板上的芯片进行替换,重新烧录固件,序列号就显示正常了,不排除ST的个别序列号会出现读取异常情况,也有另外一种可能就是,目前国内大量同内核产品芯片,使用了ST的标签,也就是冒用换标进行销售。
      在这里插入图片描述

    🔰换标芯片真伪鉴别

    • 🌿针对制作ST-LINKV2烧录器的stm32f103C8t6芯片,如果是换标的芯片,烧录固件后,和上面内容所说的,可能出现序列号异常的情况,不排除像Air芯片能识别。
    • 🌿在芯片表面激光雕刻的丝印字看,ST官方的激光雕刻的丝印字迹是有差异的。特别是在stm32f103C8t6,中的C8T这些字符上看是差异最明显的地方,字符字体差异很大。

    在这里插入图片描述
    在这里插入图片描述

    ✨下面这个换标的,第一行是STM32,上面正品则是STM32F,正品在ST图标旁边的e3和换标的e3一个是图标构成的元素,一个是字符构成的元素,雕刻出来的效果是明显不一样的。

    • 🚩针对其他型号的换标芯片,区别方法就是利用官方的STM32CubeIDE 工具连接调试烧录器(ST-LINKV2),如果是正品,可以识别到ST芯片的ID号,能进行在线调试,如果是换标的则无法进行在线调试。在这种情况下,换标的只能通过离线烧录。在IAR或Keil下开发,对于换标的可能会烧录时会报一个警告,基本还是能烧录的。

    ⛳效果图和PCBA实物图差异说明

    ✨由于设计之初只考虑当ST-LINK V2来用,主要是用来给STM8stm32烧录程序。没有考虑到会将固件升级到ST-LINK/V2-1,带虚拟串口和虚拟U盘。
    • 📌参考电路一:UM0817文档
      在这里插入图片描述
    • 📌参考电路二:ST-LinkV2原理图:
      在这里插入图片描述
    • 🌿STM32 Nucleo 开发板系列上附带的ST-LINKV2原理图
      在这里插入图片描述

    🚩烧录器主控芯片说明

    🔰主控使用STM32F103CBT6,或者采用合宙的Air32F103CBT6芯片也可以,极海的APM32F103C8T6以及合宙的Air32F103CBT6已经实物验证了可以使用ST-LINK/V2、ST-LINK/V2-1固件并烧录STM32。
    • 🔖如果采用合宙的Air32F103CBT6芯片,可以烧录对应固件当作:ST-LINK/V2、ST-LINK/V2-1、CMSIS-DAP其中的一种。如果需要通过IAR或者STVD软件针对stm8在线调试,不推荐使用该芯片,而是使用STM32F103CBT6主控,或者使用极海的APM32F103C8T6IARST Visual Develop软件在线调试功能都正常。
    • 如果采用极海的APM32F103C8T6当作:ST-LINK/V2那么就不支持STM32CubeProgrammer软件对STM32进行程序烧录以及OB选项修改,无法连接到目标芯片,序列号显示为单符而不是一串数字序列。通过STM32 ST-LINK Utility软件点击Refresh后,烧录器的序列号能显示支持,以及Keil在线烧录不受影响。如果是烧录ST-LINK/V2-1固件,序列号都可以显示正常,支持`STM32CubeProgrammer。
    • 🌿采用合宙Air32F103CBT6芯片烧录ST-LINK/V2固件后,连接烧录目标信息,烧录器的序列号:B55B5A1A0000000064B9D201,能正常显示。
      在这里插入图片描述

    • 🌿和合宙Air32f103制作的ST-LINK v2烧录器使用ST Visual Programmer烧录STM8系列芯片演示:
      在这里插入图片描述

    • 🌿主控采用极海的APM32F103C8T6芯片烧录ST-LINK/V2固件后,连接烧录目标信息,STM32 ST-LINK Utility软件,能正常显示。
      在这里插入图片描述

    • 🌿使用STM32CubeProgrammer软件,则显示@
      在这里插入图片描述

    • 📋主控使用STM32F103CBT6序列号信息340024000C0000373446524E
      在这里插入图片描述
      而使用STM32CubeProgrammer软件,则显示4
      在这里插入图片描述

    🍁Air32F103差异说明

    ⚡整体来说可以使用,但是当ST-LINK/V2使用时,针对stm8在线调试功能表现不佳,对stm32功能正常。Air32F103在对stm8进行在线调试功能上表现差劲,不管是通过IAR软件调试还是STVD软件发现很难实现在线调试。在点击调试按钮时,容易报the debugging session could not be started.弹窗,SWIM error [30006]错误信息,有时多点几次又能成功进入调试。如果需要将Air32F103ST-LINK/V2使用特别注意这一点。当通过stm8专用下载软件:STVP进行下载,每次硬件连接后需要点击3次,才能下载成功,在不重复拔插情况下,后面可以连续下载成功。主控使用STM32F103CBT6不存在以上问题。

    • 📽采用主控使用STM32F103CBT6stm8的在线调试功能演示:
      在这里插入图片描述
      在这里插入图片描述

    🌼固件烧写和固件升级说明

    • 🖋ST-LINK/V2、ST-LINK/V2-1差异说明:
      在这里插入图片描述
    • 🌿J-LINK-OB需要刷特定的固件才能兼容引脚,可以参考该开源工程:https://oshwhub.com/dean/stlink_uart
    1. 将烧录器烧写成支持stm8和stm32固件ST-LINK/V2
      1. 将原始固件:STLinkV2.J16.S4.bin烧录进去.
      1. 升级固件。升级工具可以选择:stsw-link007中的升级工具ST-LinkUpgrade.exe或者使用STM32CubeProgrammer工具进行升级,最终升级到当前最新版本V2J40S7
    • 🌿stsw-link007\Windows\ST-LinkUpgrade.exe
      在这里插入图片描述
    • 🌿STM32CubeProgrammer工具
      在这里插入图片描述

    🍁两个工具进行升级,可以看到最终升级的固件版本有差异。使用stsw-link007工具最终升级的版本是V2.J40.S7,而STM32CubeProgrammer工具最终升级到的版本是V2.J39S7

    • 🌿使用STM32CubeProgrammer工具升级之后:

    在这里插入图片描述
    在这里插入图片描述

    🚩1. 以上两个工具升级,不管是使用stsw-link007工具升级到V2.J40.S7,还是通过STM32CubeProgrammer工具升级到V2.J39S7,可以使用Keil软件烧录或STM32 ST-LINK Utility烧录工具,但是对于主控采用STM2F103CBT6芯片的,STM32CubeProgrammer工具不能下载,可以识别到烧录器以及固件版本,序列号只能显示单字符7,感觉是这里异常导致不能下载程序。不影响使用命令行调用下载命令。例如在Arduino IDE环境下,通过命令行执行烧录,不知道是不是买的这颗芯片的个别体质问题还是其他原因,使用合宙的Air32F103CBT6芯片的可以正常显示序列号,并且可以使用STM32CubeProgrammer工具直接下载和配置OB选项。
    🚩2. 合宙的Air32F103CBT6芯片支持烧录ST-LINK/V2固件,当作STM32 调试和下载器使用以及对stm8的程序下载功能(在线调试功能表现差劲)。

    在这里插入图片描述
    在这里插入图片描述

    🔰在STM32 ST-LINK Utility软件里烧录器序列号显示:
    在这里插入图片描述

    在这里插入图片描述

    • 🌿通过STM32CubeProgrammer工具升级到V2.J39S7之后,还可以使用stsw-link007工具升级到最终的V2.J40.S7。当然你可以直接使用stsw-link007工具来直接升级到V2.J40.S7
      在这里插入图片描述

    🌴升级之后的版本:

    在这里插入图片描述

    • 🔰使用STVP工具,给stm8程序烧录:
      在这里插入图片描述

    • ✅支持IAR软件在线调试

    • 🔨也还可以通过STM32CubeProgrammer工具降级到V2.J39S7
      在这里插入图片描述

    2.将烧录器烧录成带虚拟U盘和虚拟串口ST-LINK/V2-1(不支持stm8烧录)

    • 🍂通过STM32 ST-LINK Utility工具烧录固件STLinkV2.J28.M18.bin
    • 🍂通过其工具STM32 ST-LINK UtilityST-LINK升级功能,升级到V2.29.M18.
      在这里插入图片描述
    • 🔧也可以使用stsw-link007工具升级到最新固件版本:V2.J41S7
      在这里插入图片描述

    在这里插入图片描述

    • 🛠使用stsw-link007工具升级。
      在这里插入图片描述

    • 🎋也可以使用STM32CubeProgrammer工具为烧录器升级固件,不过当前升级的固件版本还没有stsw-link007工具升级的固件版本高。
      在这里插入图片描述

    • ⚡升级后可以使用STM32CubeProgrammer工具给STM32下载程序。
      在这里插入图片描述

    3. 刷DAP-LINK固件

    🎉DAP-LINK是开源的,网上可以找到很多STM32f103刷dap-link固件。烧录和调试接口和ST-LINKV2的SWD接口共用,所以也可以用来刷DAP-LINK固件,来当DAP-LINK使用。在立创开源广场也有同类开源项目。
    • 这里演示烧写合宙提供的dap固件:air32_daplink.hex
      在这里插入图片描述在这里插入图片描述
    • 🔖刷完固件后,显示的设备信息:
      在这里插入图片描述
    • ⏳DAP-LINK,Keil烧录,参数设置。
      在这里插入图片描述
    • STM8和STM32的ST-LINKV2在线调试器/编程器官方说明文档:https://www.st.com/resource/en/data_brief/st-link-slsh-v2.pdf
    • STSW-LINK009为Windows 7、Windows 8、Windows 10签署的ST-LINK、ST-LINK/V2、ST-LINK/V2-1 USB驱动:https://www.st.com/zh/development-tools/stsw-link009.html
    • 🎈STM32CubeProgrammer烧录工具:https://www.st.com/zh/development-tools/stm32cubeprog.html
    • 📍STSW-LINK007升级工具:https://www.st.com/zh/development-tools/stsw-link007.html
    • 📌 STM32 ST-LINK Utility烧录和固件升级工具:https://www.st.com/zh/development-tools/stsw-link004.html

    ⚡其固件请前往立创开源链接附件下载,这里不提供。

    • 🔰相关原理图参考:

    ⚡官方ST-Link V2原理图:

    链接:https://pan.baidu.com/s/1nn_U7SOybdUTGptBbAKUTA 
    提取码:q3no
    
    • 1
    • 2

    🛠J-LINK-OB 固件和ST-LINKv2固件互换

    • ✨经测试发现,J-LINK-OB 固件和ST-LINKv2固件互换,仅针对ST品牌的STM32F103CBT6能友好的支持固件互转,在使用极海的APM32F103CBT6以及合宙的Air32f103cbt6同样的方式多次尝试刷写都失败了。如果想刷J-Link固件,就不能使用此方法,直接烧录Hex固件的方式,请参考文章末尾的开源项目地址,内附J-LINK固件。
    • 🔖刷写工具:STLinkReflash固件升级转换:https://www.segger.com/downloads/jlink#STLink_Reflash

    • 🔨刷写操作很简单:打开刷写工具,分别依次输入A接受许可,然后按下数字1,回车,进行固件升级转换。
      在这里插入图片描述

    • 🌿通过刷写工具升级成J-Link ,是不带虚拟串口的。仅支持SWD调试方式,不支持JTAG方式。

    在这里插入图片描述

    ⛳开源地址

    • ✨ST-LINK/V2、ST-LINK/V2-1、DAP-LINK固件文件一同发布在立创开源工程附件资源里面,需要自取。
      在这里插入图片描述
    • 📌立创EDA:https://oshwhub.com/perseverance51/st-linkv2-xia-zai-qi
    • 📍J-LINK OB固件参考:https://oshwhub.com/dean/stlink_uart
    • 📍STSW-LINK009:为Windows 7、Windows 8、Windows 10签署的ST-LINK、ST-LINK/V2、ST-LINK/V2-1 USB驱动:https://www.st.com/zh/development-tools/stsw-link009.html
  • 相关阅读:
    Pikachu漏洞练习平台----验证码绕过(on server) 的深层次理解
    Python编程 数值类型 布尔类型
    10分钟了解数据架构、数据模型
    Taro3的编译配置
    Springboot毕设项目马寨工业园区招商管理系统e0539(java+VUE+Mybatis+Maven+Mysql)
    微信小程序快速入门【四】
    SQL基础培训-SQL开发思路畅谈与开发规范
    Nexus下载网盘地址,免费哦,烦要币的
    SSO 基于token vue + element ui spring boot前端分离
    【C语言】指针的进阶(三)—— 模拟实现qsort函数以及指针和数组的笔试题解析
  • 原文地址:https://blog.csdn.net/weixin_42880082/article/details/127963348