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.

TMS320F28388D: CPU1 hitting NMI when it tries to boot CPU2 with empty flash

Part Number: TMS320F28388D


Hi,

I am running simple blink led example "led_ex1_c28x_dual_blinky_cpu1" on CPU1 core. This example works fine without any problems. But If I erase CPU2 flash completely using the option Tools->On-Chip flash-> Erase. and do power cycle the led in CPU1 does not blink. When I connect in TI debugger and ensure only symbols are loaded for CPU1 and set EMU boot mode to Flash and check the CPU1 always hits NMI in interrupt.h

static void Interrupt_nmiHandler(void)
{
//
// A non-maskable interrupt has occurred, indicating that a hardware error
// has occurred in the system. You can use SysCtl_getNMIFlagStatus() to
// to read the NMIFLG register and determine what caused the NMI.
//
ESTOP0;
for(;;)
{
;
}
}

This problem does not occur if we do a rest of CPU1 in debugger. Also if I comment the line Device_bootCPU2(BOOTMODE_BOOT_TO_FLASH_SECTOR0); in the file led_ex1_c28x_dual_blinky_cpu1.c this issue does not occur.

Can you clarify the following doubts?

  1. Any specific reason why CPU1 will hit NMI if it tries to boot empty CPU2 after power cycle?
  2. Why doing CPU1 reset in debugger does not cause NMI?
  3. I do not see the same behavior in F2837xD. Is this expected only for F2838x?

Thanks,

Aditya