Hi,
I'm trying to make a simple rpmsg-lite programm using the bare metal environment from the 24.12 SDK.
My Hardware is the Phytec phyCORE®-i.MX 8M Plus Module mounted on the Phytec Pollux Dev-Board.
The M7 core is started from the linux side with remoteproc.
After the BOARD_InitHardware() call I execute my bss_rpmsg_init() function.
#define RPMSG_LITE_NS_ANNOUNCE_STRING "rpmsg-raw"
#define LOCAL_EPT_ADDR (30U)
int bss_rpmsg_init(void){
logDebug("bss_rpmsg_init()");
copyResourceTable();
__disable_irq();
my_rpmsg = rpmsg_lite_remote_init((void *)RPMSG_LITE_SHMEM_BASE, RPMSG_LITE_LINK_ID, RL_NO_FLAGS);
__enable_irq();
logDebug("wait for link up ...");
rpmsg_lite_wait_for_link_up(my_rpmsg, RL_BLOCK);
logDebug("link up");
logDebug("create ept ...");
my_ept1 = rpmsg_lite_create_ept(my_rpmsg, LOCAL_EPT_ADDR, rpmsg_rx_cb, &myStruct);
logDebug("done");
logDebug("announce ns: %s", RPMSG_LITE_NS_ANNOUNCE_STRING);
(void)rpmsg_ns_announce(my_rpmsg, my_ept1, RPMSG_LITE_NS_ANNOUNCE_STRING, RL_NS_CREATE);
logDebug("Nameservice sent, ready for incoming messages...");
return 0;
}
On the Linux side I'm running a 6.6.23 kernel based on https://github.com/phytec/linux-phytec-imx/tree/v6.6.52-2.2.0-phy
Following is the Linux-Console Output:
[860311.074110] remoteproc remoteproc0: Booting fw image /lib/firmware/PDM-600_iMX7D-M4.elf, size 261696
[860311.084054] rproc-virtio rproc-virtio.3.auto: assigned reserved memory node vdevbuffer@55400000
[860311.097941] virtio_rpmsg_bus virtio0: rpmsg host is online
[860311.103675] rproc-virtio rproc-virtio.3.auto: registered virtio0 (type 7)
[860311.110594] remoteproc remoteproc0: remote processor imx-rproc is now up
[860311.128014] virtio_rpmsg_bus virtio0: msg received with no recipient
The message "virtio_rpmsg_bus virtio0: msg received with no recipient" is triggered after the rpmsg_ns_announce() call.
This can be traced back to the virtio_rpmsg_bus.c Module
The expected on the Linux side is a Message like: "virtio_rpmsg_bus virtio0: creating channel rpmsg-raw addr 0x1e"
Attached are my CMakeLists and config.cmake files.
Hi Michael
I would suggest you check below link, a similar issue was discussed.
virtio rpmsg bus virtio0: msg received with no recipient - NXP Community
Regards
Daniel