
SWD-WHISPERER(DAPLink)
简介
一个简单的使用AIR32F103CBT6的DAPLink,但是重新编译了官方固件,支持SWD, JTAG, USB CDC, ITM Trace/SWO 主频216MHz。
简介:一个简单的使用AIR32F103CBT6的DAPLink,但是重新编译了官方固件,支持SWD, JTAG, USB CDC, ITM Trace/SWO 主频216MHz。开源协议
:CERN Open Hardware License
描述
⚠️注意
- 本工程只支持AIR32F103CBT6,CC没测试过,其他家的xx32不支持:(
- 本工程使用KiCad绘制,所以说没有lceda无条件免费打板,原理图预览在最下面,还请各位注意。
- 本工程未测试烧录STLink固件 应该不能当成STLink用
- 因为编译的是仅air32f103xb_if固件,在正常工作模式下没有U盘DAPLink出现,但是可以正常Debug/Flash
- 因为没钱 还没做合宙官方的那个板子的移植 但是理论上烧进去也可以用 只不过脚位特别尴尬罢了:(
- 工程中使用了IOsetting / air32f103-template 库,十分感谢:)
😺这是什么
又是一个使用合宙LuatOS AIR32F103CBT6 制作的DAPLink
输入Type-c 输出2.54 5x2P 排针。
通过自己适配编译DAPLink(2023年的)固件,让我们可以用SWD, JTAG, USB CDC串口, ITM Trace/SWO功能。
☄️制作说明
- 首先使用Gerber(附件内)从JLC打板子,已经增加了客编位置(如果你想自己从KiCad源文件导出也行)
- 然后按照BOM表里面直接焊好就可以了,其中R9那个1.5K的上拉电阻推荐不焊,因为固件使用了片内上拉:)
- 如果你比较着急,可以从下面附件下载固件,使用 [插入你喜欢的烧录方式] 直接烧录
- 如果你想拥有属于自己的DAPLink固件的话,可以到这个Release去找对应的编译教程,然后自己编译固件
- 烧录进去了以后,你就可以在Keil/设备管理器里面看到DAPLink了
- 调试你自己的设备
- 没了
🔥烧录指南
- air32f103xb_bl.bin 烧录到 0x08000000
- air32f103xb_if_crc.bin 烧录到 0x0800c000
- 烧录排针在这个位置 字母缩写: V:VCC(3.3V) D:SWDIO G:GND C:SWCLK

你可以使用1.27间距的4P钻石头烧录排针,或者是板子焊好,插上USB以后直接向上面插两根杜邦线来烧录。 - 如果你不小心锁死了芯片,背面有一个BOOT0短接焊盘,短接以后就可以重新烧录了。
🌟项目亮点
- 支持JTAG功能调试 原项目删掉了:(
- 支持ITM Trace/SWO 功能 原项目根本就没加(很需要printf的时候但没串口用了的终极解决办法)
- 硬件3.3V防倒灌电流(加了一个简单的功率开关
- 主频216M的AIR32专属功能 让我们有了更强悍的外设 ;)
👀说了那么多,让我们看点演示吧!
1.首先是无聊的SWD调试


2.JTAG时间


3.还算好用的USB CDC串口

4.ITM Trace/SWO
在使用SWO功能之前 需要在Keil里面设置正确的核心频率

然后还得增加一些肮脏的测试代码(我这里就图快了)
然后你就可以不仅仅看到轻松的printf 同时可以看到中断切换 还可以看到进出中断的具体时间点 :D

太棒了家人们 这不串口printf吗 几天不见这么拉了(滑稽)
5. 216MHz 主频

这不是随便打印出来的 这是真的频率 你可以自己验证(小声)
🛠️如果你还是想自己编译固件的话
如果还是不会的话 手把手的方法明天再补:(
PCB实拍图片


🪄原理图预览
其实你可以在下面下载的:(

设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。










