Using the tool at P5:
- ssh cmsusr0
- ssh hcaldaq12 (use bash shell and .bashrc to set enironment)
- AMC13Tool.exe
Pick an action (h for menu): fv
Virtex Firmware Version: 0x17
Spartan Firmware Version: 0xb
Using the tool at Boston University:
- ssh daq@cms2
- cd amc13
- source hcalupgrade.csh (using tcsh shell)
- ./bin/linux/x86_64_slc5/AMC13Tool.exe
Pick an action (h for menu): fv
Virtex Firmware Version: 0x17
Spartan Firmware Version: 0xb
Funtionality
- *=q=
- quit program *=do =: execute a shell script
*=sh =: execute a shell
*=i (d) (f) (t) (b)=: enable AMC13 *== is the list of AMC inputs to be enabled (of ports 0-11) *'=d=' is an optional flag to enable the 'DAQLink' bit on register 'CONTROL1' (address 0x1) *'=f=' is an optional flag to enable the 'Fake Data Generation' bit on register 'CONTROL1' (address 0x1) *'=t=' is an optional flag to enable the 'TTCRx Commands' bit on register 'CONTROL1' (address 0x1) *'=b=' is an optional flag to enable the 'Stop EVB when Monitor Buffer Full' bit on register 'CONTROL1' (address 0x1)
- *NOTE
- '=en=' is a synonym to '=i=' *=st =: displays the status of the AMC13 registers and counters *== is an optional numeric entry to set the detail of the display (0 least detailed, 2 most detailed)
- *=rg=
- sends a reset to both Spartan and Virtex chips by writing a 0x1 to their 'CONTROL0' regisers (address 0x0)
- *=rc=
- resets the counters on the Virtex chip *=rs(v) [count]=: read registers from the Spartan (Virtex) chip *== is the address to be read. Can either be the numeric register address or the register name from the Address Table *=[count]= is the number of words to be read from the chip. The addresses are read incrementally starting from
*e.g.
Pick an action (h for menu): rv 0x0 10
Reading T1 from address 0x0 to address 0x9:
00000000: 0300004b
00000001: 00170001
00000002: 00000000
00000003: 04100410
00000004: 12340111
00000005: 0be90000
00000006: 00000018
00000007: 00000000
00000008: 00000000
00000009: 0d800d80
*=brs(v) [count]=: block read Spartan (Virtex) chip *== is the starting address of the block read *=[count]= is the number of addresses to be read from the block *=frs(v) [count]=: FIFO read from the Spartan (Virtex) chip *== is the address to be FIFO read *=[count]= is the number of reads to be carried out at
*=ws(v) [count]=: write to Spartan (Virtex) chip *== is the address to be written to *= is the data to be written to
*=[count]= is the number of addresses to be read incrementally from
fv |
get firmware version |
i |
init (reset spartan and virtex and enable TTC) |
res |
reset spartan |
rev |
reset virtex |
v |
virtex voltages |
t |
virtex die temperature |
enT |
enable TTC |
erT |
TTC error counts |
s(v)T n |
read spartan (virtex) TTC n times |
ras(v) |
read all spartan (virtex) registers |
rs(v) add n |
single read spartan (virtex) n words from add |
rrs(v) |
read spartan (virtex) by register name |
ws(v) add n |
single write spartan (virtex) n words from add |
brs(v) add n |
block read spartan (virtex) n words from add |
frs(v) add n |
read spartan (virtex) fifo |
wrs(v) |
write spartan (virtex) by register name |
bws(v) add data n |
block write spartan (virtex) |
qws(v) add data |
queued write spartan (virtex) data |
fws(v) add data n |
write spartan (virtex) fifo |
rf add |
read 256 bytes from flash at add |
vfh |
verify flash header |
vs(v) |
verify spartan (virtex) flash |
vbs |
verify spartan backup flash |
PFH |
program flash header |
PS(V) |
program spartan (virtex) flash |
PBS |
program spartan backup flash |
L |
load (both spartan and virtex) firmware from flash |
--
JimRohlf - 26 May 2012