0

I've been developing an embedded application for months for an Adafruit Feather M4 Express board. I'm using the VSCode Arduino environment, and it's been going well, up until:

After putting down the application for about a month waiting on hardware and returning to the project, I find that my application, and any application (including example code) that I build with the VSCode/Arduino development platform dies within the first few code lines, stuck in a dummy signal handler.

I'm using a JLink debugger.

Debugger call stack

/* Default empty handler */
void Dummy_Handler(void)
{
#if defined DEBUG
  __BKPT(3);
#endif
  for (;;) { }
}

If I read the call stack info correctly, it appears that a signal handler is being called by hardware without the handler vector being initialized to point to the proper handler. This occurred without my knowingly changing anything. Is this familiar to anyone? I know the combination of VSCode/Arduino/Feather M4 is likely rare, but any thoughts or pointers would be appreciated.

I have verified that the correct C++ configuration is selected, and did a full wipe and rebuild of the object files. (The configuration had mistakenly been set to Win32 rather than Arduino earlier) No change.

I built (with VSCode) Arduino examples using the (USB) serial port, code dies at DummyHandler.

I built (with VSCode) the Arduino simple blink example, which never touches the serial hardware. This works without hitting DummyHandler (not surprising).

1
  • Problem solved. The MCU was damaged. Apparently this manifested as internal interrupts being thrown before proper handlers were installed. A fresh processor board solved the problem. Commented Jun 12 at 1:35

0