-
Notifications
You must be signed in to change notification settings - Fork 7.4k
OpenAMP as service for multiple users #20419
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@nordic-krch : if you want to see an example of simple instance created in a device, you can have a look here. This is the shared I2C demo we showed during the ELCE in Lyon. please notice that in this demo The application processor is running a Linux and the coprocessor is running a Zephyr (i'm reworking my the Linux code associated to upload it on my github...) Then please find here the list of the future topics to discuss in OpenAMP community: |
@arnopo thanks for the answer. Still today there are couple of things missing in the openamp framework:
|
Your point is not crystal clear for me....so please tell me if i misunderstood
|
@arnopo i was not clear then. I meant that i want to run bluetooth sample on application core. Application core has no radio but has OpenAMP hci driver. So i enable it in kconfig and that should run. OpenAMP instance should be initialized under the hood by the system and hci driver should only create/attach its endpoint. Currently, to do that we had to add OpenAMP instance initialization in hci driver. With that approach if i want to enable another module which is using OpenAMP I need to initialize OpenAMP instance there too, assuming that OpenAMP supports multiple instances on single IPM. I would like to see a service in zephyr where after enabling OpenAMP in kconfig I get OpenAMP device which i can use in any module. In module which is using OpenAMP it would look something like:
Today complex initialization procedure (metallib, ipm, openamp,..) is done in sample code: https://github.com/zephyrproject-rtos/zephyr/blob/master/samples/subsys/ipc/openamp/src/main.c |
@nordic-krch And you are right need a generic way to declare/initiate RPMsg based on DT with rpmsg client declared as childs.
|
Not in near future on my side. And then, in a second step, find a comment way to ease the OpenAMP initialization relying on DT. |
@arnopo this is now done
|
@ioannisg : Unfortunately, I haven't found the bandwidth to work on it yet. And I probably won't have the bandwidth for a while. |
@galak this is coming up as a requirement, is there plans on your side to address this? |
Hi! This thing start to hit my door too. Is there any update/roadmap? |
This is now complete |
Is your feature request related to a problem? Please describe.
Currently, open_amp is available only as a simple demo (
samples/subsys/ipc/openamp
) where initialization is performed inside main.c of the example. It's not generic enough to add it to any application and it does not show how multiple, independent users shall use open_amp. There is a need to support registration of multiple users to open_amp instance to exchange messages. Multi-domain logger or shell capable of executing commands on remote core are examples of generic services that may be added along application specific open_amp communication.Different open_amp users will have different priorities and that should also be handled by this
open_amp manager
.Describe the solution you'd like
I would like to see a module or device which will manage single open_amp instance. I would like to register an endpoint with specified priority. open_amp manager would be initilized during startup.
The text was updated successfully, but these errors were encountered: