Programming AMC13 Flash with AMC13ToolFlash

Instructions for programming flash with AMC13ToolFlash. Flash sectors should be programmed using the latest firmware for all sectors. The flash sectors should be programmed in the following order:

Order Type Sample File Name Programming CommandSorted ascending
2 Flash Golden (Backup Spartan) amc13T2Goldenv0xfff8_6slx45t.mcs AMC13ToolFlash.exe -f pbs
1 Flash Header AMC13T2Header_6slx45t.mcs AMC13ToolFlash.exe -f pfh
4 Kintex (T1) AMC13T1v0x8126_7k325t.mcs AMC13ToolFlash.exe -f pk
3 Spartan (T2) AMC13T2v0x002d_6slx45t.mcs AMC13ToolFlash.exe -f ps

NOTE : These instructions are for initial programming of the AMC13 or for recovery of AMC13 after flash has been corrupted. This tool is not meant for typical firmware updates of a working AMC13. Firmware update should follow instructions using AMC13Tool2: AMC13Tool2Recipes#UpdateFirmware


  • Programmed T2 (Spartan) FPGA with appropriate bit or mcs file (with iMPACT) (FlashMemory#FlashProgramming)
  • Serial Number of AMC13 set (according to jumpers on T2) and IP addresses known (default SN-based IP addresses: IPaddressAssignment)
  • Working version of AMC13ToolFlash (from cactus SVN)
  • Environmental variable AMC13_ADDRESS_TABLE_PATH set to the directory with AMC13 address tables (same path as for AMC13Tool2)

Getting the files:

    Flash Header changes very rarely and there should always be a file named AMC13T2Header_6slx45t.mcs at the link here (substitute lx25t if you have an old T2 board).

    Golden T2 is the backup for the T2 in case the main image gets corrupted. This should be named something like AMC13T2Goldenv0xfff8_6slx45t.mcs where "fff8" is the version number in hex and smaller values indicate newer versions. To find the latest, go to;O=D and find the newest file named as above.

    Spartan is the newest AMC13XGT2... file from

    Kintex/Virtex is the newest AMC13XGT1... file from

Programming instructions:

  1. Make sure that you have the latest firmware files for both the Spartan and Kintex chips by downloading the latest '.mcs' files from here. Make sure to the match mcs files which have the correct chip type for T2 (lx25t vs lx45t). Put the firmware files in your current directory.
  2. Running the AMC13ToolFlash: The AMC13ToolFlash requires two input values:
    1. The AMC13 T2 IP address (following '-c' option)
    2. The flash command to execute (following '-f' option) (Flash command are as in AMC13Tool2. i.e. 'pfh', 'pbs', 'ps', and 'pv' / 'pk') (see AMC13FlashProgramming)
  3. Using the AMC13ToolFlash, program the Flash Header:
    1. Run the flash tool and specify the T2 IP address and the program flash header (pfh) flash command (in the below examples we use the IP address of a given board, but for your board replace with the actual T2 IP address)
AMC13ToolFlash.exe -c -f pfh
Address table path "/home/dzou/work/amc13//amc13/etc/amc13/" set from AMC13_ADDRESS_TABLE_PATH
Programming flash header...
before URI string init
after URI string init
Using AMC13 software ver:35359
Select appropriate file to program
serial no: 161

1. AMC13T2Header_6slx45t.mcs
2. AMC13T2v0x0025_6slx45t.mcs
3. AMC13T2v0x0026_6slx45t.mcs
4. AMC13T2Golden_6slx45t.mcs
5. AMC13T2v0x0021_6slx45t.mcs

Enter number for MCS file to select (0 to exit):
Select the appropriate MCS file (this is case, it is 1)
Enter number for MCS file to select (0 to exit): 1
Programming against file: AMC13T2Header_6slx45t.mcs...
Programming AMC13T2Header_6slx45t.mcs to flash address 0x000000...
Erasing flash sector at address 0x000000
programming flash at address 
4. Program backup Spartan (Golden) using 'pbs' flash command and otherwise similar procedure as above:
AMC13ToolFlash.exe -c -f pbs
5. Program Spartan (T2) using 'ps' flash command and otherwise similar procedure as above:
AMC13ToolFlash.exe -c -f ps
5. Program Virtex/Kintex (T1) using 'pv' or 'pk' (they are equivalent) flash command and otherwise similar procedure as above:
AMC13ToolFlash.exe -c -f pv
6. Once you have all sector programmed, power cycle AMC13 to apply firmware in flash (NOTE: Do NOT power cycle board until all sectors are programmed successfully, do so will erase the any bit files programmed to T2 and will attempt to apply the firmware currently in flash, which can cause errors if there is nothing available from a given flash sector).

-- DavidZou - 09 Apr 2015

This topic: BUCMSPublic > WebHome > HcalDTC > AMC13ProductionTesting > AMC13ToolFlash
Topic revision: r2 - 16 Sep 2015 - EricHazen
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback