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: 
Contributor
Contributor
988 Views
Registered: ‎01-18-2018

OpenAMP 2017.4 lwIP + remoteproc service

Hi all,

following previous posts (see below), I got a AMP up and running with RPU control from a Linux APU. So far, almost all the issues have been addressed.

 

https://forums.xilinx.com/t5/OpenAMP/Zynq-AMP-CPU1-baremetal-access-to-gem0/m-p/827569/highlight/false#M470

 

https://forums.xilinx.com/t5/OpenAMP/OpenAMP-CPU0-with-LInux-and-CPU-1-with-baremetal-Interrupt-not/m-p/823493/highlight/true#M360

 

I am still having issues in starting/stopping the remote firmware in the RPU. The RPU is running lwIP with SDK 2017.4 version. There should be a contention between the SCU timer (IRQ 29) and the "stop" mechanism required from remoteproc.

 

When I use the OpenAMP echo example, it works. Yet, using lwIP (it internally instantiates the SCU timer for tcp_fasttrm and tcp_slowtrm routines) the stop command replies as follows:

 

CPU1: failed to come online                                                            
zynq_remoteproc remoteproc@0: Can't power on cpu1 -5                                   
remoteproc remoteproc0: stopped remote processor remoteproc@0   

And the RPU firmware continues...

 

That happens each time I activate the lwIP stack, otherwise it works as expected.

 

Any suggestions?

 

Thank you,
Luca

0 Kudos
1 Reply
Highlighted
Contributor
Contributor
917 Views
Registered: ‎01-18-2018

Re: OpenAMP 2017.4 lwIP + remoteproc service

Hi all,

brief update. The SCU interrupt timer seems not interfering with the remoteproc "stop" command. This has been verified with the FreeRTOS openAMP example, which it uses the SCU timer as tick handler. In that case, the CPU1/RPU is started and then stopped correctly.

 

I am currently investigating whether the gem0 IRQ used by the lwIP on CPU1/RPU might interfere with the openAMP. Still no luck so far.

 

Thanks,

Luca

 

Config: Vivado 2017.4 with Zynq-7000 platform

0 Kudos