RPmsg not available in iMX7

Hi,
I am trying the freeRTOS example codes in my iMX7 processor. And I am successful in running the str_echo_free_rtos in M4 core. But the problem is while trying RPmsg from the linux side. Following this link , while

modprobe imx_rpmsg_tty

It returned nothing and i am not able to see the /dev/ttyRPMSG

The kernel version i am using is

Linux colibri-imx7-emmc 4.9.166-2.8.6+gd899927 #1 SMP Fri Dec 6 04:12:00 UTC 2019 armv7l GNU/Linux

Also, I am using the freeRTOS examples from the link compiled by eclipse. My issue is similiar to this.

As said in the above link, Is it so that the examples provided cannot be used for RPmsg? Also how to use RPmsg with iMX7?

Thank you for your time,
Regards,
Nishanth

Hi @nishanth1829

Did you compile the freeRTOS examples by yourself?
If yes, could you share the build log?

Thanks and best regards,
Jaski

Hi @jaski.tx ,
I compiled the code from eclipse and here is the build log. There were no errors during the compilation. The problem is with RPmsg on the A7 core.
Regards,
Nishanth

Hi Nishant

Thanks for the build log. Could you please also share the dmesg log and the output of lsmod in a text file?

Thanks and best regards,
Jaski

Hi @jaski.tx ,
Here is the demsg file and lsmod file.
Thanks for your time.
Regards,Nishanth

Thanks for the files. Do you have any output from M4? In the example, this output should be on UART2 as default.

Best regards,
Jaski

Thanks for your quick response . I got the below output from M4 on UART B

RPMSG String Echo FreeRTOS RTOS API Demo…
RPMSG Init as Remote

Regards,
Nishanth

I’ve just run this example and the device on my platform is:
/dev/ttyRPMSG0

ls /dev/ttyRPM* and take a look

Hi @nrcm
I tried with this but got No such file or directory as output

Regards,
Nishanth

HI Nishant, could you share your .elf file for the M4 Controller? Thanks.

Hi jaski,
Here is the .elf file that you asked for.
Regards,
Nishanth

Hi @jaski.tx ,
The rpmsg binary example provided in this link works fine for me. But using the source code and compiling the code in eclipse and then running it from sd-card gets stuck at env_acquire_sync_lock(callback_sync); function. With reference to this question, I tried with the all the heap files, but the problem is not solved.

Thanks and regards,
Nishanth

Hi @jaski.tx ,
Did you try with the .elf file provided from our side ? I think the problem is in the M4 side as the binary provided by Toradex works fine. I am stuck in this and don’t know how to proceed further. We need to confirm our decision of switching to iMX7 from iMX6 to our product based on the result of Data acquistion from M4 through SPI and transmit data to A7 using RPMsg. Any suggestions or ideas are welcome as we are already out of time.

Thanks and regards,
Nishanth

Hi @jaski.tx ,
There was a mistake from my side that I was using a different hardware_init.c file. When I used the correct hardware_init.c file provided with the example, I could see the modprobe imx_rpmsg_tty working. Thank you for your time and cooperation.
Regards,
Nishanth

HI @nishanth1829

Perfect that it works. Thanks for the feedback.

Best regards,
Jaski