AnsweredAssumed Answered

Booting LPC-Link2

Question asked by LPCware Support on Mar 31, 2016

Overview


 

The recommended way to use LPC-Link2 with the LPCXpresso IDE is to boot and soft load a debug firmware image at the start of a debug session.

 

Normally, LPC-Link 2 is booted automatically, however under certain circumstances - such as when using the command line flash utility, you may need to boot it manually.

 

Note: Any drivers required for LPC-Link2 are automatically installed during an LPCXpresso IDE installation.

Note: Both the LPCXpresso V2/V3 boards and RDB4078 incorporate a built in LPC-Link2 debug probe, so this FAQ equally applies to these boards.

Note: This FAQ only applies to LPC-Link2 hardware when configured to operate in DFU mode, it does not apply if the LPC-Link2 hardware is configured to boot from a debug firmware image held in flash such as CMSIS-DAP. If you wish to program a debug firmware image into flash please see the LPCScrypt tool.

 

Background


 

When powered on, LPC-Link 2 hardware makes use of the DFU mechanism (Device Firmware Update) to allow the LPCXpresso IDE to download debug firmware into the on-board RAM. This scheme offers great flexibility and ensures that the latest compatible firmware will be used for a given version of the IDE.

 

Note: For LPC-Link2 to DFU boot: ensure there is no link on JP1 (nearest USB) and power cycle
Note: For LPCXpresso V2/V3 to DFU boot: make DFU link (near debug USB port) and power cycle

 

Before boot, LPC-Link 2 appears as a USB device with details:

 

Device VendorID/ProductID:   0x1FC9/0x000C    (NXP Semiconductors)

 

and will appear in Windows -> Devices and Printers similar to below (as of LPCXpresso IDE v8.1, the NXP CMSIS-DAP version number is V5.147):

 

and will appear in Windows -> Devices and Printers, as below:

lpc.png

From LPCXpresso IDE v7.8 onwards: After boot, LPC-Link2 will by default appear as a USB device with details:

 

Device VendorID/ProductID:   0x1FC9/0x0090

 

and will appear in Windows -> Devices and Printers similar to below (as of LPCXpresso IDE v8.1, the NXP CMSIS-DAP version number is V5.147):

 

lpclink2.png

Note: LPCXpresso IDE prior to v7.8:  After boot, LPC-Link2 will by default appear as a USB device with details:

 

Device VendorID/ProductID:   0x21BD/0x0006

 

For information on setting the LPCXpresso IDE default debug firmware see: Configuring which LPC-Link2 firmware image to soft-load

Note: the standard utilities to explore USB devices on our supported host platforms are:

  • Windows - Device Manager
    • LPCXpressoIDE also provides a listusb utility in:
      • <install_dir>\lpcxpresso\bin\Scripts
  • Linux - terminal command: lsusb
  • Mac OSX - terminal command: system_profiler SPUSBDataType

The procedure to manually boot the probe is shown below.

Using the Command Line


 

From LPCXpresso IDE version 7.3x and later, we now supply a boot script for all supported platforms. To make use of this script:

  • cd <install_dir>\lpcxpresso\bin and run
  • boot_link2

For version of LPCXpresso IDE earlier than version 7.3 -  you will need to locate the dfu-util utility and pass the parameters for the device and code etc. as below:

  • cd <install_dir>\lpcxpresso\bin and run
  • dfu-util -d 1FC9:000C -c 0 -t 2048 -R -D LPC432x_Redlink_V4_30.bin.hdr
    • LPC432x_Redlink_V4_30.bin.hdr is the file name for the firmware supplied in LPCXpresso IDE V 7.2.0
      • Note: The exact name of the .hdr file may change between different tools releases, please ensure you use the name of the correct name!

Using the GUI


 

It is also possible to manually boot LPC-Link 2 from the GUI, on occasion this may be a more convenient solution than using the command line.To do this, locate the red Boot icon on the Toolbar:

 

bootdebug.png

 

Ensure CMSIS-DAP is selected and click OK:

debugprobe.png

Troubleshooting


 

If you have been able to use LPC-Link 2 in a debug session but now see issues such as "No compatible emulator available" or "Priority 0 connection to this core already taken"  when trying to perform a debug operation ...

  • ensure you have shut down any previous debug session
    • You must close a debug session (press the Red 'terminate' button) before starting another debug session
  • It is possible that the debug driver is still running in the background. Use the task manager or equivalent to kill any tasks called:
    • redlinkserv
    • arm-none-eabi_gdb*
    • crt_emu_*

 

If your host has never worked with LPC-Link 2, first perform some basic checks with reference to the background information at the beginning of this FAQ.

  • Try a different USB cable!
  • Try a different USB port. If your host has USB3 and USB2, then try a USB2 port
    • there are know issues with motherboard USB3 firmware, ensure your host is using the latest driver from the manufacturer
      • Note: this is not referencing the host OS driver but the motherboard firmware of the USB port
  • If using a USB hub, first try a direct connection to the host computer
  • If using a USB hub, try using one with a separate power supply - rather than relying on the supply over USB from your PC.
  • Try completely removing and re-installing the host device driver. See also LPC-Link2 fails to enumerate with CMSIS-DAP
  • If using Windows 8.1, then sometimes the Windows USB power settings can cause problems. For more details use your favourite search engine to search for "windows 8 usb power settings" or similar. For example:

Additional information


Outcomes