Hello NXP community,
I am interested in how the IPCF shared memory need is calculated correctly.
The project has 0x15000 of shared RAM assigend to c0 and c2 in the linker file and in the IPCF config shared mem size.
Further I created two channels with one buffer pool each. The pool of the first channel contains 18 buffers with size 4. The pool of the second channel should contain 1220 buffers of size 34.
All in all this is 18*4+1220*34=41552 raw bytes of data (0xA250).
This is way less than the available 0x15000 but still the init of the shared mem (ipc_shm_init) fails returning -2 (IPC_SHM_E_NOMEM).
When I reduce the number of buffers of the pool of the second channel to 459 (instead of 1220) it is working fine. 460 will fail again. But the total raw data is then limited to only 18*4+459*34=15678 (0x3D3E) leaving a hole of 0x112C2 bytes.
It is not possible that the configuration needs such an amount of mem space, is it? Is it a bug? What am I missing?
Note: the focus of the attached project is the configuration of IPCF not the code which is simply the example code. Breakpoint at the line of "err = ipc_shm_init(&ipcf_shm_instances_cfg);" stepping over and evaluating the error code.
Thanks in advance.