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:
address |
|
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
- Download the following bit file to your computer (in a known, accessible location): http://physics.bu.edu/~wusx/download/AMC13/amc13T2v6.bit
- 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
- Once your JTAG cable is connected, open the IMPACT software on the computer which is connected to the other end of your JTAG cable
- The software will prompt you about loading past projects and creating new ones. Just say no/cancel to all of these opions.
- Once the main window for IMPACT is up, click on the Boundary Scan icon in the "iMPACT Flows" sub-window.
- Once you have done this, right click on the large sub-window and select intialize chain
- A window will then pop up asking you to assign configuration files. Cancel out of this.
- 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
- We want to program the Spartan chip! Right click on the graphic of the Spartan chip and select assign new configuration file
- This should open a file browser on your computer. Find and select the bit file that you downloaded at the start of this process.
- Once you have done this, click program and select ok
- The bit file is loaded very quickly, so don't be alarmed if it seems like nothing happened.
- Your Spartan chip should now be at firmware version 0x6. Do not cycle the power at this point.
- Use either AMC13Tool.exe in the C++ software or p_flash.py in the Python software to update the flash for your Spartan and Virtex chips. You should program all 4 flash images (
AMC13T2Header
, AMC13T2Golden
, AMC13T2Vxxxxx.mcs
and AMC13T2Vxxxxx.mcs
). After this last step is complete you should cycle the power and check that your versions are now the latest ones.
--
JimRohlf - 26 May 2012