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:
- We assumed that DMA_HEAP address is accessible to all cores
- 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?
- Is something to do with RAT conversion?
Any quick pointers on this will be really supportive!!
We generated yocto target for ADAS image.
