A JTAG SWD Firmware Debug Probe for ARM 32bit processors

Hello everyone, I'm here the share my last two months of work for those just like me who are still struggling with getting a much affordable JTAG debugger. Thanks for the new ARM CMSIS-DAP specs, and the great CMSIS-DAP project from mbed, I learned a lot from those fanstatics guys behind it, However, I want to move the project further, more open, more affordable, more easy to re-make, more customizable for serious firmware debugging.

Let me introduce you IBDAP, a gcc version of CMSIS-DAP. I had this idea of making IBDAP when I was trying to solve a firmware issue of another project and then realized that I really really need a debug probe to do code steppings in order to figure out the problem. I searched online for a long time and realize that debug probes are either super expensive, like Segger J-Link or they are not universally compatible between vendors. I decided to make my own, here it comes IBDAP.

There are some versions of CMSIS-DAP implementation on the market, one is the reference implementation from ARM and the other is from mbed project. However, you still need a Keil MDK Professional edition software in order to build the firmware, even the open source one provided by mbed and the price for Keil Professional is intimidating. All these barriers has become the first issue that every inventor is facing, and we need a solution!

IBDAP's objective is to become an affordable open source & open hardware CMSIS-DAP JTAG/SWD debug probe implementation using gcc and makefile. Anyone can modify and embed a debug probe on its own device easily with everything under its control.

Currenty, IBDAP has been tested on LPC11U35 and nRF51822 chips using Keil and OpenOCD. In the future, we are planning to test it with CC3200 and other microcontrollers. Future plans includes USB-TTL relay and USB drag-n-drop programming in gcc.

https://github.com/Armstart-com/IBDAP-CMSIS-DAP

I'll bring bring the IBDAP to the New York Maker Faire for exhibition. For those we are coming to the event, come and see the project and probably some other projects:

Armstart: http://www.armstart.com

Twitter: https://twitter.com/armstart

Facebook page: Armstart

Google+ : Armstart

Does it work with the Atmel SAMD21?

I don't have an Atmel SAMD21, but from the datasheet, I can see that it's a ARM® Cortex®-M0+ processor and has a two-pin Serial Wire Debug (SWD) program interface, I don't see any that won't work. Atmel official debugger also uses CMSIS-DAP spec which is the same as IBDAP, so I'm pretty sure it will work on Atmel SAMD21.

It looks a nice product at a very good price. Congratulations.
All sources are available so one can learn how everything works, finally a non black box solution, great.

There are two things I do not understand about the software license:

Can you comment on whether you signed a contract with ARM that allows you to redistribute the source code (on github)? The cmsis-dap eula by default only allows to distribute firmware in object code. I know the code was already on github via the mbed project, but mbed is governed by arm, so I guess they are covered.

In the root of your project you have a GPL license, while the cmsis-dap c sources are clearly ARM copy right "all rights reserved". I am not a lawyer, but I fail to see how this can be legally ok. Can you explain?

Thanks Peter! I'm in contact with ARM already, but I will communicate with them if there's any legal issue and try to make this product really open source to makers! Thanks again! I will let everyone know.