Eleven Engineering XPD3

Functional Description

The XPD3 is the next generation USB XinC Programmer Debugger.

XPD3 is used for all firmware loading and debugging tasks with the Ginseng, Saffron, Octavia, and Sage SiPs, as well as the XInC2 and XInC2 BGA.

XPD3 retains the feature set of the old USB XPD while being up to twice as fast as the XPD 2.2. Firmware updates will enable additional XPD3 functionality in the future.

As of 2019, the XPD 2.2 is now deprecated, and will not be supported in the future. Please transition to XPD3 for continued support with firmware loading.

Diagram

XPD3 Overview

Descriptions

Reset Enable/Disable Switch

When the switch is positioned to the right (RST_DIS position), the XPD is prevented from autonomously resetting the target device. Positioning the switch to the left allows the XPD to reset the target from software.

XPD Header (compact)

Use this header to interface with targets that use the compact 50 mil pitch XPD header.

XPD Header (classic)

Use this header to interface with targets that use the classic 100 mil pitch XPD header.

Bootloader Select Header

Unplug the XPD from the PC, place a jumper on this header (P1), and plug the XPD back into the PC to upgrade the firmware on the XPD.

Changes from XPD 2.2

USB HID Support

XPD3 adopts USB HID as the standard interface with the host computer. Using the USB HID standard allows XPD3 to work with most operating systems with no drivers required.

For users that need COM port functionality, USB COM port functionality is preserved in a legacy mode.

Faster Firmware Loading

Up to 2x faster firmware loading speed vs. XPD2.2

Mounting Holes

Two mounting holes for mounting the XPD3 to a test fixture.

Firmware Update Enabled

The firmware on the XPD3 can be user-updated to enable new features in the future.

Compatible Operating Systems

Compatible Hardware

Installing Firmware Loading Tools

To use the XPD3, you need to download our firmware loading and debugging tool: sxc-xdt. You can find sxc-xdt for your platform in the Downloads section. Simply unzip sxc-xdt and place the executable in a convenient location. You may wish to add sxc-xdt to your PATH, so that it can be used from the command line in any directory.

Firmware Loading with the XPD3

Connect the XPD3 to your target board using the included programming cable. Once the programming cable is connected, connect the XPD3 to your computer using the included micro-USB cable.

XPD3 Connection Example

To download firmware, simply run sxc-xdt with the appropriate arguments, depending on the firmware file format:

FW Download Example

Firmware Loading Quick Reference

XIP Format (.xip)

The XIP format is used for packaging some SKAA-enabled wireless firmware.

Example: sxc-xdt --hid -x name_of_file.xip

TBF Format (.tbf)

The TBF format is used for packaging raw binary firmware for the XInC2.

Example: sxc-xdt --hid --tbf name_of_file.tbf

TCF Format (.tcf)

The TCF format is a container format. A TCF file can contain many individual firmware images. In the case that only one image is inside the TCF file, you can simply use --tcf filename.tcf to load the firmware.

If multiple firmware images are present in the TCF, you will need to specify which image to load, using the --tcf_entry command line option.

Example: sxc-xdt --hid --tcf name_of_file.tcf

Example: sxc-xdt --hid --tcf name_of_file.tcf --tcf_entry ginseng

HEX Format (.hex)

The hex format is used for packaging raw binary firmware for the XInC2.

Example: sxc-xdt --hid -i name_of_file.hex

HOFF Format (.hoff)

The HOFF format may contain many individual firmware entries. In the case that only one entry is inside the HOFF file, you do not need to specify a particular HOFF entry.

If multiple firmware entries are present in the HOFF, you will need to specify which entry to load, using the --hoff_entry command line option.

Example loading a single entry HOFF (for Ginseng, Saffron or Sage):

sxc-xdt --hid --force --no_xbm -r --hoff path/to/file.hoff

Example loading a multi-entry HOFF (for Nadja LS):

Loading MX2: sxc-xdt --hid --force --no_xbm -r --hoff path/to/file.hoff --hoff_entry mx2

Loading GX2: sxc-xdt --hid --force --no_xbm -r --hoff path/to/file.hoff --hoff_entry gx2 --nadja_ls_gx2

To perform a full firmware update on Nadja LS, both the MX2 and GX2 need to be loaded.

General Loading Procedure

  1. Locate the firmware file (FILE) to load, either by navigating to it or by downloading it.
  2. Download the appropriate version of sxc-xdt for your operating system and either move it into the same folder as the firmware file or add it to the system path
  3. Plug the XPD3 into a USB port on your computer and connect the XPD3 to the board to be programmed.
  4. If the XPD is in COM mode identify which port it is listed as.
  5. Use sxc-xdt to load the firmware file. Before is a list of examples:
    • Windows/HID/Sage/.hoff:

      sxc-xdt-windows.exe --hid --no_xbm --flash --hoff FILE.hoff

    • Windows/HID/Nadja LS/.hoff:

      sxc-xdt-windows.exe --hid --no_xbm --flash --hoff FILE.hoff --hoff_entry mx2
      sxc-xdt-windows.exe --hid --no_xbm --flash --hoff FILE.hoff --hoff_entry gx2 --nadja_ls_gx2

    • Windows/COM/Sage/.hoff:

      sxc-xdt-windows.exe -d <COM PORT> --no_xbm --flash --hoff FILE.hoff

    • Windows/COM/Nadja LS/.hoff:

      sxc-xdt-windows.exe -d <COM PORT> --no_xbm --flash --hoff FILE.hoff --hoff_entry mx2
      sxc-xdt-windows.exe -d <COM PORT> --no_xbm --flash --hoff FILE.hoff --hoff_entry gx2 --nadja_ls_gx2

Other Useful sxc-xdt Command-Line Options

Updating the Firmware on XPD3

To update the firmware on your XPD3, you will need to install the DfuSe Demo software package from ST Microelectronics. You can find this software in the Downloads section.

Install DfuSe demo, navigate to the install directory, and locate the "Driver" folder (typically C:\Program Files (x86)\STMicroelectronics\Software\DfuSe v3.0.5\Bin\Driver). Install the correct driver for your system.

DfuSe driver

Unplug the XPD3 from your computer. Next, populate header P1 with a jumper, and plug the XPD3 back into your PC.

Open the DfuSe Demo application. You should see the XPD3 appear as "STM Device in DFU Mode" under "Available DFU Devices", as shown in the figure below.

DfuSe 1

Click "Choose ..." under "Upgrade or Verify Action", and navigate to the firmware file you would like to install on the XPD3. XPD3 firmware files end in .dfu

DfuSe 2

Click "Upgrade". A dialog box will appear. Click OK.

DfuSe 3

After a few seconds, you should see a green bar at the bottom of the application with the message "Upgrade successful !" Unplug the XPD3 from the PC, and remove the jumper from P1. The firmware update is now complete.

DfuSe 4

Legacy COM Port Mode

XPD3 can be placed into a legacy USB COM port mode for use with software which expects a COM port.

NOTE: The legacy COM port mode is not well-supported on all operating systems. If using legacy COM port mode with Windows XP, Windows Vista, or Windows 7, you may need to install a driver. Drivers for legacy COM port mode can be found in the Downloads section.

To place the XPD3 into legacy COM port mode, first unplug the XPD3 from your PC. Next, place a jumper across pin 2 and pin 3 on header P2.

Legacy COM Port Jumper

Once the jumper has been populated, connect the XPD3 to your PC. While the jumper is present, the XPD3 will appear as a COM port on your PC.

On Windows systems, you can use the Device Manager to determine the COM port number of the XPD3.

COM port number

Finally, use the -d command line option to specify the COM port to use to sxc-xdt.

Example: sxc-xdt -d\\.\COM5 --tcf example.tcf

When the XPD3 is used as a COM port, the RTS and DTR signals control the reset function. Set RTS and DTR to hold the target in reset. Clear RTS and DTR to bring the target out of reset.

Downloads

sxc-xdt

Firmware Downloading tool and Debugger from Eleven Engineering.

sxc-xdt for Mac OS X

sxc-xdt for Windows (XP 32-bit and later)

Latest XPD3 Firmware Release

The latest firmware for the XPD3.

Latest firmware for the XPD3.

DfuSe Demo Firmware Update Tool

Use this tool to update the firmware on your XPD3.

DfuSe Demo for Windows (XPD3 Firmware Update Tool)

Legacy COM Port Drivers for Windows

Drivers to enable Legacy COM port support on old versions of Windows.

Legacy COM port driver for Windows XP/Vista/7 32-bit

Legacy COM port driver for Windows XP/Vista/7 64-bit

Legacy COM port driver for Windows 8 32-bit

Legacy COM port driver for Windows 8 64-bit

Note: No special driver is required for legacy COM support in Windows 10.