五 配套DAPLINK仿真器

其内部PCB如下图所示:

参考了官方DAPLink原理图,在其基础上,增加了3.3V和5V的限流输出,并在各类对外引脚上增加了TVS防护。支持SWD+一路串口,专门设计并量产这个作为大家学习 天空星·筑基学习板 的配套调试器。
其和 天空星·筑基学习板 连接的图片如下图所示。

5.1 概述
本产品是基于 ARM 官方开源项目 DAPLink 优化设计的调试烧录器。主控采用高性能 STM32F103CBT6为主控芯片,具备 128KB 大容量 Flash,完美支持 DAPLink 的所有高级特性。
它不仅是一个调试器,更集成了 USB转串口 和 U盘拖拽下载(当前仅添加了STM32F407的下载算法) 功能,是嵌入式开发(STM32, GD32, HC32等)的绝佳搭档。
- 三合一功能:集 调试仿真 (CMSIS-DAP) + 虚拟串口 (CDC) + 拖拽下载 (MSC) 于一身。
- 真·免驱:采用微软 WINUSB 协议,Win10/Win11/MacOS/Linux 系统插上即用,告别繁琐的驱动安装。
- 多重保护:
- 过流保护:内置 500mA 自恢复保险丝,保护您的电脑 USB 接口。
- 静电防护:USB 接口及所有 IO 调试接口均配备 TVS/ESD 保护二极管阵列,抗静电干扰,从容应对干燥环境。
- 支持广泛:完美支持 Keil MDK, IAR, PyOCD, OpenOCD 等主流开发工具。
- 固件可升级:基于 CBT6 大容量芯片,支持通过 U 盘模式拖拽更新调试器自身的固件(上电前把简牛座那里的)。
- 带SWO功能:由串口实现,最高支持2M,建议平时用1M,如果需要更稳定的trace,需要跟换其他版本的固件,在硬件设计上,我们的daplink是兼容其他两种固件的。
5.2 引脚说明
在嵌入式调试中,接线正确是第一步。很多初学者遇到的 连接失败 ,80%都是因为线序接反或电平不匹配导致的。请严格按照下表将 DAPLink 与 天空星(或其它目标板)连接。
本DAPLink仿真器的IO只支持3.3V电平,如果你单片机的IO电平不是3.3V,请不要链接,否则可能会烧毁。
| DAPLink仿真器 引脚 【与面板对应】 | 目标板 引脚 | 说明 |
|---|---|---|
| RST | NRST | 复位引脚。用于控制目标芯片复位。在下载程序或调试时,DAPLink通过拉低此引脚使MCU进入复位状态,可以强行复位进入低功耗状态的单片机,如果各位在调试器设置界面选择为引脚复位则需要连接本脚。 |
| 5V0 | 5V | 5V电源输出。直接取自USB电源,经过了限流保护。可为天空星开发板(或者你的其他板子)供电。 |
| DIO | SWDIO | 串行数据线 (Serial Wire Data I/O)。SWD协议的双向数据信号线,用于调试器与芯片内核进行数据交互。 |
| CLK | SWCLK | 串行时钟线 (Serial Wire Clock)。SWD协议的时钟信号,由DAPLink产生,作为时钟来确定数据传输的时序。 |
| SWO | TRACESWO | 串行线输出 (Serial Wire Output)。用于ITM调试信息输出,可代替串口打印,实现更高速、非阻塞的变量追踪(Trace)。时钟最高2M,但建议各位使用1M的时钟,这个是用内部芯片STM32F103CBT6的串口来实现的,没有其他商业调试器那么稳定。 |
| 3V3 | 3V3 | 3.3V电源输出。由DAPLink仿真器的内部LDO稳压产生,可为小功耗目标板供电,或作为目标板IO电压的参考基准。 |
| GND | GND | 电源地。必须连接 这是信号传输的基准电平,不共地会导致通讯失败。 |
| GND | GND | 备用接地引脚,可共用来增强回路稳定性。 |
| TXD | USART_RX | 虚拟串口发送。连接目标板的 RX 端。DAPLink发出的数据,目标板来接收。 |
| RXD | USART_TX | 虚拟串口接收。连接目标板的 TX 端。目标板打印的 printf 数据,由此引脚进入DAPLink并传至电脑。虽然说是虚拟串口,初学者就把他当成普通串口来理解就可以。 |

5.3 使用说明
5.3.1 硬件连接与状态确认
- 首先确保你的daplink连接电脑可以正常看到一个U盘弹出来,名称为
LC DAPLINK容量为63.9MB左右,这只是虚拟出来的,并不是它真的有这么大。 - 根据5.2章节的引脚说明,把你的开发板和DAPLINK仿真器连接好。如果是天空星系列的话直接对插就好了,因为本DAPLink仿真器的引脚定义就是对照着天空星的2x5p调试口来设计的。
- 打开你对应的IDE,进行下载测试。
5.3.2 Keil MDK配置(以MDK V5.xx为例)
连接好硬件后,需要在 Keil 中进行正确配置才能下载程序。
Step 1:打开工程配置
打开你的 Keil 工程,可以参考2.1.7 进行编译测试小节中打开的那个工程。
点击菜单栏的 Options for Target 按钮(魔术棒图标 🔧),下图所示1️⃣的地方,2️⃣先不用管

Step 2:配置调试器
- 切换到 Debug 选项卡
- 在右侧的下拉框中选择 CMSIS-DAP Debugger,如果你是其他调试器的话就需要选择你实际使用的调试器选项
- 点击右边的 Settings 按钮

Step 3:验证调试器连接
在弹出的 Cortex-M Target Driver Setup 窗口中,先选择菜单栏的第一个Debug,然后选择当前使用的调试器,也就是LCKFB DAPLink CMSIS-DAP,正常情况下,在SW Device那里的IDCODE会显示一个ID值,对于天空星STM32系列核心板来说,这个值是0x2BA01477。
- 假如你左边的
CMSIS-DAP-JTAG/SW Adapter选项框里面没有对应调试器的话,可能是调试器和电脑之间没有连接好,先重新插拔试一下,最好直接接电脑的USB口,不要经过USB扩展坞。 - 假如你右边的
SW Device里面没有IDCODE显示出来,那可能是调试器和天空星开发板之间没有的连接不稳定或者接错了,同时,如果线材质量不够好的话,也需要把MAX Clock的速度要降低一点,可以从10MHz先降到1MHz试试。 - Port接口这里我们选择SW方式,但是我们天空星的板子引出来的2X5P排针中,我们只引出了SWD用到的DIO和CLK,相比JTAG下载方式占用的引脚更少。

TIP
检查项:
| 项目 | 正常状态 | 异常处理 |
|---|---|---|
| 调试器名称 | 显示 "LCKFB DAPLink" 或类似 | 检查 USB 连接、驱动安装 |
| IDCODE | 显示 "0x2BA01477" 或类似 | 检查 SWD 连线、目标板供电 |
| Port | 选择 SW(SWD 模式) | - |
TIP
IDCODE 0x2BA01477 是什么?
这是 ARM Cortex-M4 内核的调试端口标识码。如果能看到这个值,说明调试器已经成功与芯片的调试模块建立了通信。不同系列的芯片 IDCODE 可能不同。
Step 4:配置 Flash 下载
然后我们切换到第3页Flash Download,将这里的 Reset and Run 给勾选上。目的是让我们的程序在下载后就立即运行,如果不勾选这个,你需要按一下板子上的复位按键单片机才会开始运行。最后在关闭这个对话框之前,一定要点击OK,否则之前设置的全部都不会保存,如果你没有点OK,而是直接关掉了这个对话框,那么本小节前面的全部设置都需要重新设置。

IMPORTANT
务必勾选 "Reset and Run"!
如果不勾选这个选项,程序下载后不会自动运行,需要手动按复位键。很多初学者下载成功后发现程序不运行,就是因为忘记勾选这个选项。
Step 5:下载程序
- 点击工具栏的 Rebuild(全编译)按钮,确保程序编译成功

- 点击工具栏的 Download(下载)按钮,将程序下载到芯片

下载成功的提示:
如果下载成功,Build Output 窗口会显示类似信息:
Erase Done.
Programming Done.
Verify OK.
Application running ...
Flash Load finished at xxxxxx2
3
4
5
5.3.3 使用串口
可能大家最常见的串口就是国产厂家WCH出品的CH340了,经久不衰。在进行嵌入式开发时,我们也经常用串口来打印信息,以前大部分人在进行开发时,可能会接两个设备,一个调试器,一个串口工具。我们这个DAPLink仿真器就是二合一的产品,电脑接一个设备就能同时支持串口和SWD的调试下载功能。
5.4 升级固件
本 DAPLink 采用了 Bootloader + App 的架构。当遇见了 BUG 或者 DAPLINK官方 发布了更稳定的固件,或者你需要切换不同功能的固件时(例如切换为支持不同芯片的拖拽下载算法),可以通过以下方式升级。
警告:虽然 DAPLink 有保护机制,但在升级固件期间,请勿从电脑上拔掉 DAPLink,以免造成固件损坏需要重新烧录 Bootloader。
升级步骤:
- 进入 Bootloader 模式:
- 从电脑上拔掉 DAPLink,让之断电 。
- 短接 调试接口端的
RST引脚和GND引脚(或者使用杜邦线短接简牛座上对应的两个针脚)。 - 保持短接状态,将 USB 插入电脑。
- 此时,电脑上会出现一个名为
MAINTENANCE(维护模式) 的 U 盘,而不是平时的LC DAPLINK盘。 - 松开
RST和GND的短接。
- 拖入固件:
- 找到官方提供的最新固件文件(通常是
.hex格式,如stm32f103xb_stm32f407ve_if_crc.hex)。 - 直接将该文件 复制/拖拽 到
MAINTENANCEU 盘中。
- 找到官方提供的最新固件文件(通常是
- 自动重启:
- 文件传输完成后,U 盘会自动消失,DAPLink 会自动断电重启。
- 再次出现名为
LC DAPLINK的 U 盘,即表示升级成功。
5.5 常见问题
【TODO】等待更新。