LimeSDR-QPCIe Board Programming: Difference between revisions
Line 73: | Line 73: | ||
==== Uploading FPGA Gateware to FLASH Memory using LimeSuiteGUI ==== | ==== Uploading FPGA Gateware to FLASH Memory using LimeSuiteGUI ==== | ||
This section describes how to load custom gateware to LimeSDR- | This section describes how to load custom gateware to LimeSDR-QPCIe board FPGA Flash memory. | ||
The Altera Cyclone | The Altera Cyclone V FPGA which sits on the LimeSDR-QPCIe board can be programmed using “LimeSuiteGUI”software. To call FPGA programing function, go to Modules from main menu and select Programing form the drop down menu, as shown in Figure 1. | ||
New window appears, as shown in the Figure 2. | New window appears, as shown in the Figure 2. | ||
Software loads raw | Software loads raw programming data files (*.rpd) to FPGA and it offers couple options to do that, see Figure 7. | ||
[[File:LimeSDR-USB-LMS-7-Suite-Modules-Programming-Mode.jpg|thumb|center|600px|Figure 7. FPGA programing options]] | [[File:LimeSDR-USB-LMS-7-Suite-Modules-Programming-Mode.jpg|thumb|center|600px|Figure 7. FPGA programing options]] | ||
Select Bitstream to FLASH programming mode. This function loads selected *. | Select Bitstream to FLASH programming mode. This function loads selected *.rpd file from PC to external FPGA FLASH memory. Select required bitstream file by clicking Open and initiate FLASH memory programing by clicking on Program. | ||
The new message will come up when the programing is finished, as shown in Figure 8. | The new message will come up when the programing is finished, as shown in Figure 8. | ||
Line 91: | Line 91: | ||
After writing new bitstream to Flash memory, it can be loaded to FPGA by changing Programing mode to Bitstream from Flash and pressing Program. New bitstream will be loaded to FPGA. Each time board is powered up, | After writing new bitstream to Flash memory, it can be loaded to FPGA by changing Programing mode to Bitstream from Flash and pressing Program. New bitstream will be loaded to FPGA. Each time board is powered up, FPGA bitstream is loaded from FLASH automatically. |
Revision as of 14:27, 12 March 2019
LimeSDR-QPCIe Board Programming
This document describes how to program LimeSDR-QPCie board using LimeSuiteGUI and Cypress (for FX3 MCU only) software.
Updating FX3 Firmware using LimeSuiteGUI
The firmware of FX3 MCU contains a functionality which enables to program FLASH memory FX3 MCU boots up from. In this case FX3 USB controller firmware can be updated using “LimeSuiteGUI” software, when FX3 MCU can boot from FLASH memory.
To call FPGA programing function, launch LimeSuiteGUI and connect to the board (see Launching LimeSuiteGUI and Connecting to the Board for more information). Then go to Modules from main menu and select Programing form the drop down menu, as shown in Figure 1.
New window appears, as shown in the Figure 2.
Change device to “FX3” and press “Open” and select firmware image file.
Initiate FLASH memory programing by clicking Program.
The new message will come up when programing is finished, as shown in Figure 4.
After successful firmware update, connect to the LimeSDR-QPCIe board again as described in Launching LimeSuiteGUI and Connecting to the Board.
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 J28 (on LimeSDR-QPCIe 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.
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 J28 and connect LimeSDR-QPCIe 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.
NOTE: USB3 microcontroller will boot firmware uploaded to FLASH each time after power-on if jumper J28 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-QPCIe board power cycle.
Uploading FPGA Gateware to FLASH Memory
There are two ways of uploading FPGA gateware to onboard FLASH memory:
- Using LimeSuiteGUI (requires FX3 Firmware to be already uploaded)
- Using JTAG programming cable
Uploading FPGA Gateware to FLASH Memory using LimeSuiteGUI
This section describes how to load custom gateware to LimeSDR-QPCIe board FPGA Flash memory.
The Altera Cyclone V FPGA which sits on the LimeSDR-QPCIe board can be programmed using “LimeSuiteGUI”software. To call FPGA programing function, go to Modules from main menu and select Programing form the drop down menu, as shown in Figure 1.
New window appears, as shown in the Figure 2.
Software loads raw programming data files (*.rpd) to FPGA and it offers couple options to do that, see Figure 7.
Select Bitstream to FLASH programming mode. This function loads selected *.rpd file from PC to external FPGA FLASH memory. Select required bitstream file by clicking Open and initiate FLASH memory programing by clicking on Program.
The new message will come up when the programing is finished, as shown in Figure 8.
After writing new bitstream to Flash memory, it can be loaded to FPGA by changing Programing mode to Bitstream from Flash and pressing Program. New bitstream will be loaded to FPGA. Each time board is powered up, FPGA bitstream is loaded from FLASH automatically.