如何自制daplink_【指南】如何DIY基于STM32的DAP仿真器

本文介绍了如何使用STM32F103C8T6自制CMSIS-DAP仿真器,作为替代商业调试器的开源解决方案。内容包括原理图和PCB设计,固件烧录以及测试过程,展示了从设计到制作的完整步骤,并提到了遇到的问题及后续修复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前写过一篇文章讲了怎么用常见的STM32F103C8T6核心板去做一个ST-Link,类似的方法也可以用于制作Jlink-ob之类的下载器/调试器/仿真器。但是,这些工具都有个问题——不开源,严格来说除购买正版以外的获取途径都是不正规的。这次为科协设计开发板配套的调试器,肯定不能用这些东西,所以我的选择是——开源的CMSIS-DAP。

CMSIS-DAP是Arm官方推出的一款完全开放固件源码和相关硬件设计资料的调试/仿真/下载器,不过官方版本采用的芯片是lpc系列的,现在所使用的基于stm32的实现,基本都是基于国外一个叫做X893的大神移植到F103C8T6的版本,当然,DAP仿真器在国内已经有很多人做过而且开源了,所以我们直接模仿就可以。

这次的受害者是立创,原工程在这里

立创的这个实现,大致看了一下,改几处就好,一是接口当然要选择跟上时代的typeC;二是晶振太大了应该换成5032或者3225这样的小封装;另外其他阻容元件的封装和阻值略作调整。

首先,来画个板子

然后,KiCAD绘制的原理图如下:

290d15ffe757a28884116d8a3c62738b.png

KiCAD绘制的PCB如下:

f1755ffb96f6cf2bc6e98065c09fd755.png

3D预览效果

DAPLink 是一个开源的调试和编程接口,广泛用于嵌入式开发中。它支持 CMSIS-DAP 协议,并且可以通过简单的拖放操作来烧录程序到目标设备上。以下是关于 DAPLink 的使用方法及操作指南: ### 连接与识别 当你将搭载了 DAPLink 的开发板连接到计算机时,系统应该会自动识别它作为一个 USB 设备[^1]。在一些操作系统上,比如 Windows 7,可能需要手动安装串口驱动才能正常使用其串口功能[^2]。 ### 编程与调试 - **拖放编程**:一种非常直观的方式是直接将编译好的二进制文件(通常是 .bin 或者 .hex 文件)拖放到被枚举出来的 DAPLink USB 存储设备上。这通常会导致自动开始编程过程。 - **IDE 集成**:如果你更倾向于使用集成开发环境 (IDE),确保所选 IDE 支持 CMSIS-DAP 协议。许多现代 IDE 如 Keil uVision、IAR Embedded Workbench 和某些版本的 Eclipse 都提供了对 CMSIS-DAP 的支持。这样就可以通过 IDE 直接进行代码下载和调试。 ### 固件更新 随着时间推移,可能会有新的固件版本发布以修复已知问题或增加新特性。如果需要更新 DAPLink 固件,可以访问官方发布的站点下载最新版固件,并按照提供的说明完成更新流程。请务必遵循正确的步骤来避免任何潜在的问题。 ### 自定义配置 对于那些希望深入了解或者修改 DAPLink 行为的人来说,项目的配置文件主要位于 `source/daplink/cfg` 目录下。其中两个重要的头文件是: - `daplink_settings.h` - 包含全局设置选项,例如调试级别以及使用的接口类型等。 - `daplink_config.h` - 涉及具体的硬件相关配置,如 GPIO 引脚分配与时钟设置等信息[^3]。 ### DIY 实践 有兴趣自己动手制作基于 STM32DAP 仿真器的话,可以参考相关的开源项目指南。这类项目通常利用了像 STM32F103C8T6 这样的常见微控制器核心板来构建兼容 CMSIS-DAP 的调试/编程工具。这样做不仅能够加深理解底层工作原理,同时也提供了一个成本效益高的解决方案[^4]。 ```python # 示例代码暂无 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值