STM32F103实现CMSIS-DAP
CMSIS-DAP 提供了一种通过 USB 访问 ARM Cortex 微控制器的 Coresight 调试访问端口 (DAP) 的标准化方法。
CMSIS-DAP 通常作为板载接口芯片实现,提供从开发板到一侧在主机上运行的调试器的直接 USB 连接,并通过 JTAG(联合测试行动组)或 SWD(串行线调试)到目标设备以访问另一台上的 Coresight DAP。
CMSIS-DAP版本
CMSIS-DAP 固件版本可以配置为两种不同的 USB 接口模式:
- 版本 1 配置使用 USB HID 作为主机 PC 的接口。
- 版本 2 配置使用 WinUSB 作为主机 PC 的接口,并提供高速 SWO 跟踪流。
CMSIS-DAP 优势
目前成熟的ARM调试器,主要有Jlink、Ulink、ST-Link、Nu-Link等,这些都是需要配合特定的驱动才能使用。而开源的CMSIS-DAP的推出,无疑加速了Link的统一。
CMSIS-DAP主要有以下优势:
- 开源,硬件、软件灵活定制
- 可拓展厂商自定义指令集
- 为调试器提供标准化接口。提供与许多标准调试器的接口。
- 访问所有 Cortex处理器架构 (Cortex-A/R/M) 的 CoreSight 寄存器。
- 通过 5 针 JTAG 或 2 针串行线调试 (SWD)连接。
- 支持多核调试。
- 支持 Cortex-M 设备的串行线输出(CMSIS-DAP 1.1.0 版中的新增功能)。
- 易于部署到基于Cortex-M 微控制器的调试单元。
- 调试单元可以集成在评估板上。
- USB 使用 HID(人机接口设备)驱动程序类,避免在主机 PC上安装驱动程序。
- 支持对时间要求严格的 JTAG 或 SWD 命令执行(CMSIS-DAP 1.10 版中的新功能)。
- 支持使用调试单元进行时间测量的测试域计时器(CMSIS-DAP 1.2.0 版中的新功能)
- 支持 UART 通信端口,可路由到 USB COM 端口(可选)或本地 CMSIS-DAP 命令(CMSIS-DAP 版本 2.1.0 中的新功能)。
CMSIS-DAP实现关键
- stm32f103rbt6,自带全速USB接口,用cubeMX生成自定义HID代码框架,并增加透传报告描述符
- USB设备产品描述字符和配置描述字符串中包含"CMSIS-DAP"(CMSIS-DAP识别的关键)
- 移植DAP协议框架(KEIL安装目录中D:\Programs\Keil_v5\ARM\Packs\ARM\CMSIS\5.8.0\CMSIS\DAP\Firmware),将Source和Include文件夹加入工程
- 将Config下面的DAP_config.h夹入工程
- 在DAP_config.h定义对应SWD接口(SWCK、SWDIO、nRESET、LED等)状态读取与操作
- 在usbd_custom_hid_if.c中收取HID数据,并调用DAP处理接口DAP_ExecuteCommand,同时回复PC
- 在原来代码基础上,再加入CDC功能,在usbd_cdc_if.c中完善串口收发接口
KEIL中识别效果
STM32F103实现CMSIS-DAP相关推荐
- STM32开发笔记之——CMSIS DAP
都说开发stm32都是使用kail iar+jatg/swd的方式,然而arm公司已经开发出了CMSIS DAP的开源下载工具,全称是CoreSight Debug Access Port,网络上有大 ...
- ARM CMSIS DAP源码分析
转ARM CMSIS DAP源码分析(一)_穿透灵魂的鼓点的博客-CSDN博客 结合ARM文档ADIv5,分析一下ARM提供的CMSIS DAP的开源代码,写点个人心得. 1.USB的整个传输有2个全 ...
- iar使用秉火DAP仿真时出现错误 Download error at 0x08000000: downloading into non-writable memory.
在学习野火stm32f103开发板时,iar使用秉火DAP仿真时出现错误 Download error at 0x08000000: downloading into non-writable mem ...
- 逐飞K66核心板+逐飞DAP下载器调试方式及接线(SWD)
以逐飞K66例程的LED Blink为例,环境是IAR.接线方式为SWD. 和逐飞DAP教程一样,看到侧边窗口,在工程名上右键,选择Options,在左侧菜单选中Debugger,右边Driver选择 ...
- 合宙AIR32F103CBT6刷回CMSIS-DAP固件和DAP升级固件以及刷ST-LINK V2-1固件方法
合宙AIR32F103CBT6刷回CMSIS DAP固件和DAP升级固件以及刷ST-LINK V2-1固件方法
- 正点原子STM32(基于HAL库)0
目录 开发环境搭建与使用 常用开发工具简介 MDK 安装 仿真器驱动安装 CH340 USB 虚拟串口驱动安装 使用MDK5 编译例程 使用串口下载程序 使用DAP 下载与调试程序 使用DAP 下载程 ...
- USB转JTAG小板 (一)
为什么有 usb 转 jtag 小板因为 arm的 DP 有 jtag-DP , riscv 有 jtag-dtm , 而上位机 有 USB , 所以 要 额外的 小板 用于 转换 usb 和 jta ...
- 智能车竞赛技术报告 | 智能车视觉 -重庆大学 - 风林火山
简 介: 本文主要介绍了基于RT Thread操作系统的智能视觉组四轮循迹智能小车系统的原理.软硬件设计以及小车制作过程,对小车的系统介绍包括车模机械结构的设计.模块电路的设计.传感器信号的处理.控制 ...
- RT-Thread优化智能车设计
学 校:重庆大学 队伍名称:风林火山 参赛队员:谢文祥.梁华林.陈俊霖 带队老师:李敏 简 介: 本文主要介绍了基于RT Thread操作系统的智能视觉组四轮循迹智能小车系统的原理.软硬件设计以及小车 ...
- CMSIS-DAP和J-Link、ST-Link是什么关系?
作者:strongerHuang 公众号:strongerHuang 学习过STM32或Cortex-M处理器的读者对J-Link.ST-Link应该不陌生,都知道它们是下载调试器. 除了J-Link ...
最新文章
- python 开发板加密_Bugku 加密 python writeup
- win2003禁止web等目录执行exe,bat,com的方法
- Mock工具之Mockito实战
- 转-项目管理心得:一个项目经理的个人体会、经验总结
- stm32 invalid rom table(转载)
- Prufer序列相关
- C++ cin cout
- 云图说丨不同区块链之间如何跨链交互?
- Jmeter学习笔记4-集合点
- 红外遥控器-VS1838B/HS0038红外接收方案(包含原理图+PCB+BOM表+程序)
- Linux系统怎么复制文件夹下的全部文件到另外文件夹?...
- 本科生怎样发表自己的论文
- 数字经济进入2.0时代 浙里有为共赢新“基”遇
- 今日“春分”,我們來場春天的“飛花令”吧
- u盘里删除的文件可以恢复吗?分享解决方法
- (C语言)对称数判断
- 写出宏定义 输出一年有多少秒
- Flutter 正式推出 Windows 平台支持
- CF1027B Numbers on the Chessboard (#数学)
- 参与社团活动的意义_开展小学生社团活动的重要意义
热门文章
- 2021-07-21淘宝网第二次尝试
- 深入Guerrilla Games解密次世代开山大作《杀戮地带暗影坠落》(The technology of Killzone Shadow Fall)
- 数据抽取常见的几种模式
- SpacePack 运维工具之 Auto fdisk
- java+微博上传图片_GitHub - lkshuihua/webpic: 轻量级Java 上传图片 到微博图床小工具...
- .NET报表控件ActiveReports实战应用——入门指南
- 关于DllRegisterServer的调用失败的问题解决办法 错误代码0x80040201
- 中国象棋棋谱大全之一
- 红帽linux中文语言包,英文 RedHat AS5 中文语言包安装
- 【博弈论】耶鲁大学公开课--博弈论Problem Set 1--Solution