wuxx / nanoDAP-HS

DAPLink High Speed
GNU General Public License v3.0
114 stars 25 forks source link

中文 English

DAPLink-HS 用户手册

产品介绍

DAPLink-HS仿真器是缪斯实验室推出的高速DAP仿真器,使用USB 2.0 High Speed传输数据,基于开源DAPLink实现,支持U盘固件升级,拖拽烧录以及WebUSB烧录。相比当前市面上流行的jlink/st-link,烧录速度快,不丢固件,无版权风险,功能丰富,外观简洁精致,能较好的满足电子工程师进行日常的开发调试下载需求。

产品特点

MDK配置说明

将DAPLink 插入到PC的USB口中,若一切正常,则在设备管理器中会出现一个虚拟串口和USB-HID设备,如图所示
usb_device

仿真器选择

在 Option -> Debug 一栏中选择CMSIS-DAP Debugger
debug_select

目标检测

在 Option -> Debug 菜单中点击Settings 进入配置菜单,如图所示,假若仿真器已经正常连接,则在左侧窗口会识别出仿真器的相关信息,假若使用SWD接口进行调试烧录,则请将接口配置成和左侧红框处一致。假若此时目标单板已经正常连接,则在右侧红框出会识别出目标单板的相关信息。
target_id1

烧写算法

对于特定的目标芯片,您需要为其配置特定的烧写算法,以stm32f10x系列为例,如图所示:
flash_algorithm

复位设置

一般情况下,您或许希望烧写完芯片之后立即开始运行,我们的DAPLink经过软件定制,支持复位后立即开始运行,您需要在Debug 选项中进行配置,如图所示:
reset_select

DAPLink使用

拖拽烧录

将DAPLink插入到PC中,正常情况下,会出现一个新的U盘,如图所示。 DAPLink支持U盘拖拽烧录,只需将hex或者bin文件拖拽到U盘中,即可完成芯片的烧录。
注意:每一种固件只支持一种芯片的拖拽烧录,具体支持拖拽烧录的芯片请查看firmware目录,您可根据自己的需求选择升级不同的固件。

固件升级

DAPLink 实现了一个bootloader并且提供了U盘功能,这使得固件升级极为方便。具体固件升级的操作过程如下:

  1. 使用杜邦线将nRST和GND短接。
  2. 将DAP插入到PC中,预期应该会出现一个名为MAINTAIN的U盘。
  3. 此时可以将nRST和GND断开。
  4. 将新的固件拖动到MAINTAIN U盘中,即可自动完成固件升级。

OpenOCD使用

请查阅此处,已经将常用的操作封装成脚本,只需双击脚本,便可完成目标芯片的读、写、擦除,由于目标芯片的平台众多,demo中目标为STM32F1系列的芯片,您可参考修改成支持您的平台。

产品链接

nanoDAP-HS高速DAP

FAQ

Q: 在win7系统下会提示无串口驱动,应该如何安装?

请取此目录下的可执行文件 (https://github.com/wuxx/nanoDAP-HS/tree/master/driver/windows7_serial_driver) 直接安装即可。

Q: 烧录失败,提示 RDDI-DAP ERROR,应该如何解决?

由于仿真器烧录速度较快,杜邦线之间的信号会产生串扰,请尝试换短一些的杜邦线,或者把紧密连在一起的杜邦线拉开,也可以尝试降低烧录速度,一般即可正常解决。

Q: 无法检测到目标,提示communication failure,应该如何解决?

请首先排查硬件接线是否正确(GND, CLK, IO, 3V3),然后检查目标板电源是否正常,若目标板由仿真器供电,由于USB最大输出电流只有500mA,请排查是否可能目标板供电不足。

Q: CMSIS-DAP/DAPLink目前支持哪些芯片的调试烧录?

典型的使用场景为对单片机进行编程调试,理论上Cortex-M系列的内核均可以使用DAP进行烧录调试,典型的芯片如STM32全系列的芯片,GD32全系列,nRF51/52系列等。

Q: DAPLink目前支持哪些芯片的U盘拖拽烧录?

目前DAPLink支持拖拽烧录的芯片并不算特别多,将来随着ARM社区支持力度将会增加更多芯片支持,假若您有自己的芯片平台需要支持拖拽烧录,可以参考目前已有的的代码作修改。

Q: 在linux下可以使用DAP仿真器进行调试吗?

linux下可以使用openocd配合DAP仿真器进行调试,openocd是目前全世界最流行,最强大的开源调试器上位机,由于openocd是跨平台的,你也可以在windows下使用openocd,通过编写适当的配置脚本,可以实现对芯片的调试、烧录等操作。由于涉及内容较多,更多说明请读者自行搜索,或者留言咨询。

有任何问题或者建议,请在本仓库的Issues页面中提出,我们会持续跟进解决。