Difference: AMC13ToolFlash (2 vs. 3)

Revision 327 Oct 2015 - DanielArcaro

Line: 1 to 1
 
META TOPICPARENT name="AMC13ProductionTesting"

Programming AMC13 Flash with AMC13ToolFlash

Changed:
<
<
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:
>
>
Instructions for programming flash with AMC13ToolFlash. Flash sectors should be programmed using the latest firmware for all sectors. 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
 
Changed:
<
<
Order Type Sample File Name Programming Command
1 Flash Header AMC13T2Header_6slx45t.mcs AMC13ToolFlash.exe -f pfh
2 Flash Golden (Backup Spartan) amc13T2Goldenv0xfff8_6slx45t.mcs AMC13ToolFlash.exe -f pbs
3 Spartan (T2) AMC13T2v0x002d_6slx45t.mcs AMC13ToolFlash.exe -f ps
4 Kintex (T1) AMC13T1v0x8126_7k325t.mcs AMC13ToolFlash.exe -f pk

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

Prerequisites:

>
>

Prerequisites:

 
  • 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)
Changed:
<
<
Getting the files:
>
>

Getting Firmware:

 
    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).
Changed:
<
<
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 http://physics.bu.edu/~wusx/download/AMC13/?C=M;O=D and find the newest file named as above.
>
>
Golden T2 is the backup for the T2 in case the main image gets corrupted. This is named AMC13T2Goldenv0xfff8_6slx45t.mcs where "fff8" is the version number in hex and smaller values indicate newer versions. To find the latest, go to http://physics.bu.edu/~wusx/download/AMC13/?C=M;O=D and find the newest file named as above.
  Spartan is the newest AMC13XGT2... file from http://ohm.bu.edu/~dzou/firmware.cgi.

Kintex/Virtex is the newest AMC13XGT1... file from http://ohm.bu.edu/~dzou/firmware.cgi.

Changed:
<
<
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 192.168.2.188 with the actual T2 IP address)
AMC13ToolFlash.exe -c 192.168.2.188 -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

>
>

Programming instructions:

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.

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.

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

Address table path /home/djarcaro/cms/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.168.1.144:50001
  T1: chtcp-2.0://localhost:10203?target=192.168.1.145:50001
Connecting to the board...
---------------------------------------------------
Verifying flash header
Serial Number: 55

1. AMC13T2v0x0029_6slx45t.mcs
2. AMC13T2v0x002d_6slx45t.mcs
3. AMC13T2Header_6slx45t.mcs
 4. AMC13T2Golden_6slx45t.mcs
Deleted:
<
<
5. AMC13T2v0x0021_6slx45t.mcs
  Enter number for MCS file to select (0 to exit):
Changed:
<
<
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 192.168.2.188 -f pbs
5. Program Spartan (T2) using 'ps' flash command and otherwise similar procedure as above:
AMC13ToolFlash.exe -c 192.168.2.188 -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 192.168.2.188 -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).
>
>

Select the correct mcs file corresponding to the prompt. Here the command is Verify Flash Header (-f vfh) so 3 would be the correct mcs file.

Once you have all sector programmed, run the flash tool with the -r option to reload the flash memory (or power cycle the board)(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:

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

NOTE :

  -- DavidZou - 09 Apr 2015
 
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