Closed Teletask closed 1 year ago
Hello Diek, sorry for late response ... this is more domain of @MarekNovakNXP , Marek could you please help on this? Thanks. Regards Michal
Hello @Teletask , I was hoping @MarekNovakNXP will response, but I am not able to reach him. Anyway, your approach seems to be correct, the M4 code with creation of new endpoint on the same rpmsg_lite instance (channel) looks good, I do not see any problem here.
The new channel creation on the A7 side is caused by the second name service announcement sent from the M4 to the A7 core, I think. Linux rpmsg channels correspond to endpoints of rpmsg_lite instance running in baremetal or RTOS-based system. And, once a new name service announcement is received on the Linux side a new rpmsg channel is created. I would try to avoid calling
rpmsg_ns_announce(my_rpmsg, autobus1_ept, "rpmsg-openamp-demo-channel", RL_NS_CREATE)
if you are using rpmsg_multiept module. Hope it helps.
Regards
Michal
Hi @Teletask Were you able to solve the problem by following @MichalPrincNXP suggestions? I have the same issue and couldn't solve the problem.
I was able to solve this, just make sure you have the same string in all your announcements
rpmsg_ns_announce(my_rpmsg, autobus1_ept, "rpmsg-openamp-demo-channel", RL_NS_CREATE)
Initially I was doing rpmsg-openamp-demo-channel-1, rpmsg-openamp-demo-channel-2, etc. and it didn't like that. But when I used the same string in all the calls. it worked.
@jambamamba Thank you so much for your reply. So you could create one device/channel with two endpoints? When I do it like you suggestion(use the same string in the announcement), I find two devices/channels in my linux system. They show up as "rpmsg-openamp-demo-channel-1.0" and "rpmsg-openamp-demo-channel-1.1". Do you think it is related to the rpmsg driver I am using?
Hi
I'm trying to set up the rpmsg communication between the A7 and M4 of IMX7D. I found a rpmsg-lite example at https://github.com/EmbeddedRPC/erpc-imx-demos, was able to make it run and send some data from A7 to the M4.
The example creates only 1 channel and 1 endpoint on the M4 side. I need 2 endpoint on the same channel.
I tinkered with the example in the hope to set up a second endpoint on the same channel. But my change only lead to the creation of a second channel on the A7 side.
my attempt to create a second endpoint: `
` A snippet of the A7 debug console:
NXP i.MX Release Distro 4.14-sumo pico-imx7 ttymxc4 pico-imx7 login: root root@pico-imx7:~# cd / root@pico-imx7:/# modprobe rpmsg_multiept rpmsg: new channel 0x400 -> 0x1e rpmsg: new channel 0x401 -> 0x1f
Are there any examples or info available on how to setup multiple rpmsg endpoint on 1 channel on the M4 side?
Kind regards Diek