I've posted this same message to the Xilinx support forum, but thought I'd try here as well.
I have created an AMP configuration using a MicroZed board where the master processor is running PetaLinux and the remote processor is running FreeRTOS. This design is based off the proxy_app example and successfully boots both processors and executes code on both processors that communicate using the mechanisms from the example. In addition, I am able to control custom QSPI blocks instantiated within the PL section of the Zynq from the remote process and receive interrupts for these peripherals in the remote processor.
I need to be able to control several GPIOs from the remote processor and I am unable to do this. I first started with GPIOs that are routed to EMIO, but had no luck. I then went back to attempt to use the LED GPIO (on MIO47) on the MicroZed and that fails as well. If I use the same code in a stand-alone project (non-AMP with FreeRTOS code running on processor 0), I can successfully control all the EMIOs, but porting that code to the AMP design does not allow any GPIO control.
Is there some initialization that must be done to allow access to the PS peripherals such as the GPIO or others to be accessed by the remote processor in this configuration?
All tools and Petalinux are version 2015.4. Thanks in advance for any help anyone can provide.