LimeSDR-QPCIe Board Programming

Democratising Wireless Innovation
Jump to navigation Jump to search

LimeSDR-QPCIe Board Programming

This document describes how to program LimeSDR-QPCie board using LimeSuiteGUI and Cypress (for FX3 MCU only) software.

Updating USB3 Microcontroller Firmware in Bootloader Mode

Cypress FX3 USB microcontroller has an integrated boot loader, which starts automatically after power-up or reset and when no valid firmware is present in the FLASH memory.

For USB microcontroller firmware upgrade, please use the “CyControl.exe” application from cy_ssusbsuite_v1.3.3.zip package.

If FLASH memory is empty or connector J17 (on LimeSDR-USB board) is open, USB3 microcontroller boots-up into bootloader mode. Cypress drivers from cy_ssusbsuite_v1.3.3.zip package must be installed first. Download the package here. Run the “USB Control Center” application and select Cypress USB BootLoader line as shown in Figure 5.

Figure 5. Default FX3 firmware, supplied by FX3 internal logic


After entering into boot loader mode, there are two ways of uploading the firmware to USB3 microcontroller:

  • Program external SPI FLASH memory connected to USB3 controller. Follow procedure described in chapter “5.3 Uploading Firmware to SPI FLASH”. The USB3 microcontroller will boot from FLASH memory after every power-on.
  • Program internal RAM memory. Follow procedure described in chapter “5.4 Uploading Firmware to the FX3 RAM”. The memory will be cleared after first power cycle hence this step should be used for test purposes only.


Uploading Firmware to SPI FLASH Memory

Short the jumper J17 and connect LimeSDR-USB board to the PC. Start “CyControl.exe” application and select Cypress USB BootLoader as shown in Figure 5. Choose menu command Program -> FX3 -> SPI FLASH. In the status bar you will see Waiting for Cypress Boot Programmer device to enumerate.... and after some time window will appear. Select firmware image file (file extension is “*.img”) and press Open. Status bar of the USB Control Center application will indicate Programming of SPI FLASH in Progress…. This message will change to the Programming succeeded after FLASH programming is done.

If you expand Cypress USB StreamerExample line in USB Control Center application now, you will see different USB configuration as shown in Figure 6.

Figure 6. FX3 after custom firmware is downloaded


NOTE: USB3 microcontroller will boot firmware uploaded to FLASH each time after power-on if jumper J17 is shorted.

Uploading Firmware to the FX3 RAM

Start “CyControl.exe” application and select Cypress USB BootLoader as shown in Figure 5. Choose menu command Program -> FX3 -> RAM. In the new pop-up window, select firmware image file (file extension is “*.img”) and press Open. Status bar of the USB Control Center application will indicate Programming RAM. This message will change to the Programming succeeded after programming is done.

Note please that this may be used for test purposes only, while firmware will disappear from the RAM after LimeSDR-USB board power cycle.