Hi @davidtosenovjan , Thanks for the Reply
I am facing an issue where both cores are stuck waiting for the remote core ready status.
Issue Description
1. Initially, I was getting a HardFault during IPCF initialization.
2. Even with compiler optimization disabled, the HardFault persisted.
3. When I disabled the MPU Flag, the HardFault disappeared and:
• I am now able to debug both cores successfully.
However, after this point:
• Both cores are stuck in a loop checking “remote core ready”
• The application does not proceed beyond this stage.
⸻
Observations
• Core 0 does set its own ready status correctly, I can see the IPC_SHM_STATE_READY is set on core 0 state
• Even though Core 1 keeps waiting and never detects Core 0 as ready
• Similarly, Core 0 keeps waiting for Core 1
• This suggests the ready status is not being fetched correctly from shared memory
⸻
Shared Memory / Linker Investigation
• I noticed that in my initial setup, no explicit shared memory was allocated in the linker scripts for IPCF on either core.
• Based on the IPCF Configuration Tool output, I:
• Allocated 4 KB IPCF shared memory region for both Core 0 and Core 1
• Updated the linker files accordingly
• Made corresponding updates in the startup code (Core 0)
Despite these changes:
• Both cores are still stuck waiting for the remote core ready flag
I will attach the projects too for your reference.
⸻
Question / Help Needed
Could you please help me understand:
1. Why both cores are unable to read the remote core ready status even though each core sets its own ready flag?
2. Are there any specific requirements for:
• IPCF shared memory placement?
• MPU configuration (shareable / cacheable attributes)?
• Cache maintenance operations required during IPCF bring-up?
3. Is there a minimum working IPCF example for S32K324 that can be used as a reference?
4. Are there any startup sequence dependencies (core boot order / synchronization) that must be followed before IPCF initialization?