OpenAMP Xilinx Vitis Key Source Files - 2022.1 English

Libmetal and OpenAMP User Guide (UG1186)

Document ID
UG1186
Release Date
2022-06-15
Version
2022.1 English

The following key source files are available in the Xilinx Vitis application

Platform Info ( platform_info.c/.h ): These files contain hard-coded, platform-specific values used to get necessary information for OpenAMP.

° #define IPI_IRQ_VECT_ID : The Inter-Processor Interrupt (IPI) vector of IPI agent used for interprocessor communication.

° #define IPI_BASE_ADDR : The base address of IPI agent used for interprocessor communication.

° #define IPI_CHN_BITMASK : The IPI bit mask for remote processor. This is necessary because the bit mask identifies which remote processor to communicate with. Bit mask information can be found in the TRM. https://www.xilinx.com/html_docs/registers/ug1087/ug1087-zynq-ultrascale-registers.html#_overview.html

Resource Table ( rsc_table.c/.h ): The resource table contains entries that specify the memory and virtIO device resources. The virtIO device contains device features, vring addresses, size, and alignment information. The resource table entries are specified in rsc_table.c and the remote_resource_table structure is specified in rsc_table.h .

Helper ( helper.c/.h ) : They contain platform-specific APIs that allow the remote application to communicate with the hardware. They include functions to initialize and control the GIC.

Application code ( src/<application>.c ): In the src directory of the application in XVitis, the specific application is located (rpmsg-echo.c/matrix_multiply.c/rpc_demo.c)