Hi Arnaud,
Arnaud POULIQUEN wrote:
Hello,
----Cut----------
I have a use case for which I am trying to use OpenAMP with Baremetal
running on M4 and Zephyr on M7. This is different from the way the OpenAMP Ping Pong application is written. In our use case, CM4 boots first and wake up CM7. In this scenario, should I run Host on CM4 and Remote on CM7? So I assume I need to switch the code on CM7 and CM4 for this. The CM4 is responsible for system configuration in our case. So I think CM7 should go to stop mode and and exit the mode after CM4 does system clock configuration and then proceed to start the RPMSG application. So In this case I assume CM4 does the resource table init and CM7 wait. I am planning do this change and test the code, but would appreciate if you could comment if I am on the right track. Later I plan to update and test Zephyr remote RPMSG application to work with this CM4 Baremetal RPMSG application for evaluation. It depends on with core is managing the memories.
By managing the memories, I assume you are referring to the VirtIO buffer management? I am new to this code and I am not able to see any document. So please bear with me.
In the OpenAMP ping-pong example is the memory managed by CM7 (Host)? I see that resource_table is initialized by CM7 (Host) and I assume CM7 is also managing memories. Correct? So Can I assume memory management is Host's responsibility in this design?
I am trying to use OpenAMP in our use case and looking for direction as to how to customize it for our application. What I have tested is OpenAMP Bare-metal ping-pong which is based on resource table. As you have correctly gathered, I have tested the static vring implementation in zephyr. Glad to know that there is a resource table based remote example on CM4 in Zephyr to run on a STM32 SoC. I am interested in that since I am planning to run resource table based Bare-metal example on CM4. First I would like to switch role and get the code working on a Bare-metal project. Then integrate the CM4 side with Zephyr Remote example on CM7.
Since you had suggested to me to modify Zephyr side Remote example to run on CM7 as Remote in the below response, I assume I am on right track and should be running the Bare-metal Host/Master on CM4. Please correct me otherwise.
If you are using static vring implementation in zephyr, I suppose that it should work keeping CM7 as host. If you are using the resource table ( that seems the case), the https://elixir.bootlin.com/zephyr/latest/source/samples/subsys/ipc/openamp_r... Should be quite easily adapted to support CM7
Yes, I will use the resource table based remote/slave example on Zephy (CM7) and modify the code as needed.
Regards,
Murali
Murali
Openamp-rp mailing list -- openamp-rp@lists.openampproject.org To unsubscribe send an email to openamp-rp- leave@lists.openampproject.org -- Openamp-rp mailing list -- openamp-rp@lists.openampproject.org To unsubscribe send an email to openamp-rp- leave@lists.openampproject.org