Hello everyone,
I'm trying to develop an RPMSG application to communicate between cortex A and cortex M of the i.MX93 EVK and be able to pass a data structure from cortex M to cortex A.
To develop it, I code on VS Code with the MCU Xpresso extension and use the GNU Arm toolchain. I use a SEGGER J Link probe to debug cortex M.
I am basing myself on the rpmsg_lite_pingpong_rtos demo provided in SDK_MCIMX93-EVK.
To be able to run in debug completely the RPMSG pingpong demonstration, I need to load the linux module imx_rpmsg_pingpong. I therefore set up debugging of the Cortex-M33 while the Cortex-A55 is under Linux, as specified in AN14120.
So I tried to debug the pingpong demo but I run into a problem: the program waits indefinitely in the rpmsg_lite_wait_for_link_up() function.
When I load on the cortex M the rpmsg_lite_pingpong_rtos.elf file built on VS Code, using remoteproc, it works perfectly. Only in debug mode do I encounter this problem.
I have seen on other forum topics the same problem encountered with IMX8MM cards, but after reading those topics, I have not been able to find a solution.
Could someone please explain why RPMsg doesn't work when debugged, and help me solve this ?
Thanks in advance.