This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28377D: I'm having trouble understanding the device boot sequence for CPU2.

Part Number: TMS320F28377D

Hello,

I don't fully understand how the flash boot sequence works for starting CPU2.

When I manually launch both CPU1 and CPU2 in sequence from CCS, the system functions correctly. However, upon a board reset and automatic boot, only CPU1 boots successfully. CPU2 appears to remain in a wait state.

In CPU1 I give the following command after all initializations:

    Device_bootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH);
 
In CPU2 I do the following:

    IpcRegs.IPCBOOTSTS = C2_BOOTROM_BOOTSTS_SYSTEM_READY;

    WaitForIpcFlag(31);

    AckIpcFlag(0);
    AckIpcFlag(31);

    IpcRegs.IPCBOOTSTS = C2_BOOTROM_BOOTSTS_C2TOC1_IGNORE;
I've reviewed similar threads on the E2E Forum, but I'm still unclear on the correct process to follow.
 
Thanks.
  • I've resolved the issue.
    CPU2 was actually starting, but it didn't get for some reason the IPC Flag 31 in Stand Alone mode, so it was waiting in WaitForIpcFlag(31);
     

        Device_bootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH);
        DELAY_US(10000);
        SendIpcFlag(31);
    This worked for me.