10 years, 6 months ago.  This question has been closed. Reason: Question solved. The user must install the serial driver provided by mbed.

I CAN NOT find CMSIS-DAP debugger from USB devices

After connecting my brand new LPC812MAX to Windows XP SP3. The OS prompts "MBED CMSIS-DAP" is found. However it has only a MSD, no CMSIS-DAP interface as well as VCP.

I am expecting to find CMSIS-DAP (HID?) , MSD and CDC from USB devices. So far I can only find one to download my binary file. The board firmware has only programmer without VCP and debugger interfaces? I have downloaded the latest firmware to it, there is no improvements at all.

Please tell me how to find it. I know mbed compiler is good. But sometimes I expect to use Keil/IAR/official GCC-ARM as well as CodeRed.

Yours sincerely

Allan K Liu

UPDATES:

By using microsoft USBview tool. I found its USB description. Yes, it includes CMSIS-DAP, but I have no idea there is no driver installation procedures besides MSD.

MS USBVIEW log

Device Descriptor:
bcdUSB:             0x0110
bDeviceClass:         0x02
bDeviceSubClass:      0x00
bDeviceProtocol:      0x00
bMaxPacketSize0:      0x08 (8)
idVendor:           0x0D28
idProduct:          0x0204
bcdDevice:          0x0100
iManufacturer:        0x01
0x0409: "MBED"
iProduct:             0x02
0x0409: "MBED CMSIS-DAP"
iSerialNumber:        0x03
0x0409: "03000200E62EC2A14055EFAE"
bNumConfigurations:   0x01

ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed:     Full
Device Address:       0x01
Open Pipes:              2

Endpoint Descriptor:
bEndpointAddress:     0x82
Transfer Type:        Bulk
wMaxPacketSize:     0x0040 (64)
bInterval:            0x00

Endpoint Descriptor:
bEndpointAddress:     0x02
Transfer Type:        Bulk
wMaxPacketSize:     0x0040 (64)
bInterval:            0x00

Configuration Descriptor:
wTotalLength:       0x007A
bNumInterfaces:       0x04
bConfigurationValue:  0x01
iConfiguration:       0x00
bmAttributes:         0x80 (Bus Powered )
MaxPower:             0xFA (500 Ma)

Interface Descriptor:
bInterfaceNumber:     0x00
bAlternateSetting:    0x00
bNumEndpoints:        0x02
bInterfaceClass:      0x08
bInterfaceSubClass:   0x06
bInterfaceProtocol:   0x50
iInterface:           0x07
0x0409: "USB_MSC"

Endpoint Descriptor:
bEndpointAddress:     0x82
Transfer Type:        Bulk
wMaxPacketSize:     0x0040 (64)
bInterval:            0x00

Endpoint Descriptor:
bEndpointAddress:     0x02
Transfer Type:        Bulk
wMaxPacketSize:     0x0040 (64)
bInterval:            0x00

Interface Descriptor:
bInterfaceNumber:     0x01
bAlternateSetting:    0x00
bNumEndpoints:        0x01
bInterfaceClass:      0x02
bInterfaceSubClass:   0x02
bInterfaceProtocol:   0x01
iInterface:           0x00

Unknown Descriptor:
bDescriptorType:      0x24
bLength:              0x05
05 24 00 10 01 

Unknown Descriptor:
bDescriptorType:      0x24
bLength:              0x05
05 24 01 03 02 

Unknown Descriptor:
bDescriptorType:      0x24
bLength:              0x04
04 24 02 06 

Unknown Descriptor:
bDescriptorType:      0x24
bLength:              0x05
05 24 06 01 02 

Endpoint Descriptor:
bEndpointAddress:     0x83
Transfer Type:   Interrupt
wMaxPacketSize:     0x0010 (16)
bInterval:            0x02

Interface Descriptor:
bInterfaceNumber:     0x02
bAlternateSetting:    0x00
bNumEndpoints:        0x02
bInterfaceClass:      0x0A
bInterfaceSubClass:   0x00
bInterfaceProtocol:   0x00
iInterface:           0x00

Endpoint Descriptor:
bEndpointAddress:     0x04
Transfer Type:        Bulk
wMaxPacketSize:     0x0040 (64)
bInterval:            0x00

Endpoint Descriptor:
bEndpointAddress:     0x84
Transfer Type:        Bulk
wMaxPacketSize:     0x0040 (64)
bInterval:            0x00

Interface Descriptor:
bInterfaceNumber:     0x03
bAlternateSetting:    0x00
bNumEndpoints:        0x02
bInterfaceClass:      0x03 (HID)
bInterfaceSubClass:   0x00
bInterfaceProtocol:   0x00
iInterface:           0x06
0x0409: "MBED CMSIS-DAP"

HID Descriptor:
bcdHID:             0x0100
bCountryCode:         0x00
bNumDescriptors:      0x01
bDescriptorType:      0x22
wDescriptorLength:  0x0021

Endpoint Descriptor:
bEndpointAddress:     0x81
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Endpoint Descriptor:
bEndpointAddress:     0x01
Transfer Type:   Interrupt
wMaxPacketSize:     0x0040 (64)
bInterval:            0x01

Draft Conclusion

It has 4 interfaces:

summary

    bInterfaceNumber/bNumEndpoints/bInterfaceClass/bInterfaceSubClass/bInterfaceProtocol/"descrpitor"
    0x00: 0x02/0x08/0x06/0x50/"USB MSC"
    0x01: 0x01/0x02/0x02/0x01/"Unknown", interrupt x 1, maybe for VCP setup?
    0x02: 0x02/0x0A/0x00/0x00/"", Bulk x 2, maybe for VCP?
    0x03: 0x02/0x03/0x00/0x00/"MBED CMSIS-DAP", HID interrupt x 2for CMSIS-DAP debugger

It seems the designer wants to support MSC(MSD), VCP (bulkx2+interrupt) as well as HID for CMSIS-DAP debugger. But the wrong setup for USB descriptor blocks its installation in Windows XP.

Maybe we need more revisions for firmware of LPC11U35. After shipments to W/W customers for LPC812MAX, I believe you will receive similar questions very soon.

Before that, we can only download and go on LPC812MAX.

BTW, what is your preferences OS? Windows XP/7/8 or Linux / MAC?

Question relating to:

You need to download and install the serial driver for the mbed interface. See:http://mbed.org/handbook/Windows-serial-configuration#1-download-the-mbed-windows-serial-port

posted by Bigarmer Freeman 15 Oct 2013

Finally, it works. The mbed-windows-serial-port is actually the combo drivers for all USB EPs, including MSD/HID/VCP. Thanks for your information. Now I can list all of them in WIndows.

posted by Kai Liu 15 Oct 2013

2 Answers

10 years, 6 months ago.

Have you updated latest firmaware to your unit?

https://mbed.org/handbook/Firmware-LPC800-MAX Firmware changelog¶

rev 0200:

Initial release Added CMSIS-DAP support

Hi Eero,

I followed the instructions on that page. Download 0200 firmware.

First, I can not find any F/W version info from MBED.HTM. Neither from htm page content nor from its forwards URL page. There is no JS inside that page, so it should be somewhere in the firmware.

Second, I also copied back firmware.bin from on board firmware MSD, compare with downloaded 0200 version. There are some slightly differences between them. I can tell they are minor changes.

Third, even after programming latest version to CSP DISABLED disk, the result is same. OS can find "MBED CMSIS-DAP", but neither VCP nor CMSIS-DAP debugger is listed in device manager.

I also downloaded VCP driver for mbed microcontroller. Anyway it is dedicated for VCP, not for CMSIS-DAP debugger.

Any ideas?

posted by Kai Liu 15 Oct 2013

You wrote: "But sometimes I expect to use Keil/"

http://www.keil.com/support/man/docs/dapdebug/dapdebug_introduction.htm

You need to use kiel to debug. Windows does do anything MSIS-DAP so maybe thats why it is not seen in device manager.

posted by Compass Developer 15 Oct 2013
Kai Liu
poster
10 years, 6 months ago.

I was quite confused about LPC812MAX. It seems an co-design from NXP (silicon), Embedded Artists (H/W), and your company mbed.org (all software, firmware and online tools).

The original IDE supplier for LPCXpresso CodeRed is part of NXP. However this product (LPC812MAX) seems hardly mentioned CodeRed Eclipse based IDE. Furthermore, NXP sponsors it for its shipment, fabrication.

But its support front-end seems as mbed.

Dude, who is driving LPC812MAX?

It should be shipped with a complete user manual, get started, instead of forwarding me back and forth between different web pages to look for necessary answers.