What motivated me creating IBDAP?
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. I need to make it in a much cheaper way and easy to reproduce, after some technical research, I noticed that it's absolutely doable. I got rid of expensive Keil IDE and instead, using arm-gcc and makefile. Based on ARM's reference design and source code, I ported and implemented a CMSIS-DAP debugger using NXP LPC11U35 low cost IC, and it turns out, it works just as good as those expensive commercial debug probes! Now, I want to share my work with everyone in the world wh o are still struggling just like me, and help them out with their project developments using IBDAP.
IBDAP is a fully CMSIS-DAP compatible debug adapter. It provides vendor independent debug interface between your PC over USB and target ARM device over JTAG/SWD pins. You can do debugging functions like stepping, breakpoints, watch points and firmware download etc. It's fully supported by Keil, OpenOCD, GNU GDB, IAR and other commonly used debugging tools.
Why IBDAP?
Debug adapters are expensive, some could cost thousands of dollars, some may not be compatible among different vendors. Luckily, ARM standardized the debugging interface which is called CMSIS-DAP and released the firmware implementation on some processors, 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 & makefile. Anyone can modify and embed a debug probe on its own device easily with everything under its control.
Besides being functioning as a JTAG/SWD debug probe, IBDAP could also be used as a general development board. It has an ARM Cortex M0 processor running at 48Mhz and has peripherals like UART, I2C, SPI, USB. It can be used in many applications like USB audio devices, USB mouse/keyboards, USB mass storage devices, USB-TTL adapter device and many many more. Moreover, the 10-bit high precision ADC peripheral also makes IBDAP an ideal device for any sensor projects.
Features:
- NXP LPC11U35FHI33/501 ARM Cortex M0 48Mhz processor
- 64kB Flash, 12kB RAM, 2kB EEPROM
- 1xUSART, 1xI2C, 2xSPI, 1xUSB2.0, 8xADC(10-bit), 26xGPIO
- Armstart GNU gcc-arm and make implementation of CMSIS-DAP with source codes provided.
- Supports mbed programming.
The supported target processors including but not limited to:
- NordicSemi nRF51822
- Atmel ARM Cortex-M series of processors
- NXP ARM Cortex-M series of processors
- Freescale ARM Cortex-M series of processors
- Texas Instruments ARM Cortex-M processors
Comments