cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
1,008 Views
Registered: ‎06-25-2019

Running an application on Cortex-R5 in ZCU102

I am trying to run a simple matrix multiplication application on Cortex-R5 of Zynq Ultrascale+ ZCU102. I have created a openamp matrix multiplication demo application in xilinx sdk and created a BOOT.bin including the matrix multiplication elf named "openamp_test". 

Here is the .bif file to generate BOOT file:

//arch = zynqmp; split = false; format = BIN
the_ROM_image:
{
	[fsbl_config]a53_x64
	[bootloader]fsbl.elf
	[pmufw_image]pmufw.elf
	[destination_device = pl] system_top.bit
	[destination_cpu = a53-0, exception_level = el-3, trustzone]bl31.elf
	[destination_cpu = a53-0, exception_level = el-2] u-boot.elf
	[destination_cpu = r5-0] openamp_test.elf
}

I enabled  Remoteproc drivers while configuring linux kernel as mentioned in the document ug1186(v2018.3).

How to run the application running on R5 from linux userspace running on A53? Is there any example code available to do this?

Any help is greatly appreciated. 

 

Note: ADI Linux has been used to boot the board.

 

Thanks.

0 Kudos
3 Replies
Highlighted
Xilinx Employee
Xilinx Employee
979 Views
Registered: ‎09-01-2014

Please refer to "Boot RPU firmware with remoteproc sysfs " section in ug1186.
If you want to load R5 firmware via remoteproc from Linux. you need to put the firmware in the /lib/firmware directory.
if you put the r5 firmware in the Bootimage as your BIF. R5 firmware will be loaded by FSBL during booting.
0 Kudos
Highlighted
Visitor
Visitor
974 Views
Registered: ‎06-25-2019

yes, I have tested Hello world application running on R5 using FSBL. But now I want to run matrix multiplication on RPU by giving matrices to that application and want to get back the result. How to do that from linux userspace? Is there any reference/code to do that?

Note: I am using ADI Linux (not Petalinux).

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
967 Views
Registered: ‎09-01-2014

You can use openamp RPmsg to communicate between Cortex-a53 and Cortex-R5.
Openamp is just a library, you can use it on your Linux and Petalinux is just a build tool, not an OS.
0 Kudos