一款开源的无线CMSIS DAP ARM芯片下载调试器详细说明

news/2025/3/23 22:36:29/

文章目录

    • 概要
    • 1. 一般概念
      • 1.1 CMSIS—DAP的一般概念
      • 1.2 支持的芯片
      • 1.3 典型应用场景
    • 2. 原理图与尺寸图
      • 2.1 Host端(发送端)原理图
      • 2.2 Target(目标)端原理图
      • 2.3 Host尺寸图
      • 2.4 Target尺寸图
      • 2.5 实物图
    • 3. 使用方法
      • 3.1 连接方法
        • 3.1.1 整体连接
        • 3.1.2 Target与目标板连接
      • 3.2 使用步骤
        • 3.2.1 HOST端准备
        • 3.2.2 TARGET端准备
        • 3.2.3 配置调试环境(以keil MDK5为例)
      • 3.3 下载与仿真演示
        • 3.3.1 下载
        • 3.3.2 仿真
    • 4. 常见问题
      • 4.1 问题1
      • 4.2 问题2
      • 4.3 问题3
      • 4.4 问题4
      • 4.5 问题5

概要

DRG WL-CMSIS-DAP V1.0模块专用于Cortex-M内核下载、调试和仿真的开发学习。

1. 一般概念

1.1 CMSIS—DAP的一般概念

CMSIS-DAP是用于将调试端口连接到USB的调试单元的接口固件。
DRG WL-CMSIS-DAP V1.0是基于CMSIS-DAP的无线调试器,即插即用,速度快,支持虚拟串口。无线调试器包括HOST/TARGET,基于2. 4G无线通信,可对10m范围内的目标进行程序烧录和调试。

1.2 支持的芯片

WL-CMSIS-DAP支持的常见Cortex-M内核的Arm芯片,如stm32、gd32等。参考常见问题4。

1.3 典型应用场景

在某些有线仿真器不便调试的场景, 例如目标始终处于移动状态(飞行器、小车、机器人等),目标产品已经组装成产品形态,或者已安装在墙上或者高处等,此时使用无线调试器能较好的解决这些场景下的调试问题,有效提高
研发效率。

2. 原理图与尺寸图

2.1 Host端(发送端)原理图

在这里插入图片描述

2.2 Target(目标)端原理图

在这里插入图片描述

2.3 Host尺寸图

在这里插入图片描述

2.4 Target尺寸图

在这里插入图片描述

2.5 实物图

host与target的正面图
host与target的背面图

3. 使用方法

3.1 连接方法

3.1.1 整体连接

无线传输模块使用WiFi模块ESP8266, PA为25DB, 功率较高,可有效保证信号稳定性(WiFi使 用扩频原理实现无线通信,带宽和稳定性是其他无线通信方式如蓝牙、GFSK通信无法比的)
整体连接图
使用上和有线仿真器一样简单方便,无需使用上位机配置参数,也无需下载驱动。
使用TCP协议进行无线数据传输,全双工通信,带数据确认,丢包重传,能有效保证传输的可靠性和稳定性。

3.1.2 Target与目标板连接

TARGET端和目标板连接

3.2 使用步骤

3.2.1 HOST端准备

HOST端接入PC的USB端口,HOST端的USB生成了CMSIS DAP设备和CDC串口设备,CMSIS DAP设备可以在keil软件中配置作为下载器,CDC串口设备可以用串口调试助手打开作为一个串口设备,插入PC后显示如下图所示,
图4-1 设备管理器显示

3.2.2 TARGET端准备

当接受端和目标板连接之后,使用Type-C给接受端供电。当接受端和发射端都供电之后,3~5秒之后WiFi连接指示灯同时亮起,表示连接成功。

3.2.3 配置调试环境(以keil MDK5为例)

  • 配置路径
    启动keil5,在option→Debug栏中选择CMSIS-DAP Debugger
    配置路径
    配置路径
  • FLASH下载设置
    在这里插入图片描述

3.3 下载与仿真演示

3.3.1 下载

按照前面所述步骤配置好之后,即可下载。
下载图标

3.3.2 仿真

进入调试状态:单击下图红框中的图标,可以进入或退出调试模式
在这里插入图片描述
进入调试模式后,会多一个调试的快捷工具栏,如下
在这里插入图片描述
复位:使程序复位到初始位置等待重新运行。
在这里插入图片描述
单步调试:也就是每点一次按钮,程序运行一步。遇到函数会进入函数。点击图标按钮,或者按快捷键F11。
在这里插入图片描述
逐步调试:即逐行调试,也就是每点一次按钮,程序运行一行。遇到函数不会进入函数。点击图标按钮,或者按快捷键F10。
在这里插入图片描述
跳出调试:即跳出函数调试,也就是每点一次按钮,程序跳出一个函数,直到跳出最外面的函数(main函数)。点击图标按钮,或者按快捷键Ctrl + F11。
在这里插入图片描述
运行到光标处:即将光标放在某一处,点击该按钮(或Ctrl + F11),程序执行到光标的位置就会停止下来(前提是程序能执行到光标的位置)
在这里插入图片描述
跳转到当前运行到的暂停行:这个功能在程序停止运行时有效,主要的作用就是我们打开了很多文件,不知道将程序翻到哪里去了,点击改按钮即可知道我们的程序暂停在那个位置。
在这里插入图片描述
调试窗口:是在调试的时候可以查看的窗口,这里有别于平时编辑状态下的窗口。平时编辑时View菜单下面的选项很小,但是进入调试模式,这里就多了很多选项,这些选项就是调试时查看的窗口(见下图)
在这里插入图片描述
内存窗口OR变量窗口:选中一个变量,鼠标右键即可选在“Add ‘变量名’ to…”添加到指定的观察窗口
在这里插入图片描述
系统外设窗口:即外设寄存器数值查看窗口
在这里插入图片描述

4. 常见问题

4.1 问题1

发射机和接收机的各种LED状态表示什么含义?
在这里插入图片描述

4.2 问题2

无线通信会断开,导致调试失败如何解决?
由于无线调试器工作在ISM 2.4G公共频段内,而蓝牙、wifi、以及部分遥控器均工作在此频段内,此频段内的电磁干扰较大,有一定可能会造通信失败。且假若您在室内进行调试,室内的物体遮挡、天线的位置,通信的径效应均有可能导致连接断开。当检测到连接断开后,发射器和接收机间会自动重新建立连接,请观察连接状态指示灯,即可重新进行调试。假若通信频繁断开,请检查接收机的供电是否稳定,适当调整位置、距离,其均有可能影响通信的稳定性。

4.3 问题3

可以支持多长距离的无线通信?
在空旷场地上,可以实现10m内的无线调试。

4.4 问题4

目前支持哪些芯片的调试烧录?
典型的使用场景为对单片机进行编程调试,理论上Cortex-M系列的内核均可以使用DAP进行烧录调试,典型的芯片如STM32全系列的芯片,GD32全系列,nRF51/52系列等,由于也支持JTAG协议,理论上可支持更多的芯片调试,如ARM Cortex-A系列,MIPS、DSP、 FPGA等。

4.5 问题5

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


http://www.ppmy.cn/news/170725.html

相关文章

群晖折腾记1—群晖NAS使用docker中的ddns-go,DDNS阿里云ali实现Ipv6访问

群晖折腾记1—群晖NAS使用docker中的ddns-go,DDNS阿里云ali实现Ipv6访问 前置条件科普时间具体步骤1. 域名购买2. 获取AccessKey ID和Secret3. 获取免费SSL证书4. 在docker中运行ddns-go6.设置反向代理 前置条件 1、移动宽带只有IPv6公网地址,若你的宽带为电信或联…

05Javascript运算符

1、运算符 运算符(operator)也称为操作符,是用于实现赋值,比较和执行算法等功能的符号。 2、算数运算符 2.1 概念 算数运算使用的符号,用于执行两个变量或值得算术运算。 2.2 类型 加减乘除和取余(%&…

ECMAScript 5 - JavaScript 5

ECMAScript 5 - JavaScript 5 1. ECMAScript 5 是什么 ECMAScript 5 也被称为 ES5 和 ECMAScript 2009。 本章介绍 ES5 的一些最重要的特性。 2. ECMAScript 5 的新特性 “use strict” 指令String.prototype.trim()Array.isArray()Array.prototype.forEach()Array.protot…

JavaScript之E6语法

一.ES6相关概念 1.什么是ES6 ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版。 ES6 主要是为了解决 ES5 的先天不足,比如 JavaScript 里并没有类的概念, ECMAScript 6 目前基本成为业界标…

20.JavaScript6

一、什么是 JavaScript 1.概述 JavaScript 是一门世界上最流行的脚本语言(相当于浏览器解释) 一个合格的后端人员必须要精通 JavaScript ECMAScript : 往往被称为 JavaScript 或 Jscript ,它可以理解为是 JavaScript的一个标准…

JavaScriptES6

ES5高级ES6广域学习 学习笔记 面向对象的编程语言(OOP) 什么是面向对象的编程语言? • 一切皆对象,对象的模板是类,类的实例是对象(当然js中没有类的概念,class只是语法糖) • 对象中有属性、方法,属性的…

JavaScript(ES5)

JavaScript(ES5) 基础数据类型 Number、String、Boolean、undefined、object、Null Number JavaScript 只有一种数字类型。数字可以带小数点,也可以不带: let x134.00; //使用小数点来写 let x234; //不使用小数…

JavaScript 62 JavaScript 版本 62.6 ECMAScript 2018

JavaScript 文章目录 JavaScript62 JavaScript 版本62.6 ECMAScript 201862.6.1 ECMAScript 2018 中的新特性62.6.2 JavaScript 异步迭代62.6.3 JavaScript Promise.finally62.6.4 JavaScript 对象 Rest 属性62.6.5 新的 JavaScript RegExp 特性 62 JavaScript 版本 62.6 ECMA…