Flash Layout

All Flash memory programming is done with the Spartan (T2). From T2 firmware version 0x6 onward, the flash memory is organized as follows:
0x000000 header
0x100000 Spartan "golden" backup
0x200000 Spartan
0x400000 Virtex

Firmware Files

See AMC13Firmware page for current firmware releases.

NOTE: earlier versions of the spartan firmware (pre v6) use address 0x0 for the Spartan. These modules can be reloaded without a cable by writing v6 to 0x0, powercycling to configure from flash, loading the flash according to the table above, and finally powercycling to get the current configuration.

Flash Programming Instructions

1. Instructions on how to update your AMC13 firmware using AMC13Python software (recommended) are here

2. Instructions on how to update your AMC13 firmware using the xDAQ C++ AMC13Tool executable are here

3. Instructions on how to program your AMC13 from a bit file using a Xilinx JTAG cable are below:

  • Assumptions
    • You have Xilinx "Impact" software installed on your computer.
    • You have a Xilinx JTAG cable with an appropriate adapter (shown here) for connecting to the AMC13 front panel

  • NOTE: You generally should not have to program via JTAG unless your firmware has become corrupted and the AMC13 software can no longer talk to your module. If this is not the case and you can in fact communicate with your AMC13, please use the Python/C++ tools and follow the directions at the above links

  • Instructions
    1. Download the following bit file to your computer (in a known, accessible location): http://physics.bu.edu/~wusx/download/AMC13/amc13T2v6.bit
    2. Connect your JTAG cable to the bottom-most of the two 10-pin, rectangular, male sockets on the front panel of your AMC13. Note that "pin 1" is in the upper left-hand corner of the connector
    3. Once your JTAG cable is connected, open the IMPACT software on the computer which is connected to the other end of your JTAG cable
    4. The software will prompt you about loading past projects and creating new ones. Just say no/cancel to all of these opions.
    5. Once the main window for IMPACT is up, click on the Boundary Scan icon in the "iMPACT Flows" sub-window.
    6. Once you have done this, right click on the large sub-window and select intialize chain
    7. A window will then pop up asking you to assign configuration files. Cancel out of this.
    8. Make sure that at the bottom of your large sub-window, there is a blue rectangle which reads "Identify Succeeded". Also, you should now see a graphic (in this same sub-window) of both the Virtex and Spartan chips in your AMC13
    9. We want to program the Spartan chip! Right click on the graphic of the Spartan chip and select assign new configuration file
    10. This should open a file browser on your computer. Find and select the bit file that you downloaded at the start of this process.
    11. Once you have done this, click program and select ok
    12. The bit file is loaded very quickly, so don't be alarmed if it seems like nothing happened. After it has finished loading, cycle the power on your uTCA crate to reconfigure the Spartan chip from flash.
    13. Your Spartan chip should now be at firmware version 0x6.
    14. You should now be able to talk to your AMC13 via the software. Use either AMC13Tool.exe in the C++ software or p_flash.py in the Python software to update your Spartan and Virtex chips.

-- JimRohlf - 26 May 2012

This topic: BUCMSPublic > WebHome > HcalDTC > FlashMemory
Topic revision: r7 - 07 Oct 2012 - CharlieHill
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback