The XRF4 system can be controlled using a MATLAB GUI that communicates with the main XRF4 application (xrf4-startup) over a TCP/IP connection. Another application (xrf4-console) is also packaged into the Linux system. It can be used over a UART console and is provided mainly for debug purposes. Both applications are Python based and use Pyro (Python remote objects) library to interact over TCP/IP. The XRF4 main application uses a set of over-loadable APIs to access underlying hardware layers.
The MATLAB based host control GUI for XRF4 control can be opened inside the DFE evaluation tool GUI or opened in standalone. When the MATLAB GUI is operated inside the DFE evaluation tool environment, the XRF4 system controller IP address is acquired by the DFE GUI using an SPI controller. There is also a standalone mode XRF4 MATLAB based GUI that can be used without the DFE GUI. For more information, see AMD support.
The XRF4 API layer is a set of Linux user-space APIs that interact with Linux kernel drivers using system calls such as ioctl and mmap, which in turn talk to IP blocks in the FPGA using the AXI4-Lite memory mapped interface. The following figure shows the XRF4 system controller software view.