Running Rpmsg-Lite Bare-Metal using MCUXpresso SDK 24.12

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Running Rpmsg-Lite Bare-Metal using MCUXpresso SDK 24.12

1,186件の閲覧回数
michaelschuehle
Contributor II

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.

0 件の賞賛
返信
1 返信

1,100件の閲覧回数
danielchen
NXP TechSupport
NXP TechSupport

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

0 件の賞賛
返信