IPCF example code for S32k3xx

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

IPCF example code for S32k3xx

598 Views
leo_Z
Contributor III

Hello all,

I am currently working on bringing up IPCF on the S32K328 with RTD 7. Since there is no IPCF example available for this device, I first tried running the S32K324 IPCF example on an S32K324 board.

However, when I launch and debug the example, both cores immediately hit a hard fault at the stage ipc-shm.c(linenumber-813) shown in the attached image. I attempted to debug further, but the issue persists.

Could you please provide a working IPCF project for either S32K324 or preferably S32K328?
This would greatly help in validating our setup.

Thank you for your support.

leo_Z_0-1765526441409.png

 

S32K3 IPCF AUTOMOTIVE-RTD 

 

Tags (2)
0 Kudos
Reply
4 Replies

564 Views
davidtosenovjan
NXP TechSupport
NXP TechSupport

You could try to change optimization level as there were some issues there:

https://community.nxp.com/t5/S32K/S32k358-IPCF-references-or-training-support/m-p/1982974

Also check IPCF release notes if if is compatible with your setup.

 

0 Kudos
Reply

476 Views
leo_Z
Contributor III

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.
leo_Z_5-1765801531739.png

 

 
Observations
• Core 0 does set its own ready status correctly, I can see the IPC_SHM_STATE_READY is set on core 0 state
leo_Z_1-1765801134958.png

 


 

 
• 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)
leo_Z_2-1765801236418.pngleo_Z_3-1765801285606.pngleo_Z_4-1765801328986.png

 

 
 
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?
 
Tags (2)
0 Kudos
Reply

465 Views
davidtosenovjan
NXP TechSupport
NXP TechSupport

Which version of IPCF you are using?

0 Kudos
Reply

417 Views
leo_Z
Contributor III

I'm using the latest IPCF 4.3 version with RTD 7.

Do I need to use the old version?

leo_Z_0-1765862734828.png

 

Tags (2)
0 Kudos
Reply