本文主要是介绍【开源电路】ST-LINKv2/V2-1/DAP/J-LINK-OB 烧录器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【开源电路】ST-LINKv2/V2-1/DAP/J-LINK-OB烧录器(已验证)
- ST-LIN V2(STM8/STM32) :可调试STM8和STM32.


- ST-LINK V2-1(STM32+VCP+MASS):仅支持调试STM32,带虚拟串口以及虚拟磁盘.


- DAP-LINK(CMSIS-DAP):DAP-LINK是ARM官方开源的一款调试烧录器,以前叫CMSIS DAP,现在改名叫DAPLink,DAP-LINK可以调试Arm Cortex全系列MCU。


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


- 🔰该电路可以兼容
ST-LINK v2、ST-LINK v2-1、CMSIS-DAP、J-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来用,主要是用来给STM8和stm32烧录程序。没有考虑到会将固件升级到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主控,或者使用极海的APM32F103C8T6,IAR和ST 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]错误信息,有时多点几次又能成功进入调试。如果需要将Air32F103当ST-LINK/V2使用特别注意这一点。当通过stm8专用下载软件:STVP进行下载,每次硬件连接后需要点击3次,才能下载成功,在不重复拔插情况下,后面可以连续下载成功。主控使用STM32F103CBT6不存在以上问题。
- 📽采用主控使用
STM32F103CBT6对stm8的在线调试功能演示:


🌼固件烧写和固件升级说明
- 🖋ST-LINK/V2、ST-LINK/V2-1差异说明:

- 🌿J-LINK-OB需要刷特定的固件才能兼容引脚,可以参考该开源工程:
https://oshwhub.com/dean/stlink_uart
1. 将烧录器烧写成支持stm8和stm32固件ST-LINK/V2。
- 将原始固件:
STLinkV2.J16.S4.bin烧录进去.
- 升级固件。升级工具可以选择:
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
-
🎈Stlink-Bootloaders包含(V2.0、V2.1):
https://github.com/Krakenw/Stlink-Bootloaders

-
📓NUCLEO_8S208RB_STM8Nucleo_64开发板中下载部分的原理图如下:

-
📍更多可以参考其他教程《修复ST-LINK V2下载器 | ST-LINK V2下载器烧录DAPLink固件》
🛠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方式。

-
🔖刷写完成后,在Keil中,显示的固件信息:
J-Link STLink V2 compiled Aug 12 2019 10:28:03

-
🔨
从J-Link固件刷回ST-Link:



-
👉如果刷写失败,可以参考文章《SEGGER官方提供 将ST-Link固件升级到成J-link OB固件》
⛳开源地址
- ✨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
这篇关于【开源电路】ST-LINKv2/V2-1/DAP/J-LINK-OB 烧录器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!




