最近有空,搞了个ST-link V2.1的版本,相比V2的版本,好处就是有了虚拟串口,可以直接打印同时信息,另一个就是下载firmware,不需要使用借助其他工具,直接把bin文件(不支持hex文件)拖拽到可移动磁盘,即可完成下载固件功能,很方便。
1支持官方固件升级
2/支持keil和iar或者其他的开发环境,下载速度有所提高,但说实话,不如jlink快,后续会有一个jlink V9.7的相关文档
3/带有串口调试打印的功能,不需要单独在外接一个串口调试工具,省去一个USB端口,当然也可以用于其他的串口调试和测试使用
4/拖拽烧录的功能,直接连接目标MCU后,链接成功后会生成一个UNDEFINED的可移动磁盘,该磁盘的容量是目标MCU的容量,如果未正确检测到目标MCU,则会显示stlink v2.1本身的容量和使用情况的可移动磁盘,打开该磁盘,《DETAILS.TXT》文件是当前stlink本身固件的编译版本信息,《FAIL.TXT》为没有检测到目标MCU的说明文档。
正确识别目标MCU后,可将bin文件拖拽到该磁盘,实现自动下载的功能,不识别hex文件,bin文件可以下载
5/可更改为DAP-LINK(CMSIS-DAP),这个是arm开源的下载调试器,支持所有arm内核的MCU,有兴趣的朋友可以在https://github.com/ARMmbed/DAPLink网站查看相关源代码,功能已经实现,稍后提供下载
6/原理图如下
https://download.csdn.net/download/xiayangchun/11541808
7/更改为DPA-LINK如下:可参照第5点,下载源码修改接口然后编译,我这里提供已经编译好的文件
下载bootloader文件《stm32f103xb_bl_crc.bin》,插拔USB后,会出现一个可移动磁盘《MAINTENANCE》,这个容量是64M,虚的,不是真实的,然后把《stm32f103xb_stm32f103rb_if_crc.bin》文件拖拽到可以的磁盘中,设备会自动安装固件,等待安装完成后,可移动磁盘名字为《DAPLINK》,我这里的《stm32f103xb_stm32f103rb_if_crc.bin》只能拖拽下载F103RB的目标MCU,如果是其他MCU,需要更换这个bin文件,目前ARM官方提供可拖拽或复制下载的MCU如下:《stm32f103xb_stm32f072rb_if 》《stm32f103xb_stm32f103rb_if 》《stm32f103xb_stm32f207zg_if 》 《stm32f103xb_stm32f334r8_if 》《stm32f103xb_stm32f401re_if 》《stm32f103xb_stm32f411re_if》《stm32f103xb_stm32f429zi_if》 《stm32f103xb_stm32f746zg_if 》 《stm32f103xb_stm32l476rg_if》 《stm32f103xb_ublox_evk_odin_w2_if》
以上是受限制MCU的拖拽功能,但不影响下载调试功能,也就是说使用我提供的《stm32f103xb_stm32f103rb_if_crc.bin》只能拖拽下载F103XB的,但可以正常下载和调试其他的MCU,不仅限于ST的,也可以是其他ARM内核的MCU,也带有串口功能,可以用于调试打印信息,参照下图:下载调试的速度和STLINK差不多