---+ Firmware Flashing

You will need Xilinx's "lab tools" package (or a full ISE/EDK installation). You can obtain the lab tools, which are stand-alone and don't need a license, from http://www.xilinx.com/support/download/index.htm.

The .MCS, .bin, .ub, and filesystem.tar.gz files discussed in this section can be found on the FirmwareReleases page

Simple (but slow) method

  • Connect a Xilinx "Platform USB" cable to the board's JTAG header (J20). All but the grey cable should connect; both the header and flyaway pins are labeled.
  • Power up the cryo board. The "Platform USB" cable's LED should go from amber to green. (If it doesn't, the cable's drivers aren't correctly installed. In Linux, try the setup_pcusb script that came with the tools. Also, see http://www.xilinx.com/support/answers/29310.htm)
  • Start up Xilinx's "Impact" tool
  • Follow the prompts to automatically create a project and detect the cable. If the cable is auto-detected, you should see an icon in the Impact window representing the FPGA.
  • Right Click on the "SPI" icon just above the FPGA icon, then 'Add SPI Flash' and assign a .MCS file from the firmware releases page. The flash is the Winbond W25Q64BVSFIG, (may appear as W25Q64BV/CV (note the 64 bit, not 128 bit) and should be programmed in quad (4-bit) mode. Right click and select 'program.'
  • This method takes ~20 minutes to complete. (There's no good reason for it to take this long, but there's nothing we can do about it! I'm hoping the tools become faster in the future.)

Impact crashes

I (Tijmen) had some issues where Xilinx Impact 14.7 would crash at critical moments on Windows 8.1. A youtube video led to the solution:

Published on Sep 12, 2013
Having problems with Xilinx ISE on 64 bit Windows 8? Can't open the License manager to install a license during install?

Here's a fix:

Rename libPortability.dll to libPortability.dll.orig, and copy libPortabilityNOSH.dll to libPortability.dll. Do this in: C:\Xilinx\14.5\ISE_DS\ISE\lib\nt64 C:\Xilinx\14.5\ISE_DS\common\lib\nt64 (copy dll from first location) This turns off SmartHeap. This will fix ISE and iMPACT crashes on file dialogs. This information was found from another thread, thank you howardp from Xilinx in this thread: http://forums.xilinx.com/xlnx/board/c...

Complicated (but faster) method

This method is faster than the above, but requires some oversight.

  • Build an up-to-date MicroSD card with the bitstream.bin file you intend to use on it; put this MicroSD card in the Cryo board's socket
  • Connect a Xilinx "Platform USB" cable to the board's JTAG header (J20)
  • Power up the board
  • Program the FPGA in Impact with this file
  • Program the FPGA in XMD with this file
    • connect mb mdm
    • stop; dow simpleImage.cryo; run (this will take 3-4 minutes)
  • Follow the directions below to flash the board.

Upgrading an Already Flashed Board

If you have a cryo board with an older firmware release, you may upgrade it without a JTAG programmer as follows:

Update the flash

You should update the flash first, using the filesystem and kernel images from an older, working release.

  • copy the .bin bitstream to your MicroSD card (we'll call this file bitstream.bin)
  • eject the MicroSD card from your PC; insert it into your cryo board
  • boot up the board
  • using telnet or RS-232, log into your board (username "root" / no password)
  • double-check that the bitstream.bin file is the right size and shape
    • we suggest running md5sum /bitstream.bin and ensuring this matches the md5sum of the firmware file on the wiki
  • run flashcp /bitstream.bin /dev/mtd0
  • leave your board powered on until this command completes, otherwise you can brick your board. This will take several minutes.

Update the filesystem and kernel

  • Update the MicroSD card using released simpleImage.cryo.ub and filesystem.tar.gz files as usual.

Topic attachments
I Attachment Action Size Date Who Comment
Unknown file formatbit download.bit manage 2681.3 K 2011-01-26 - 23:26 GraemeSmecher  
Unknown file formatgz filesystem_oct19_2010.tar.gz manage 4115.8 K 2010-10-20 - 03:36 GraemeSmecher  
Unknown file formatmcs flash_oct19_2010.mcs manage 7161.7 K 2010-10-20 - 03:18 GraemeSmecher  
Unknown file formatub kernel_oct19_2010.ub manage 5076.6 K 2010-10-20 - 03:21 GraemeSmecher  
Unknown file formatcryo simpleImage.cryo manage 4155.1 K 2011-01-26 - 23:25 GraemeSmecher  

This topic: CryoElectronics > WebHome > FirmwareFlashing Topic revision: r10 - 2014-10-20 - TijmenDeHaan
© 2020 Winterland Cosmology Lab, McGill University, Montréal, Québec, Canada