Advertisement

CMSIS-DAP: STM32设备上ARM的CMSIS-DAP调试器固件

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
CMSIS-DAP是针对STM32设备上的ARM处理器开发的一种标准化调试接口固件,用于简化嵌入式系统的调试过程。 CMSIS-DAP用户手册概述了通过USB访问ARM Cortex M0、M0+、M3及M4 MCU的Coresight调试访问端口(DAP)的一种标准化方法。这种方法提供了一条从开发板到主机上运行的调试器之间的直接USB连接,并且可以通过JTAG或SWD接口与目标设备另一端相连,以实现对Coresight DAP的访问。 我将ARM CMSIS-DAP调试器固件移植到了STM32设备上。我在淘宝网购买了一个最小化的系统板,花费大约17元人民币(不到3美元)。使用该固件和电路板,我可以调试其他厂商生产的Cortex M系列MCU产品,例如GigaDevice或NXP的产品。 对于STM32来说,或许ST-Link会是更好的选择。为了简化设计并减少代码大小,我移除了很少使用的JTAG调试、大容量存储以及虚拟COM功能,并只保留了SWD调试功能。这一改动使得固件更加精简且专注于特定需求的功能实现上。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • CMSIS-DAP: STM32ARMCMSIS-DAP
    优质
    CMSIS-DAP是针对STM32设备上的ARM处理器开发的一种标准化调试接口固件,用于简化嵌入式系统的调试过程。 CMSIS-DAP用户手册概述了通过USB访问ARM Cortex M0、M0+、M3及M4 MCU的Coresight调试访问端口(DAP)的一种标准化方法。这种方法提供了一条从开发板到主机上运行的调试器之间的直接USB连接,并且可以通过JTAG或SWD接口与目标设备另一端相连,以实现对Coresight DAP的访问。 我将ARM CMSIS-DAP调试器固件移植到了STM32设备上。我在淘宝网购买了一个最小化的系统板,花费大约17元人民币(不到3美元)。使用该固件和电路板,我可以调试其他厂商生产的Cortex M系列MCU产品,例如GigaDevice或NXP的产品。 对于STM32来说,或许ST-Link会是更好的选择。为了简化设计并减少代码大小,我移除了很少使用的JTAG调试、大容量存储以及虚拟COM功能,并只保留了SWD调试功能。这一改动使得固件更加精简且专注于特定需求的功能实现上。
  • STM32F103 CMSIS-DAP工具
    优质
    本工具基于STM32F103芯片开发,提供CMSIS-DAP标准接口,实现高效且兼容性强的嵌入式系统调试功能。 我在X893的设计基础上重新设计了STM32F103 CMSIS-DAP调试器(简称:F103-DAP)。该调试器支持Cortex-M0/M0+/M3/M4/A7等多种处理器的调试,并兼容其他厂商的产品。它还支持mikroBUS接口,可以立即连接超过百种扩展板,方便客户构建应用。此外,它与pySWD/pyOCD等开源调试和编程工具兼容。
  • CMSIS-DAP(STM32F103C6T6)
    优质
    CMSIS-DAP是基于STM32F103C6T6微控制器的一种调试接口规范,它提供了硬件和软件标准,便于开发人员进行嵌入式系统的编程与调试。 CMSIS-DAP(Core Debug Access Port)是由ARM公司开发的一套接口规范,它定义了调试工具如何与微控制器的调试接口进行交互。STM32F103C6T6是意法半导体生产的一款基于ARM Cortex-M3内核的微控制器,具有丰富的外设和强大的处理能力。 本项目的目标是在STM32F103C6T6上实现CMSIS-DAP协议,并提供程序下载、调试以及串口CDC功能。此外,为了提高效率,我们采用DMA方式进行数据传输。CMSIS-DAP允许调试器通过SWD(Serial Wire Debug)或JTAG接口与目标MCU通信。 SWD是一种低引脚数的调试协议,只需要两根线(SWDIO和SWDCLK)即可完成对Cortex-M系列处理器的调试操作。在STM32F103C6T6上实现CMSIS-DAP需要配置其内置Debug Unit,并设置相应的引脚和时序以便与外部调试器进行数据交换。 为了支持程序下载功能,CMSIS-DAP提供了擦除、编程及验证操作,这些通过DAP命令来完成。在STM32中,这通常涉及到使用HAL或LL库中的Flash管理函数如HAL_FLASH_Program() 和 HAL_FLASH_Erase()等。 实现调试功能包括设置断点、单步执行以及读写CPU寄存器和内存等功能。其中断点可以通过修改Memory Protection Unit (MPU)或者硬件断点单元来实现,而寄存器和内存访问则通过DAP的读写命令完成。 串口CDC功能是通过STM32F103C6T6上的USB接口实现虚拟串口通信。这需要配置USB OTG FS(全速)接口,并设置设备描述符、配置描述符等,以支持CDC类设备枚举和数据传输。采用DMA方式可以在不占用CPU资源的情况下进行大容量数据的高效传输。 在开发过程中,我们使用STM32CubeMX工具进行初始化配置并生成相应的HAL或LL代码。同时还需要编写固件层控制逻辑来解析DAP命令及管理串口CDC功能。 调试阶段可能需要用到如ST-Link 或 J-Link这样的外部调试器来进行在线调试操作。总的来说,在STM32F103C6T6上实现CMSIS-DAP是一项涉及底层硬件接口、协议栈、USB通信以及DMA技术的综合性工程,它不仅提高了开发过程中的便利性还扩展了微控制器的功能,使该芯片可以作为USB-CDC设备进行数据传输。这种设计在嵌入式系统的开发和调试中具有很高的实用价值。
  • CMSIS-DAP文档资料
    优质
    本文档为CMSIS-DAP调试器提供全面指南与技术参考,涵盖硬件接口、协议规范及软件实现细节,助力开发者高效进行嵌入式系统调试。 CMSIS-DAP调试器是一种用于嵌入式系统的调试工具。它支持通过USB接口进行硬件调试,并且兼容多种开发环境和编程语言。该调试器能够提供高效的代码下载、在线调试及实时变量查看等功能,适用于各种基于ARM架构的微控制器项目开发与测试过程中的需求。 CMSIS-DAP标准由Arm公司制定并维护,旨在为开发者提供一个统一而灵活的硬件抽象层接口,简化了不同供应商芯片之间的软件移植工作。此外,该协议还支持断点设置、单步执行以及内存读写等基本调试功能。
  • DAP42:适用于STM32F042Fx和STM32F103xxCMSIS-DAP
    优质
    DAP42是一款专为STM32F042Fx及STM32F103xx系列微控制器设计的CMSIS-DAP调试接口固件,支持高效开发与调试。 dap42项目是一个开源固件及用于基于TSSOP-20封装的廉价、简约CMSIS-DAP调试探针的设计。 该项目已经过几十位用户的现场验证,并且所有核心功能均已测试完成。 当前功能包括: 1. 通过HID接口进行SWD访问(已测试); 2. CDC-ACM USB串行桥接; 3. 通过USB的DFU,仅限分离模式切换到片上引导加载程序; 4. SLCAN接口,在静默模式下只接收数据。 对于STM32F103芯片,dap42固件同样适用。要为STLink使用dap42,请参考相关文档进行设置和操作。 默认情况下,上传新固件的方法是通过dfu-util工具来实现的(Makefile中包含相应的目标make dfuse-flash)。此过程会自动分离dap42固件并通过片内引导程序加载新的固件。如果需要使用其他调试器进行闪存更新,请参考相关文档中的“make flash”命令操作指南。 对于STM32F103芯片,dap42的固件同样适用,并且可以为STLink重新编写配置或直接采用现有的兼容模式。
  • CMSIS-DAP V2.0.zip
    优质
    CMSIS-DAP V2.0 是用于ARM微控制器的软件包,包含调试和编程接口的标准实现。此ZIP文件内含V2.0版本的开发资源。 dap_linkV2程序在Keil5环境下可以直接编译且无错误提示,支持在线下载与调试功能,并兼容CMSIS-DAP V2.0标准。
  • CMSIS CDC DAP USB.rar
    优质
    该资源文件包含了CMSIS-DAP驱动和USB协议栈的相关代码及文档,适用于开发基于ARM内核MCU的调试和编程工具。 ARM USB DAP CMSIS 下载以及串口驱动、USB转串口虚拟驱动的安装方法。
  • CMSIS-DAP仿真工具
    优质
    CMSIS-DAP仿真工具是一款基于CMSIS标准的调试访问协议开发的软件工具,用于简化微控制器开发过程中的硬件调试和编程。 仿真器包含详细的教程,包括原理图、代码以及适用于Windows 7的驱动程序。
  • CMSIS-DAP源代码.zip
    优质
    CMSIS-DAP源代码.zip包含CMSIS-DAP软件组件的原始程序文件,适用于开发调试工具和硬件抽象层。 CMSIS-DAP的源码文件可以根据自己的硬件需求更改端口或增减功能。此源码仅供学习和测试使用,请勿用于非法商业用途;使用时请注明。
  • CMSIS-DAP-CH552 实用版.7z
    优质
    CMSIS-DAP-CH552 实用版.7z是一款专为CH552微控制器设计的CMSIS-DAP调试固件实用版本,便于嵌入式开发者进行高效便捷的硬件调试与编程。 CMSIS-DAP(Core Microcontroller Software Interface Standard Debug Access Port)是ARM公司推出的一种调试接口标准,它允许开发者通过USB或SWD(Serial Wire Debug)接口连接到微控制器,并进行程序下载、调试及内存访问等操作。CMSIS-DAP为开发工具提供了统一的接口,使得不同厂商的调试器可以方便地与各种基于ARM内核的微控制器配合工作。 CH552G是一款由沁恒微电子设计的8位单片机,拥有丰富的外设接口和强大的处理能力,在本项目中被用作CMSIS-DAP主控芯片。它实现了目标MCU与开发电脑之间的通信及USB连接功能。 实现CMSIS-DAP通常包括硬件部分和固件部分。在硬件方面需设计包含CH552G、USB接口以及SWD接口的电路板,并添加必要的电源和滤波电路;而固件则是运行于CH552G上的程序,它实现了CMSIS-DAP协议并处理来自调试工具的指令与目标MCU之间的交互。 在提供的KEIL MDK工程中,包括了使用CH552G实现完整CMSIS-DAP功能的所有代码。KEIL MDK是ARM官方推荐用于开发ARM微控制器的环境,并支持C和汇编语言编程、项目管理和调试等功能。 对于项目的配置,在Project选项里设置正确的芯片型号;在USB驱动部分需根据需要进行配置,以保证CH552G能通过USB接口与PC通信。此外还需集成CMSIS-DAP协议栈并编写应用层代码来实现SWD通信等具体功能。 DAP协议是CMSIS-DAP的核心,它定义了调试器和目标芯片之间的通信格式及流程;而SWD则是其一种实现方式,在引脚使用上比JTAG更节省资源。在CH552G的CMSIS-DAP中需理解并实现包括读写操作、复位控制以及寄存器访问在内的功能,以便通过SWD信号线与目标MCU交互,并完成程序下载等任务。 总结来说,所提供的项目涵盖了从硬件设计到软件开发的过程,对于希望深入了解CMSIS-DAP协议及使用CH552G构建低成本调试接口的开发者而言具有重要价值。通过学习和实践这一工程可以掌握如何利用KEIL MDK进行单片机编程,并将CH552G集成进CMSIS-DAP系统中以实现高效的嵌入式系统调试。