Booting LPC-Link2, Updating LPCXpresso firmware

Booting LPC-Link2

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: 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.

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.

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, as below:

For 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
and will appear in Windows -> Devices and Printers, as below:

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, as below:
 

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:

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
  • 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:

 

Updating LPCXpresso firmware

LPCXpresso range of development boards from NXP which include the LPC-Link 2 interface can be firmware updated to include mbed USB disk programming capabilities.

Below is a quick guide to how to carry out this update.

Requirements

Instructions

1. Fit jumper JP3

 

3. Run dfusec.exe

  • Browse to the correct Algorithm file (the correct one should be selected by default)
  • Download the binary for your board from the list below, and then :
    • Browse to the binary
    • Set the parameter : "Address"
    • Set the parameter : "Size"
  • Press the start button on the PC application... wait... done :-)

4. Remove the jumper JP3 and unplug/plug in the LPCXpresso

You should now have an mbed flash disk for drag and drop programming

Binary Downloads

 

posted @ 2015-09-01 15:46  IAmAProgrammer  阅读(1426)  评论(0编辑  收藏  举报