2398625_en-US

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

2398625_en-US

2398625_en-US

S32K388 JumpApp Only runs with core 0 active.

I created a bootloader program and placed it at addresses 0x400000 to 0x420000. Whenever I update the program via serial port, only Core 0 continues to run. How can I enable the other cores to also run?

S32_SCB->VTOR = 0x00422000;
    __asm volatile(
        "msr msp, %0"
        :
        : "r"(appStack)
        : "memory");
    ((pFunction)appEntry)();
Re: S32K388 JumpApp Only runs with core 0 active.

Hi @zhangyu5454,

You can enable the cores in the startup code. Refer to the startup code (startup_cm7.s) of the default S32DS project.

For example, if CM7_2_ENABLE == 1, the startup code will enable CM7_2 during system startup.

The cores can also be enabled later from the CM7_0 application, either by configuring the relevant registers directly or by using the MCU MCAL driver or the Power_Ip driver. Refer to this example:

https://community.nxp.com/t5/S32K-Knowledge-Base/S32K358-Multicore-Start-CM7-2-from-CM7-0/ta-p/19238...


BR, Daniel


Re: S32K388 JumpApp Only runs with core 0 active.

Thank you for your response. I have tried using Power_Ip, but when the line “Power_Ip_Init(&Power_Ip_HwIPsConfigPB);” appears in the program, the debugging process automatically ends. Moreover, even when I don’t press the reset button, the reset light remains illuminated, resulting in the device not being able to operate at all. When I use IP_MC_ME, the program runs normally, but it doesn’t produce any results. The other components also fail to start. This code snippet seems not to work well for model 388.

Re: S32K388 JumpApp Only runs with core 0 active.

Hi @zhangyu5454,

If the MCU goes through a system reset, you need to read the source of the reset.

You can call 

Power_Ip_GetResetReason();

at the beginning of main() before 

Power_Ip_Init();

Likely root cause is the V15 Switched-mode power supply - it must match the HW design.

danielmartynek_0-1785236184264.png


BR, Daniel


Re: S32K388 JumpApp Only runs with core 0 active.#S32K388
According to your advice, I will implement it in the int main(void) section. Power_Ip_GetResetReason() was called. However, the test results remain unchanged.
 
int main(void)
{
Power_Ip_GetResetReason();
        Power_Ip_Init(&Power_Ip_HwIPsConfigPB);
    Clock_Ip_Init(&Mcu_aClockConfigPB[0]);
        Power_Ip_SetMode(&Power_Ip_aModeConfigPB[0]);
while (1)
{

Re: S32K388 JumpApp Only runs with core 0 active.#S32K388

Hi @zhangyu5454,

What is the reset reason then?

If I had to guess, it would be a POR/LVR.


How is V15 powered on the PCB?

Do you configure Power_Ip accordingly?


Regards,

Daniel




Thank you.


Tags (1)
No ratings
Version history
Last update:
a week ago
Updated by: