Hey,
I have been working with imx8mn evk board and want make use of the rpmsg module to communicate between the 2 cores. I have used the procedure mentioned in https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/Using-Cortex-M4-SDK-to-communicate-with-...
I have made changes accordingly for the imx8mn. I made changes in the SharedBoardConfig.mk. While remaking the images, it detected the changes and I observed an output that mentioned the changed file. I also was able to locate the new file in vendor/lib/modules directory.
I have been able to use the insmod command as well and booted the M7 image as found in the MCUXpresso SDK. But I am not able to echo any message as the system does not have a /dev/ttyRPMSG* port. What am I missing in the steps?
How to enable this /dev/ttyRPMSG port?
How do I establish communication between the M7 and A53 cores of the board?
PS I want to run the Android OS on A53 core and not Linux in my final prototype.
UPDATE: I was able to use the RPMSG module to establish communication between the different cores. I am still observing that the watchdog timer exits a lot. during boot I also see a line saying Unable to open /dev/watchdog: File does exists in directory. What causes this to happen? Is there a solution for the watchdog issue??
Hello,
Does this issue happen only when you add the RPMSG feature?
If using a normal Android image do you see this same behavior?
Best regards,
Aldo.
Hey Aldo,
Thank you for taking the time to respond to my queries. I am sorry for a delayed response on your questions.This only happens when i use the rpmsg feature, if I use the normal version I do not observe this issue.
A reiteration of the steps I have taken to build my custom images to be used for an application I have been working on :
1.I have made changes in the defconfig used for my project.
2.I have also accordingly tried to make changes in the dts file linked to the dtbo image.
3.I then build the kernel, other images and load them onto the imx8mn using uuu.
TIA,
Anurag
Aldo,
Thanks for your reply, but when I use the -d rpmsg flag I run into the issue that the watchdog timer exits frequently.
Hello,
May I ask which android version are you trying to use?
Also, what UUU option are you using to flash the board?
Thank you,
Aldo.
Hey Aldo,
Sorry for the delayed response
Android version is 10.0.0_2.0.0 as available on NXP website.
The kernel is custom built by using the method mentioned above to include the imx_rpmsg_tty.ko module
And the uuu command I use is
./uuu_imx_android_flash.sh -f imx8mn -a -e -t sd -d rpmsg
where uuu_imx_android_flash.sh is the file generated after the build. The only change I made is to include the ./uuu path in the .sh file
TIA,
Anurag
After further inspection using the dmesg command I found that there is no reference to the imx_rpmsg_tty.ko after the insmod. Does this mean that the .ko kernel object file was not enabled?
Also while flashing should I use the -d rpmsg flag while using UUU tool? If so I run into the issue that during the Android Boot I see the line saying that the watchdog timer exited 4 times in 4 minutes. What does this issue represent??
TIA,
Anurag
Hello,
The procedure you have follow seems fine, please note that the /dev/ttyRPMSG* port is an indicator so you most select the correct channel i.e. /dev/ttyRPMSG1
Regarding flashing, yes, use the -d rpmsg option, this will select the correct dtbo and vbmeta images and flash them.
Best regards,
Aldo.
Aldo, Thanks for your reply, but when I use the -d rpmsg flag I run into the issue that the watchdog timer exits frequently.