Arch Pro CMSIS DAP different behaviour compared to MBed

We are currently developing and testing our code on the official Mbed LPC1768 platform, which, with the latest firmware supports CMSIS DAP. This feature allows us to program, debug and control the device from scripts.

The Seeduino Arch Pro offers a board that’s slightly cheaper, and has an on board ethernet connector. This is exactly what we need.

However, when trying to use the Arch Pro with our existing scripts, the usb communication does not seem to work. Somehow the CMSIS DAP implementation for the Arch Pro seems different from the one on the official MBed platform.

We really need this to work, so any help here would come in really handy. I have limited knowledge about the actual problem, so I’m going to ask the guys that are working on it to contribute somewhat more information.

With kind regards

[EDIT]

It’s worth mentioning that we are able to upload .bin files to the MBED storage device. So that does seem to be working.
For getting this piece of code to work with the MBED, we had to get the latest available firmware on our boards.

And a topic kick…

We’re currently using the pyOCD library to communicate to our MBED boards. We do this as described on mbed.org/blog/entry/Debugging-f … ing-pyOCD/

Could you please give this a shot? We cannot even choose a board… It’s kind of critical that we also have this feature for this board. We were expecting the exact same behaviour as the other MBED boards…

Hi,

To make pyOCD support Arch Pro, just add one line to pyOCD/board/mbed_board.py

TARGET_TYPE = {"1010": "lpc1768", "9004": "lpc1768", # 9004 is the ID of Arch Pro "0200": "kl25z", "1040": "lpc11u24", "0300": "lpc800", }

Thanks for your reply.

This did make pyocd function! But we’re still having stability problems with this firmware on our linux machine.
We want to use the arch pro from automated firmware testing. This means we have to upload new firmwares via pyOCD and reset the board multiple times.

Doing this very often causes kernel panics (doing the resets) and uploading a firmware via pyOCD doesn’t seem to be working at all (pyocd hangs).

Very often the board doesn’t decently mount as a usb flash device (which is something we don’t really want to use, but probably says something more about the stability).

Any work on this matter is greatly appreciated.

Sorry, I don’t have much time to look into it yet. The source code of mbed interface firmware is on http://github.com/mbedmicro/CMSIS-DAP. Maybe you can help figure out the issue.

A optional way to upload new firmwares is directly copying new firmware binary into “MBED” drive. The new firmware will run automatically.
And sending a break to mbed virtual serial port will reset LPC1768.