Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Two out of the four available network ports need to be configured:

PortNameDescription
MTCA port 0enp1s0f1Internal administration network.  Configure as 192.168.40.0/24 network, see below for existing nodes on this network.
Front panel ETH0enpls0f3External network.  I suggest not configuring any routing to the internal network.

The administration network connects to the MCH and the P2040 CPU on the AMC card.  By default the following addresses are assigned:

AddressDevice
192.168.40.250

MCH.  Connect to this as root with password root, or use ipmitool, for example:

Code Block
ipmitool -I lan -H 192.168.40.250 -U '' -P '' shell
192.168.40.200

AMC525.  If more than one AMC525 is installed the network address will need to be changed by logging on through the serial console (user root, no password) and editing /etc/network/interfaces.  Note that this CPU sees 4 network ports, but only eth0 is used (eth1 connects to MTCA port 1 which we're not using, and eth2 and eth3 connect to the FPGA where they will be ignored).

This interface will be used for programming the FPGA.

We can now validate the system by logging on to the MCH and AMC525 cards through the internal network.

...

At some point before running the software the MBF kernel driver will need to be installed on the AMC720 processor. The following top level makefile targets may be helpful:

TargetDescription
driverBuilds kernel module amc525_lmbf.ko in build/kbuild-$(uname -r).  Needs to be run on target system for module to be usable.
insmodEnsures kernel module is built and runs insmod to add to the current kernel.  Needs to be run on target system.
driver-rpmBuilds DKMS based RPM for driver.  Can be run on any system, resulting RPM can be permanently installed on target system.

The details of how to manage driver installation are somewhat distribution specific.  Once the module has been installed it should be automatically picked up when the FPGA is loaded.

...

If the kernel driver has not yet been installed, now install it and run ls /dev.  The following files should be present:

Device NodeDescription
amc525_lmbf.0.regRegister interface device node.  Used for control of MBF system.
amc525_lmbf.0.ddr0Access to fast memory buffer for bunch by bunch capture readout.
amc525_lmbf.0.ddr1Access to slow memory buffer for detector readout.
amc525_lmbf/Directory containing physical address links to device nodes.

The system is now ready to run the software.  Note that once the processor has been booted with a loaded FPGA present it won't need to be rebooted again if a fresh FPGA image is loaded until the whole system is power-cycled.

Note also that reloading the FPGA while the software is running is likely to trigger a kernel panic on the main processor (interrupted PCIe transactions don't seem to be handled well!), and hot-swapping the AMC is equally likely to do this.

Bringing up Software