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
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
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