When booting a dual core application, CPU1 waits for a signal from CPU2 to confirm it has booted. This is checked by the function IPCGetBootStatus() in F2837xD_Ipc_Driver_Util.c, which checks IpcRegs.IPCBOOTSTS.
When the application was configured to boot from RAM, this worked fine, and both cores were booting and running. When I change to boot from flash, I found CPU1 was stuck in the loop waiting for IPCBOOTSTS to become non-zero. If I explicitly set IPCBOOTSTS in CPU2 code after booting, both cores seem to boot and run fine (with the exception of CPU2 CAN interrupts in my application, though I'm not sure if this is related).
How is IPCBOOTSTS set if I don't set it explicitly?
Should it be set when booting from flash without me needing to set it explicitly?
