简介:
arm-daplink仿真器是 ARM团队推出的开源仿真器项目,支持仿真接口SWD和JTAG,还有虚拟UART串口,所有arm内核的芯片皆可仿真烧录。支持使用的IDE有MDK和IAR。开源代码托管在了github仓库中,仓库地址:https://github.com/ARMmbed/dapjs
daplink没有一个统一的硬件标准,支持的主控有很多,一般采用NXP或ST的芯片。stlink,jlink等烧录器的硬件都可以刷入固件变为一颗daplink仿真器。由于SWD和JTAG时序完全由IO模拟生成和解码,整个代码架构很清晰,可自由伸缩、修改。定制一个和自己硬件匹配的源码也不难做到,这样即便一个最小系统板也刷成daplink仿真器,下面便来设计一个自己的DAPLINK烧录器。
硬件参考电路:
- 烧录器主控:stm32f103cxt6
- USB口:Type-C
- USB枚举方式:PNP三极管控制低电平枚举
电路模块:
USB:
USB连接器电路,由三极管枚举控制1.5K上拉电阻,数据线串联两颗22R的匹配电阻,采用Type-C接口可正反插使用。
MCU-POWER:
USB口5V输入接入一颗1206封装的自恢复保险丝,用于避免电路短路引起的损坏。然后使用一颗RT9193-LDO(5V-3.3V)给仿真器电路供电。
MCU-CTRL:
stm32f103cxt6芯片最小系统电路。包含复位和boot选项等
XTAL:
8MHZ晶振,给主控芯片提供驱动时钟
DOWNLOAD:
预留GND,SWD,CLK三线用于给仿真器刷入固件使用
STATUS-LED:
两颗LED指示灯用于显示DAPLINK仿真器的工作状态
CONNECT:
仿真器对外连接端口,包含虚拟串口、SWD接口、对外供电接口(5V,3.3V)等
关键IO清单:
- LED-COM:连接成功指示灯
- LED-RUN:正在运行指示灯
- SERIALRX/TX:虚拟串口接口(需要连接到芯片的UART口上)
- SWDIO_OUT/IN:SWD数据端口(两线中间串联一颗100R电阻)
- SWCLK:SWD时钟端口
- USB_ENUM:USB枚举控制
- RESET:复位端口(正常下载这个可以不使用)
来源:CSDN
作者:yscxy_
链接:https://blog.csdn.net/qq_16455677/article/details/103885266