cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
hubas82
Observer
Observer
4,499 Views
Registered: ‎11-17-2017

OpenAMP on Zynq-7000 (Zedboard)

Jump to solution

Hello

 

I'm having difficulties on running the OpenAMP Example (echo_test) on a Zynq-7000.

 

What I did so far:

- Executed all the steps in UG1186 on the Zedboard BSP Project

- Changed the addresses in the openamp device tree coz the zedboard has 512MB RAM only (0x3e000000 -> 0x1e000000)

- Created a new application in the SDK with the OpenAMP Echo template

- Changed the addresses in the Linkerscript and the rsc_table (acc to the device tree)

- Copied the elf-file in /lib/firmware of the zynq linux

 

When I start this elf-file with the remoteproc0 I got the message  "remote processor remoteproc@0 is now up"
Then I load the "rpmsg_user_dev_driver" and start the "echo_test" app. There I got the message "Failed to open rpmsg file /dev/rpmsg0.: No such file or directory"

 

So, my question is, how is this rpmsg0 device activated/created?

 

Thanks

 

Used Tools:

- Vivado 2017.3

- Petalinux 2017.3

- SDK 2017.3

0 Kudos
1 Solution

Accepted Solutions
jovitac
Moderator
Moderator
5,921 Views
Registered: ‎05-10-2017

You don't have a rpmsg channel being created.

Could you please verify your device-tree (see attached)

To disable initialization of shared resources when the master processor is handling shared resources initialization, add: -DUSE_AMP=1 (to extra compiler flags in bsp settings)

Make sure you have ps_cortex_a9_1 selected to run as your slave processor for your echo-test application

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

View solution in original post

0 Kudos
7 Replies
jovitac
Moderator
Moderator
4,471 Views
Registered: ‎05-10-2017

You need to load the rpmsg module and start rpu firmware.

 

I tried this out for a ZC702 bsp. This is how your console output should look like

 

zc702_openamp.PNG

 

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
hubas82
Observer
Observer
4,450 Views
Registered: ‎11-17-2017

Thanks for your answer. The difference to UG1186 is that you load the RPMsg module before starting the remoteproc. I tried it out but I still have the same situation. After starting the remoteproc the Core #1 is in suspended state (checked with the XSCT Console). When I start execution of Core #1 with XSCT (con command) the Linux kernel crashes.

 

My console:

console_remoteproc.png

 

What could be problem that remoteproc doesn't initialize the resources?

 

Thanks for another hint!

 

 

0 Kudos
hubas82
Observer
Observer
4,445 Views
Registered: ‎11-17-2017

Update...

I compiled the Remote App (echo_test) in Release configuration. When I use this image I have this situation:

console_remoteproc

After configuring and starting remoteproc the Linux kernel crashes.

0 Kudos
jovitac
Moderator
Moderator
5,922 Views
Registered: ‎05-10-2017

You don't have a rpmsg channel being created.

Could you please verify your device-tree (see attached)

To disable initialization of shared resources when the master processor is handling shared resources initialization, add: -DUSE_AMP=1 (to extra compiler flags in bsp settings)

Make sure you have ps_cortex_a9_1 selected to run as your slave processor for your echo-test application

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

View solution in original post

0 Kudos
hubas82
Observer
Observer
4,431 Views
Registered: ‎11-17-2017

I just checked your hits and it works now. The problem was the missing compiler flag USE_AMP=1 in the bsp.

Thanks a lot for your help.

0 Kudos
1,766 Views
Registered: ‎02-22-2018

Hi hubas82,

Could you please explain the steps you mentioned:

- Changed the addresses in the openamp device tree coz the zedboard has 512MB RAM only (0x3e000000 -> 0x1e000000)

- Changed the addresses in the Linkerscript and the rsc_table (acc to the device tree)

 

Where should I look to see if I need those changes?

Best,

guelermus

0 Kudos
aeonjose
Participant
Participant
1,480 Views
Registered: ‎12-09-2019

Can anyone help me resolve this problem.10.JPG

using 2018.2 (everything). zc706 zynq board.

 

0 Kudos