Issue in RPMsg communication between A9-M4 for i.MX6SX

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Issue in RPMsg communication between A9-M4 for i.MX6SX

815 Views
nikhil3karale
Contributor I

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:-

m4_log.PNG

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) :- 

a9_rpmsg_log.PNG

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
}

Labels (3)
0 Kudos
1 Reply

762 Views
igorpadykov
NXP Employee
NXP Employee

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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos