Testing on Hardware - 2022.1 English

Libmetal and OpenAMP User Guide (UG1186)

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

1. Go to your PetaLinux project:

$ cd <plnx_proj>

2. Build the PetaLinux project:

$ petalinux-build

3. Boot the RPU firmware built with Xilinx ® Vitis with SD boot. Following is a BIF file example:

the_ROM_image:

{

[fsbl_config] a53_x64

[bootloader] <plnx_proj>/images/linux/zynqmp_fsbl.elf

[destination_device=pl] <plnx_proj>/images/linux/system.bit

[destination_cpu=pmu] <plnx_proj>/images/linux/pmufw.elf

[destination_cpu=r5-0] <RPU firmware>

[destination_cpu=a53-0, exception_level=el-3, trustzone] <plnx_proj>/images/linux/arm/bl31.elf

[destination_cpu=a53-0, exception_level=el-2] <plnx_proj>/images/linux/u-boot.elf

}

4. On the APU Linux target console, run the demo applications rpmsg-echo-ping-shared , matrix_multiply-shared , and rpc_demod-shared . This process produces output similar to the following:

root@xilinx-zcu102-2019_1:~# rpmsg-echo-ping-shared

metal: info:      metal_uio_dev_open: No IRQ for device 3ed20000.shm.

Successfulinitializing rpmsg vdev

Try to create rpmsg endpoint.

Successfully created rpmsg endpoint.

ly open shm device.

Successfully added shared memory

Successfully probed IPI device

Successfully initialized Linux r5 remoteproc.

Successfully initialized remoteproc

Calling mmap resource table.

Successfully mmap resource table.

Successfully set resource table to remoteproc.

Creating virtio...

Successfully created virtio device.

initializing rpmsg vdev

echo test: sent : 488

received payload number 471 of size 488

**********************************

Test Results: Error count = 0

**********************************

Quitting application .. Echo test end

rpmsg_channel_deleted

WARNING rx_vq: freeing non-empty virtqueue

WARNING tx_vq: freeing non-empty virtqueue

root@Xilinx-ZCU102-2019_1:~#

# matrix_multiply-shared

...

CLIENT> Matrix multiply: sent : 296

CLIENT> Quitting application .. Matrix multiplication end

CLIENT> **********************************

CLIENT> Test Results: Error count = 0

CLIENT> **********************************

CLIENT> rpmsg_channel_deleted

WARNING rx_vq: freeing non-empty virtqueue

WARNING tx_vq: freeing non-empty virtqueue

root@Xilinx-ZCU102-2019_1:~#

# rpc_demod-shared

login[1900]: root login on 'ttyPS0'

root@Xilinx-ZCU102-2019_1:~# proxy_app-openamp

...

Master> Remote proc resource initialized.

Master> RPMSG channel has created.

Remote>FreeRTOS Remote Procedure Call (RPC) Demonstration

Remote>***************************************************

Remote>Rpmsg based retargetting to proxy initialized..

Remote>FileIO demo ..

Remote>Creating a file on master and writing to it..

… …

Remote>Repeat demo ? (enter yes or no)

no

Remote>RPC retargetting quitting ...

Remote> Firmware's rpmsg-openamp-demo-channel going down!

Master>

RPC service exiting !!

Master> sending shutdown signal.

WARNING rx_vq: freeing non-empty virtqueue

WARNING tx_vq: freeing non-empty virtqueue

root@Xilinx-ZCU102-2019_1:~#