一、项目介绍
前段时间有个项目需要调试ARM7内核的芯片,由于手头没有合适的调试器以及对DAPLink调试器知识的匮乏,导致项目结束也未能调试成功。 在参考了STLink、DAPLink以及开源平台上众多大佬的项目之后,最终决定制作这样一款调试器。
在结合了各方的优缺点之后,期望制作的调试器具有以下特点:
- 使用TYPE-C接口,并且支持 C to C 数据线。
- 尺寸尽可能迷你小巧。
- 支持虚拟串口。
- 支持DAPLINK固件。
- 兼容支持STLINK固件。
二、项目设计思路
2.1 硬件
硬件部分的设计参考 Arm 开源的 DAPLink 仓库,和开源平台上众多大佬开源的 ST-Link v2.1 。结合了其特点绘制了该版本DAPLink。
2.2 软件
软件代码参见 开源仓库 ,可以自己下载源码进行编译。也可以直接使用 DAPLink 编译好的固件即可。最新版本固件参考发布链接: https://github.com/ARMmbed/DAPLink/releases/latest
三、方案介绍
3.1 调试器系统连接框图
调试器作为解释GDB的调试指令发送给目标处理器执行的中间设备。通过 USB TypeC 连接到PC端,并且使用接线端子连接到目标设备。从而执行解析GDB的调试指令并发送给目标处理器执行。
3.2 原理图
原理图设计主要组成部分由供电、MCU最小核心系统、指示灯、接口几部分。为了节约PCB尺寸,背面的虚拟串口座的两个PAD引脚是复用的。注意先不要焊接,烧录好固件后再焊接。
3.2 PCB效果图
正面放置的三大器件和指示灯,容易手工焊接,电阻和电容与其它器件统一放置在背面,方便进行回流焊。建议先贴片焊接完背面的器件,再使用烙铁或风枪焊接正器件。
注:有一些DRC错误是有意为之,可以忽略。
正面3D渲染效果图
背面3D渲染效果图
四、主要器件介绍
STM32F103CBT6
STM32F103CBT6 是一款中密度性能,ARM Cortex-M3 32位微控制器,采用 48 引脚的 LQFP 封装。它集成了 72MHz 运行频率的高性能RISC内核,高速嵌入式存储器,以及连接至2条APB总线的多种增强型I/O与外设。
STM32F103CBT6 具有12位模数转换器,计时器,PWM计时器,标准与高级通讯接口。多种省电模式允许用户设计低功耗应用。
文档链接:https://www.st.com/resource/en/datasheet/stm32f103cb.pdf
AMS1117-3.3
AMS1117-3.3 是一种广泛使用输出电压为 3.3V 的正向低压降稳压器,适用于高效率线性稳压器。在该项目中用于电压转换,将USB输入的5V电压转换为 MCU 所需的 3.3V 输入电压。考虑到要制作迷你 DAPLink 因此采用 SOT-89-3 封装的版本。
文档链接:https://media.digikey.com/pdf/Data Sheets/UTD Semi PDFs/AMS1117.pdf
五、PCB绘制打板介绍及遇到的问题和解决方法
- 使用 KiCAD7 绘制板框时,由于四周有圆弧角,其中有一个圆弧角与线段有一点点重叠。导致设计规则检查时有错误。该问题搜索了好久也未能解决,最终无意间发现了这个问题是重叠导致的。有点儿坑人!
六、DAPLink固件烧写
刚焊接好的 DAPLink 是没有固件的,也就无法作为调试器来调试单片机。因此我们需要给焊接好的调试器烧写固件。烧写固件的步骤如下:
6.1 焊接SWD接口连线,只需要在调试器背面焊接4根线即可,即:3.3V、GND、DIO、CLK。如下图所示:
6.2 将焊接好的SWD接口,连接至另一个调试器的输出口,例如我使用的是 JLink。当然您也可以使用 ST-Link、DAP-Link、WCH-Link等其它设备。这里不作展开,有需要自行搜索相应烧录教程。
6.3 将 JLink 插入电脑,运行 JFlash。
JFlash烧录教程可以参考 J-flash 的简易使用教程_开水烫白菜的博客-CSDN博客
6.4 使用 JFlash 新建工程,并加载 DAPLink 固件,如下图所示:
注意:创建工程时目标芯片别选错,否则固件烧录会失败!!!
6.5 连接目标,选择 Targer
-> Connect
如果能正常连接成功,则表示PCB焊接正常,否则需要检查PCB焊接是否有误。
6.6 选择 File
-> Open data file...
选择下载的 DAPLink BootLoader固件。固件下载地址
6.7 前面的步骤都成功的话,按下 F6
键即可开始烧录。烧录完成后,下方的 Log 窗口打印 烧录且校验成功的话表示成功。
6.8 到了这一步就可以取下焊接的 SWD 接线,并使用 USB-C 线接到电脑,这时电脑上会显示 有新的U盘插入 。接下来只需要将 DAPLink 固件的 bin 文件拖入 U盘根目录即可,以后都可以使用U盘更新固件了!
6.9 恭喜你,调试器可以正常使用了!尽情享用吧!
七、实物展示
7.3.1 正反面照片
7.3.2 全家福
八、结语
第一次使用 Scheme-it 网页版绘制的设计框图,初步体验下来感觉还是比较容易上手的。功能也比较丰富,可以绘制电路图,UML图等各种图表。希望得捷能进一步提升稳定性。
最后,感谢硬禾学堂联合 DigiKey 推出的这次活动!此次活动带给我许多宝贵实践经验和机会,在此表示感谢!