S32k324 multi core debugging

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

S32k324 multi core debugging

683 Views
AntoZ
Contributor II

Hi there,

I'm trying to run both core in s32 design studio , but I cant able to run core 1 app, here is my project flow

Bootloader -> core0 app -> initialize the Core 1 .

After core 1 initialized ,I'm using flag in shared memory , in which core 1 will set a flag once gets into main, while bootloader in core 0 wait and monitor for the flag to be set before jump into core0 app .

I attached both the the core 0 and  core 1 elf file as additional object file in debug config of  bootloader project , and launched the bootloader debug flash.

up to status bit check is okay , but bootloader stuck at core 1 status flag check becoz flag in core1 application  is not set by core 1, i checked the that respective memory , 

while (IP_MC_ME->PRTN0_CORE1_PUPD == MC_ME_PRTN0_CORE1_PUPD_CCUPD_MASK);

while((IP_MC_ME->PRTN0_CORE1_STAT&0x0001) != 1);

 

while(core1Status != CORE_STATUS_INIT_DONE){} // bootloader stuck at here

 

And I tried steps mentioned in S32K324 DUAL CORES DEBUG WITH P&E MULTILINK  pdf file , not working.

when i launched the core0 and core1 apps alone by launch group with attach to

running target is enabled in core1 debug config,

core0 app is launched but it terminated automatically after core1 is launched

and core 1 app running

and it set the core1 status flag, but core0 is terminated

 

1. I want to run both core simultaneously(at least i want a ack from core1 by setting the core 1 status flag) I want to make sure core 1 is running .

2. how can i debug both core simultaneously.

 

Can ant one help me with this?

Thank You

 

 

0 Kudos
Reply
2 Replies

622 Views
AntoZ
Contributor II

Hi there, i get to know  debugging both core with group launch in debug  config 

But i have bootloader elf and core 0 and core 1 app elf  , I want to start the core 1 by core 0 bootloader , up to status bit its okay , but core 1 app is not running ,becoz the flag set by core 1 is not set by it ,

1. I want to make sure core 1 is initialized by core 0 , but core 1 app is not running

2. I Didn't connect my debugger to core 1 , is this the reason core 1 app is not running?

Could anyone help me with this case

this is my code 

//enable core1 clock

IP_MC_ME->PRTN0_CORE1_PCONF |= MC_ME_PRTN0_CORE1_PCONF_CCE_MASK;

//setup startup address

IP_MC_ME->PRTN0_CORE1_ADDR = Core1_start_address;

//update changes on core1

IP_MC_ME->PRTN0_CORE1_PUPD |= MC_ME_PRTN0_CORE1_PUPD_CCUPD_MASK;

//write protection key to process configuration

IP_MC_ME->CTL_KEY = 0x5AF0;

IP_MC_ME->CTL_KEY = 0xA50F;

//wait for apply changes

while (IP_MC_ME->PRTN0_CORE1_PUPD == MC_ME_PRTN0_CORE1_PUPD_CCUPD_MASK);

while((IP_MC_ME->PRTN0_CORE1_STAT&0x0001) != 1); // up to this okay

 

while(core1Status != CORE_STATUS_INIT_DONE){} // Bootloader continuously monitoring , but flag is not set by core 1

0 Kudos
Reply

601 Views
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @AntoZ,

If you are using the S32K324 DUAL CORES DEBUG WITH P&E MULTILINK pdf, you also tested the Solved: S32K324 Multi-Core Examples from the community example? Or is this project from scratch?

Also, are you using any RTD, or is this baremetal? I've sent you a private message regarding a sample project for multi-core in S32K324.

Best regards,
Julián

0 Kudos
Reply