IBDAP - User Manual
Armstart – Makers helping makers
http://www.armstart.com | http://twitter.com/armstart

IBDAP Pinmap
IBDAP schematic is provided and can be downloaded from the following link:
https://s3.amazonaws.com/armstart/Debug+Tools/IBDAP-LPC11U35/IBDAPLPC11U35_SCH.pdf

Introduction
IBDAP is an open source, low cost, cross-platform and vender independent CMSIS-DAP
JTAG/SWD debug adapter for programming and debugging ARM Cortex M
microcontrollers. It provides debugging functions like stepping, breakpoints, watch points
and firmware programming etc., making microcontroller programming easy and affordable.
It's fully supported by Keil, Eclipse, OpenOCD, GNU GDB, IAR and other commonly useddebugging tools across Windows, Linux and Mac OS.

Besides being functioning as a JTAG/SWD debug probe, IBDAP could also be used as anmbed 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 applications like USB audio
devices, USB mouse/keyboards, USB mass storage devices, USB-TTL adapter device andmany many more. It also has 10-bit high precision ADC peripherals which make IBDAP anideal device for any sensor projects.

Features:·····1

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 withsource codes provided.
Supports mbed programming.

Supported target processors
including but not limited to:·····

NordicSemi nRF51822
STM32 ARM Cortex-M series ofmicrocontrollersAtmel ARM Cortex-M series of
microcontrollers
NXP ARM Cortex-M series of
microcontrollers
Freescale ARM Cortex-M series of
microcontrollers

2IBDAP voltage levels and power supply

Using IBDAP as a CMSIS-DAP Debugger

IBDAP supports target boards that run at 3.3V level. The VTSW jumper (please refer toschematic file) is used to enable or disable 3.3V direct power supply to the target board, aconvenient way to provide powers directly from debug cable.

Flash IBDAP firmware onto IBDAP board
By pressing RESET and ISP buttons at the same time and then release them, a USB massstorage device will be shown up with a single file "firmware.bin". Delete it and paste in theIBDAP-latest.bin file from below, then press RESET button again. Now Firmware flashingcomplete.
Firmware Binary: https://s3.amazonaws.com/armstart/Debug+Tools/IBDAPLPC11U35/IBDAP-latest.bin
Firmware source code: https://github.com/Armstart-com/IBDAP-CMSIS-DAP

In case that the target board requires 20-pin 0.05’’ JTAG header or some none standard
connector, you can always easily bridge the IBDAP TGT_DBG connector over using theIBDAPC10J20 ARM 20-pin 0.1'' to Cortex 10-pin 0.05'' JTAG/SWD Adapter which isincluded in the IBDAP product.

http://www.armstart.com/products/ibdap-cmsis-dap-jtag-swd-firmware-debugprobe

How to build IBDAP firmware from source
To building IBDAP CMSIS-DAP firmware you need Linux/Ubuntu. You also need to install
GNU ARM embedded toolchain, which can be download from here:
https://launchpad.net/gcc-arm-embedded
Open a Terminal and run the following command to build IBDAP.bin:$ git clone https://github.com/Armstart-com/IBDAP-CMSIS-DAP.git$ cd build/$ make34

How to use IBDAP to debug a target device
If you are using KeilConnect IBDAP's TGT_DBG 10-pin header to the target board (note, VTREF pin at
TGT_DBG provides 3.3V for the target board, but you can switch off by removing thecorresponding jumper), connect IBDAP and PC via USB cable.

From your Keil project, click on "Options for Target" button just besides the target, choose"Debug" tab, select use: "CMSIS-DAP Debugger", then click "settings", you should be able
to see the "IBDAP-LPC11U35 CMSIS-DAP" device as the picture shown below, if yes,then we are all set.
Note: For some devices, nRF51822 for example, Keil doesn't have the correct Flash
Erase algorithm for full-chip erase, if you have any issue flashing, please use
OpenOCD method instead.

If your system is Windows, you should be able to see a USB HID device called "IBDAPLPC11U35 CMSIS-DAP" in your control panel “Devices and Printers”.

5If you are using OpenOCD
OpenOCD is software that can communicate with the hardware JTAG port, it bridges
hardware IC and your firmware debugging software. OpenOCD can be installed on
Windows, Linux and Mac OS. If you want to install the prebuilt binaries instead of building
from source code yourself, you can download from sourceforge:
http://sourceforge.net/projects/gnuarmeclipse/files/OpenOCD/If you prefer building from source code, please visit http://www.armstart.com for details.
Here we used IB51822 as our target device to demonstrate how to flash firmware onto anRF51822 BLE ARM Cortex M0 device.

6Use IBDAP as general developmentboard
IBDAP uses NXP LPC11U35FHI33/501 ARM Cortex M0 chip, and LPCXpresso or mbed
can be used to develop firmwares.
··LPCXpresso： http://www.lpcware.com/lpcxpresso
mbed: https://developer.mbed.org/

First run the following command in an admin privileged terminal to start OpenOCD:$ openocd.exe -f interface/cmsis-dap.cfg -f target/nrf51.cfg

For more information please refer to the corresponding websites.

Then run telnet in another admin privleged terminal to flash your firmware.hex ontoIB51822:$ telnet localhost 4444
> reset halt
> flash write_image erase /file/path/to//firmware.hex 0x0
Some chips like nRF51822 have flash protection mechanism enabled, if you everencountered error while flashing, run mass_erase command to disable the protection
before flashing the firmware.

> nrf51 mass_erase

78