/CMSIS-DAP_on_STM32_with_EmBitz

An implementation of CMSIS-DAP on STM32F103C8

Primary LanguageCMIT LicenseMIT

An implementation of CMSIS-DAP on STM32F103C8

CMSIS-DAP is an open source JTAG probe which was designed by ARM. It's an USB HID device and supports JTAG/SWD debug interfaces. We don't need to install any kernel drivers on the host so it's so easy to be used with OpenOCD. I got the source code from CMSIS_5 library package. There are two examples which were implemented on NXP LPC chips with Keil MDK toolchain. Both of them use RTE components and CMSIS RTOS API. Furthermore, there is a library file named USB_CM3.LIB which is without source code. Because of this I decided to implement CMSIS-DAP on STM32F103C8 with GNU toolchain and HAL driver and USB Middleware generated by STM32CubeMX.

The goal of this project is:

  • Completely open source
  • Remove the dependency of RTOS
  • Remove the dependency of RTE components
  • Compiled with GNU toolchain

I was trying to do a minimal modification to the source code of CMSIS-DAP. That makes the whole project very clear. However, I disabled the SWO support to make the project as simple as possible. I didn't design a custom circuit board. This project was targeted to a popular STM32 core board which was called Bluepill. I did some hack to the USB Middleware generated by STM32CubeMX. I wrote a simple explanation about that on my website: http://wiki.geniekits.com/doku.php?id=usb_express:cmsis-dap