UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor kido.
Visitor
251 Views
Registered: ‎06-13-2018

Can not execute Libmetal Demo of UG1186 (the zynqmp_R5 remoteproc driver does not work)

Hello

I have tried to run libmetal demo which described in UG1186 page 12 to 19.
But I could't load R5 firmware via remoteproc.

I coudn't find "remoteproc0/farmware" file in /sys/class/remoteproc/  path.

The boot message shows remotorproc driver was failed as follow.

   10.646482] mmc0: SDHCI controller on ff170000.mmc [ff170000.mmc] using ADMA 64-bit
[   10.662055] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[   10.669068] rtc_zynqmp ffa60000.rtc: setting system clock to 2019-07-17 05:28:26 UTC (1563341306)
[   10.677944] of_cfs_init
[   10.680403] of_cfs_init: OK
[   10.683322] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[   10.725880] mmc0: new high speed SDHC card at address 0007
[   10.731910] mmcblk0: mmc0:0007 SD32G 29.0 GiB
[   10.738762]  mmcblk0: p1
[   10.827525] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[   10.834058] clk: Not disabling unused clocks
[   10.838323] ALSA device list:
[   10.841289]   #0: DisplayPort monitor
[   10.845203] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[   10.853818] cfg80211: failed to load regulatory.db
[   10.858805] Freeing unused kernel memory: 832K
[   10.875348] Run /init as init process
INIT: version 2.88 booting
[   10.951372] [drm] Cannot find any crtc or sizes
Starting udev
[   11.005282] udevd[1991]: starting version 3.2.5
[   11.010112] random: udevd: uninitialized urandom read (16 bytes read)
[   11.016602] random: udevd: uninitialized urandom read (16 bytes read)
[   11.023102] random: udevd: uninitialized urandom read (16 bytes read)
[   11.034319] udevd[1992]: starting eudev-3.2.5
[   11.096383] mali: loading out-of-tree module taints kernel.
[   11.138215] zynqmp_r5_remoteproc ff9a0100.zynqmp_r5_rproc: RPU core_conf: split0
[   11.145663] zynqmp_r5_remoteproc ff9a0100.zynqmp_r5_rproc: Invalid core_conf mode provided - split0 , 0
[   11.164065] zynqmp_r5_remoteproc: probe of ff9a0100.zynqmp_r5_rproc failed with error -22
[   11.566627] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.

I attached device-tree file. but this file basically same as what UG1186 says.

Would you please advice me what is worng and what should I do?

Tags (1)
0 Kudos
6 Replies
Moderator
Moderator
230 Views
Registered: ‎05-10-2017

Re: Can not execute Libmetal Demo of UG1186 (the zynqmp_R5 remoteproc driver does not work)

Which version of the tools are you using? Could you please attach the recipe for your rpu application as well?

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Visitor kido.
Visitor
218 Views
Registered: ‎06-13-2018

Re: Can not execute Libmetal Demo of UG1186 (the zynqmp_R5 remoteproc driver does not work)

Thank you for your reply

The version is Petalinux2019.1 SDK is also 2019.1.

Boot up by SD-card. not using  PL so does not include bitstream file.

LInux only generaate /sys/class/remoteproc

It does not have /sys/class/remoteproc/remoteproc0/firmware and /state

So I can not execute  following command  using any kind of firmware.

"echo <firmware_name>> /sys/class/remoteproc/remoteproc0/firmware"

What do you mean the "recipe for RPU application"?

I would like to onlyu try the libmetal_amp_demo.c(for R5 side) with procedure which is shown in UG1186.

0 Kudos
Moderator
Moderator
204 Views
Registered: ‎05-10-2017

Re: Can not execute Libmetal Demo of UG1186 (the zynqmp_R5 remoteproc driver does not work)

You have 2 applications in libmetal - libmetal linux app, libmetal rpu application.

These are installed in /usr/bin and /lib/firmware directory in rootfs as shown on page 18 in the user guide.

Step 7, on page 18 shows how to do this and has the recipe example.

Did you do this step as well? 

 

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Visitor kido.
Visitor
190 Views
Registered: ‎06-13-2018

Re: Can not execute Libmetal Demo of UG1186 (the zynqmp_R5 remoteproc driver does not work)

No I didn't do step 7.

Becaues I boot up by SD card, so I can copy the libmetal application from SD card to /lib/firmware.

My problem is that I couldn't find /sys/class/remoterproc/remotoproc0 folder.

So, I can't execute

"echo LibmetalDemo.elf > /sys/class/rempteproc/remoteproc0/firmware"  command.

This is the problem. 

 

0 Kudos
Visitor kido.
Visitor
158 Views
Registered: ‎06-13-2018

Re: Can not execute Libmetal Demo of UG1186 (the zynqmp_R5 remoteproc driver does not work)

I could run Libmetal Demo using Petalinux 2018.3

So, I think Petalinux 2019.1 has a problem related with remoteproc or

UG1186-May 22-2019 is not fit for Petalinux 2019.1

It seems that Petalinux 2019.1 requierd diffrent device-tree file from older version.

Thank you.

 

 

0 Kudos
Moderator
Moderator
144 Views
Registered: ‎05-10-2017

Re: Can not execute Libmetal Demo of UG1186 (the zynqmp_R5 remoteproc driver does not work)

You are right. We updated the device-tree for the openamp demo but missed doing it for libmetal. I have created a CR to get this addressed.

Please use the device-tree below for 2019.1

/include/ "system-conf.dtsi"
/{
	reserved-memory {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;
		rproc_0_reserved: rproc@3ed000000 {
			no-map;
			reg = <0x0 0x3ed00000 0x0 0x2000000>;
		};
	};
	amba {
	/* Shared memory */
		shm0: shm@0 {
			compatible = "shm_uio";
			reg = <0x0 0x3ed80000 0x0 0x1000000>;
		};
		/* IPI device */
		ipi_amp: ipi@ff340000 {
			compatible = "ipi_uio";
			reg = <0x0 0xff340000 0x0 0x1000>;
			interrupt-parent = <&gic>;
			interrupts = <0 29 4>;
		};
		zynqmp-rpu {
			compatible = "xlnx,zynqmp-r5-remoteproc-1.0";
			#address-cells = <2>;
			#size-cells = <2>;
			ranges;
			core_conf = "split";
			
			r5_0: r5@0 {
				#address-cells = <2>;
				#size-cells = <2>;
				ranges;
				pnode-id = <0x7>;
								
				tcm_0_a: tcm_0@0 {
					reg = <0x0 0xFFE00000 0x0 0x10000>;
					pnode-id = <0xf>;
				};
				tcm_0_b: tcm_0@1 {
					reg = <0x0 0xFFE20000 0x0 0x10000>;
					pnode-id = <0x10>;
				};
			};
		};
	};
};

&ttc0 {
	compatible = "ttc0";
	status = "okay";
};

&i2c1 {

	/* FIXME PL i2c via PCA9306 - u45 */
	/* FIXME MSP430 - u41 - not detected */
	i2c-mux@74 { /* u34 */
		i2c@0 { /* i2c mw 74 0 1 */
			/*
			 * IIC_EEPROM 1kB memory which uses 256B blocks
			 * where every block has different address.
			 *    0 - 256B address 0x54
			 * 256B - 512B address 0x55
			 * 512B - 768B address 0x56
			 * 768B - 1024B address 0x57
			 */
			eeprom: eeprom@54 { /* u23 */
				compatible = "atmel,24c08";
				reg = <0x54>;
			};
		};
	};
};
-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos