This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

J784S4XEVM: IPC and Shared Memory Configurations

Part Number: J784S4XEVM

Tool/software:

HI Team,

We are experimenting on creating shared memory between A72 and MCU R5f cores (Not mainland cores).
So, to start with, we created a simple standalone application for linux (took reference from rpmsg_char_simple) and on other side, for MCU R5F0 _1 core we have soft linked to IPC_Echo_Test (initially soft linked to vision apps).

With this setup we were able to communicate between A72 to MCU1_1 R5F cores.

Now to start with shared memory, we took reference from sample application (main_mem.c) and modified our linux sample application to allocate memory:

  • In that we tried to allocated few bytes of data using appMemAlloc() which is defined in  app_utils\utils\mem\src\app_mem_linux_dma_heap.c
  • We called appMemGetVirt2PhyBufPtr() available in the same path app_utils\utils\mem\src\app_mem_linux_dma_heap.c to generate physical memory (0x900000000 ..)
  • We memcopied 4 bytes of data (0x55555555) and sent the corresponding physical addr over IPC to MCU1_1 core

Now on R5F core, 

  • we receiving the data and memcpying the same data and to local uint32_t variable and sending back that uint32 data back to A72 over IPC

Observed:

We are observing some different value then what we sent (0x5555 5555).

Queries:

  1. We assumed that DMA_HEAP address is accessible to all cores
  2. Is this behavior is because we have built other cores for vision apps and MCU R5F core alone changed to Echo Test - So some mem map files needs to changed?
  3. Is something to do with RAT conversion?

Any quick pointers on this will be really supportive!!
We generated yocto target for ADAS image.