As StenS correctly mentioned, ILLEGAL_BP means that debugger get lost (MCU behavior is different from behavior which debugger expects). Typical root cause is unexpected interrupt or BDM communication lost.
- Please check voltage levels at IRQ, XIRQ pins. There should be logical 1 (e.g. 5V).
- Use attached interrupt catcher example code for detection of unexpected interrupts.
Interrupt catcher you can use for debugging or directly in your software. Few general notes:
a) You should replace lines for expected interrupt by your interrupts routines as in example of SCI0 interrupt routine.
b) All interrupt vectors are only 16bit addresses, therefore all your interrupt routines must be placed in non banked memory (for example by #pragma commands)
c) Interrupt number 0 presents POR reset vector, 1 is CM reset, 2 is COP reset, … , 119 is Spurious Interrupt. Interrupt number = (0xFE-Vector Address)/2. See Table Interrupt Vector Locations at RM. For Example: Interrupt number of SCI0 = (0xFE-D6)/2 = 0x14 = 20.
3. Please check stability of your bus clock (ECLK pin) and stability of power supply voltage(s).
4.…