5 years, 8 months ago.

Question about CMSIS-DAP and HDK

Hi all, i'm pretty new to this mbed world. I've read through the documents of CMSIS-DAP and HDK several times and still confused about the overall idea: - As fas as i understand, CMSIS-DAP provides an interface between the onboard interface MCU and target MCU (as the picture described in mbed HDK page). This will allow me to program/debug the target MCU via USB connection. So i downloaded the HDK package, and saw several designs for this onboard interface MCU. There's one Freescale KL25Z uC and 3 NXP uCs (LPC11U24, LPC812M10 and LPC1768). Each MCU has its firmware file which can be loaded into the MCU for CMSIS-DAP implementation. - Then i think how i can program this interface MCU if i want to design a PCB of my own. I would need to have a bootloader on the chip so i can upgrade the firmware on it. So i downloaded the CMSIS-DAP package at this link https://github.com/mbedmicro/CMSIS-DAP. This contains 2 bootloader projects, but only for 2 MCUs (k20dx128 and lpc11u35). None of them are from the group of the interface MCUs above! I'm wondering if i misunderstand something here. If i get one of the designs from the HDK and make a PCB for it. How can i download a firmware to an "empty" interface chip, providing that i only have the USB connection to the interface chip (the SWD interface are already connected to the target MCU)?


Question relating to:

2 Answers

5 years, 8 months ago.

The interface MCUs are typically also ARM processors. The more recent models (eg LPC11U35) support firmware flashing through USB. They can usually also be programmed through a serial port bootloader (ISP) or via JTAG/SWD. Obviously you need to make sure that these programming interfaces are accessible on your own hardware developments. You also need to provide some jumpers or switches to start the interface MCU in its bootloader mode.

The SWD interface from the interface MCU to the target device is not the same as the SWD port used to flash or debug the interface MCU itself. The interface MCU uses some regular pins to program the target, whereas its own SWD port is found on dedicated pins.

Note that some of the newer targets don't really need an interface MCU anymore to allow programming. You can use the USB bootloader on LPC1549, LPC11U35 or LPC11U68. That does not give you a CMSIS-DAP interface which you will need for more advanced debugging of the target. You can also use external SWD hardware such as Segger Jlink to flash or debug these (and other) targets as an alternative to a CMSIS-DAP compliant interface.

5 years, 7 months ago.

Hello Guys

I have some Few questions related to programming of Seeeduino Arch Pro LPC1768.

Am using LPCXpresso IDE for debugging. My IDE is able to detect the debugger CMSIS_DAP but when am initiating the debug process IDE is throwing below error.

10:Could not start execution from stop ACK Fault

After series of search i find, i have to modify Launch Configuration and i did that.But no success.

And yes i can see the flash mounted on my PC and i can drag and drop project binary to it and even i can able to use serial COM port by printing string using TERATERM.

But debugging seems broken.

Any help will be greatly appreciated.