Hi All,
I am working on i.MX6SX based custom board and trying to establish RPMsg communication between A9 and M4 cores.
I able to build the M4 freeRTOS code and examples using arm-gcc toolchain provided in document "Getting Started with FreeRTOS™ BSP for i.MX 6SoloX".
I tried running pingpong_freertos example on board and observed following prints on M4 side:-
After this, I installed pingpong loadable module on A9 side (linux) , and observed no prints on A9 console or dmesg logs
Also I found following prints in dmesg (while linux boots) :-
Further I debugged on M4 side and found that M4 freeRTOS code stucks in rpmsg_rtos_init() function (specifically in env_acquire_sync_lock() api) and never comes out of it, even when i installed pingpong kernel module on A9 side.
As per "FreeRTOS BSP for i.MX 6SoloX Demo User’s Guide Rev 0" document, M4 console should display following :-
"Name service handshake is done, M4 has setup a rpmsg channel [1 ---> 1024]" to indicate handshake between 2 cores.
Could you please help me to figure out that why there is no name service handshaking print on M4 side..? and how to communicate between A9-M4c cores using RPMsg.
I am using linux kernel 4.14.174 with 512 GB RAM and running pingpong-freertos example on TCM memory.
Following is the linker file modifications i did on M4 side:-
/* Specify the memory areas */
MEMORY
{
m_interrupts (RX) : ORIGIN = 0x9FF00000, LENGTH = 0x00000240
m_text (RX) : ORIGIN = 0x9FF00240, LENGTH = 0x00017DC0
m_data (RW) : ORIGIN = 0x20000000, LENGTH = 0x00008000
}
Hi Nikhil
similar issues was described on below links (though for other processors) and one
can debug it and try provided solutions:
RPMsg task stuck in rpmsg_rtos_init on M4 - Toradex Community
Unhandled exception while loading firmware to M4 core of VF61 (Win CE 6) - Toradex Community
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------