Recently ARM introduced a new component in the CMSIS layer: CMSIS-DAP.
It provides a standardized way to access the Debug Access Port (DAP) of a target. CMSIS-DAP is implemented on an Interface Chip. This Interface Chip is connected over USB to a debugger running on a host computer and over JTAG or SWD to the target device. JTAG and SWD are two common ways to debug a target.
When developing ARM Cortex microcontroller applications, Keil MDK is superior choice. It could output efficient binary, and providing useful symbolic debug interface.
MDK is sooooo expensive for hobby users but they are providing free edition,MDK-Lite. It is limited to 32KB binary. When we works with Cortex-M0, 32KB is also same to the processors' flash capacity.
When we want to flash binaries or debug, we need a debug adapter. I just wanted OpenSource debug adapter, and made this besed on NXP's AN11321.
The source code bundled with AN1132 has bug, and it needs buffers such as 74LVC125. There are no informations about that on bundled document.
If you want to build this by yourself, you need to download AN11321: Porting the CMSIS-DAP debugger to the Cortex-M0 platform (Rev. 1 — 30 January 2013). A patch file for this source code is on my gist, and I used gpio.c and gpio.h from Sample Code Bundle for LPC11Uxx Peripherals using Keil's MDK-ARM.