• Uncategorized

About linux : Issue-Virtio-rpmsg-bus-virtio0-msg-received-with-no-recipient—in-Yocto-Hardknott—imx7d-pico

Question Detail

I’m correctly generating my image Yocto-hardknott-technexion with this:

$ mkdir tn-imx-yocto
$ cd tn-imx-yocto
$ repo init -u https://github.com/TechNexion/tn-imx-yocto-manifest.git -b hardknott_5.10.y-next -m imx-5.10.52-2.1.0.xml
$ repo sync -j8
$ DISTRO=fsl-imx-x11 MACHINE=pico-imx7 BASEBOARD=pi source tn-setup-release.sh -b build-x11-pico-imx7
$ bitbake core-image-base

Then after I run modprobe imx_rpmsg_tty I have issue: virtio_rpmsg_bus virtio0: msg received with no recipient

I tried this: https://community.toradex.com/t/rpmsg-error-virtio-rpmsg-bus-virtio0-msg-received-with-no-recipient/12701
But not solved yet

When I change lines 83 and 102 from src to dst I got the error below(also look at the last photo):

/home/neuberfran/freertos-tn/examples/imx7d_pico_m4/demo_apps/rpmsg/str_echo_freertos/str_echo_freertos.c: In function 'StrEchoTask':
/home/neuberfran/freertos-tn/examples/imx7d_pico_m4/demo_apps/rpmsg/str_echo_freertos/str_echo_freertos.c:83:75: error: 'dst' undeclared (first use in this function)
         result = rpmsg_rtos_recv_nocopy(app_chnl->rp_ept, &rx_buf, &len, &dst, 0xFFFFFFFF);
                                                                           ^
/home/neuberfran/freertos-tn/examples/imx7d_pico_m4/demo_apps/rpmsg/str_echo_freertos/str_echo_freertos.c:83:75: note: each undeclared identifier is reported only once for each function it appears in
/home/neuberfran/freertos-tn/examples/imx7d_pico_m4/demo_apps/rpmsg/str_echo_freertos/str_echo_freertos.c:63:19: warning: unused variable 'src' [-Wunused-variable]
     unsigned long src;
                   ^
make[2]: *** [CMakeFiles/rpmsg_str_echo_freertos_example.dir/build.make:94: CMakeFiles/rpmsg_str_echo_freertos_example.dir/home/neuberfran/freertos-tn/examples/imx7d_pico_m4/demo_apps/rpmsg/str_echo_freertos/str_echo_freertos.c.obj] Erro 1
make[2]: ** Esperando que outros processos terminem.
make[1]: *** [CMakeFiles/Makefile2:76: CMakeFiles/rpmsg_str_echo_freertos_example.dir/all] Erro 2

The error is being printed on line 761:
https://elixir.bootlin.com/linux/latest/source/drivers/rpmsg/virtio_rpmsg_bus.c#L761

How to solve?

edited: I think the problem can be stay in Vring[0] Vring1. Link below. Because I can put

#define VRING0_BASE     0xBFFF0000
#define VRING1_BASE     0xBFFF8000 

in platform_info.c But I can’t do changes in imx_rpmsg.c

https://imxdev.gitlab.io/tutorial/Multicore_communication_on_WaRP7_using_Remote_Processor_Messaging_bus_(RPMsg)/

Question Answer

I started to resolve my issue after on 04/13/2022 When I edited this post/issue and put this link: https://imxdev.gitlab.io/tutorial/Multicore_communication_on_WaRP7_using_Remote_Processor_Messaging_bus_(RPMsg)/

In freertos-tn/middleware/multicore/open-amp/porting/imx7d-m4/platform_info.c file #define VRING1_BASE correct is 0x9FFF8000
But in my platform_info.c was 0x9FFF0000

Now, I can run RPMsg with str_echo_freertos script/example:

Good morning,
We got the same problem in our project when there was no destination address set in message coming from the real-time controller (M7 in our case; Before we had M4. both in imx8-derivates).
Attached you see the tx-no copy call of our implementation. First try in my case was to extract the messages from downstream message and swap the addresses.
the call; Here we use the addresses stored in the bwloe stated list

The list with our channels (we build the kernel-module separately to add those cahnnel names

For a first try, send a message from Linux to sub-core, take the sender’s address and set it as destination in the answer.
Hopefully you can get it running with this information. Please let me know.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.