Programming AMC13 Flash with AMC13ToolFlash

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. Flash sectors should be programmed using the latest firmware for all sectors.


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

Programming instructions:

To get firmware for both the Spartan and Kintex chips download the latest '.mcs' files from here. The firmware database is the easiest place to find the most up to date versions for any chip type. Match mcs files with the chip type on your card for T2 (lx25t vs lx45t). Put the firmware files in your current directory (the tool searches the current directory for files).

Running the AMC13ToolFlash

Run the Flash Tools using:

      $ AMC13ToolFlash.exe -c 55/c -f pa
  • The -c option can either be an IP address or a serial number. Also /c can be used for control hub.
  • The flash command to execute is given by the -f option. Here "pa" means program all which will program all four sectors. Other options for programming just one sector or verifying sectors are available. Use --help to see all options.
  • More options such as listing firmware and reloading flash are available and outlined with --help.

After pressing enter a prompt will appear to pick a mcs file located in your current directory like below:

Address table path yourpath.../amc13/amc13/etc/amc13/ set from AMC13_ADDRESS_TABLE_PATH
Using control hub true
Created URI from IP address:
  T2: chtcp-2.0://localhost:10203?target=192.###.#.###:50001
  T1: chtcp-2.0://localhost:10203?target=192.###.#.###:50001
Connecting to the board...
Verifying flash header
Serial Number: 55

1. AMC13T2Header_6slx45t.mcs

Enter number for MCS file to select (0 to exit): 

Input the number corresponding to the mcs file you want to use from the prompt. Here the command is Verify Flash Header (-f vfh) so there is only one file, but multiple files will show up if more than one version is in the current directory.

Once you have all sectors programmed, run the flash tool again with the -r option to reload the flash memory (or power cycle the board):

AMC13ToolFlash.exe -c SN/c -r

(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).

The flash sectors should be programmed in the following order if not using the pa option:

AMC13ToolFlash.exe -c SN/c -f pfh -f pbs -f ps -f pk (Or run them seperately like in the below table)

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

Last Edited

-- DanielArcaro - 27 Oct 2015

-- DavidZou - 09 Apr 2015

This topic: BUCMSPublic > WebHome > HcalDTC > AMC13ProductionTesting > AMC13ToolFlash
Topic revision: r6 - 29 Oct 2015 - DavidZou
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