The XilMailbox library provides an interface for the users to send messages to various entities. The library is designed to run on top of Xilinx® standalone BSPs. It acts as a bridge
between the user application and the messaging hardware device like IPI. It provides the required functionality to the user application for sending the messages.

Library Sources

The source code for the driver is included with the Vitis Unified Software Platform installation, as well as being available in the Xilinx Github repository. 

Library Name Path in VitisPath in Github
Xilfpga<Vitis Install Directory>/data/embedded/lib/sw_services/xilmailbox_v1_3https://github.com/Xilinx/embeddedsw/tree/master/lib/sw_services/xilmailbox

The driver source code is organized into different folders.  The table below shows the axidma driver source organization. 

DocProvides the API and data structure details
dataDriver .tcl and .mld file
examplesExample applications that show how to use the driver features
srcLibrary source files

Library Implementation

For a full list of features supported by this  library, please refer to the xilmailbox


The following features are supported in Zynq UltraScale+ MPSoC platform:

  • Message sending
  •  Receiving messages

The following features are supported in Versal platform:

  • Message sending
  •  Receiving messages

Known Issues and Limitations

  • None

Example Design Architecture

For design Architecture deatails please refer to the xilmailbox

Example Applications

Refer to the driver examples directory for various example applications that exercise the different features of the driver.

Each application is linked in the table below. The following sections describe the usage and expected output of the various applications.

These example applications can be imported into the Vitis IDE from the Board Support Package  settings tab. 

Links to Examples

Examples Path: https://github.com/Xilinx/embeddedsw/tree/master/lib/sw_services/xilmailbox/examples

Test NameExample SourceDescription
Mailbox examolexilmailbox_example.cTransfer messages and receive the message.

Example Application Usage

Mailbox example

Transfer the messages.

Expected Output