Help! Cannot re-flash M2 because of an immediately-running timer ISR which Arduino software can't halt

Long story short, I pulled a boneheaded move and got my M2 stuck running an interrupt service routine (off SAM3X8E Timer Counter 5 running at some crazy quick speed, if you’re curious) near-continuously the moment it receives power. While attempting to re-flash the device with a dummy program to wipe the data away, I realized that the Arduino IDE wasn’t actually able to notify the board that it had to reset. After clicking upload, I see Forcing reset using 1200bps open/close on port COM5 for a good long while (I’m assuming until some software-defined timeout gets hit), after which bossac gets run and eventually spits out:

No device found on COM5 Set binary mode readWord(addr=0)=0xa72656c readWord(addr=0xe000ed00)=0x73726946 readWord(addr=0x400e0740)=0x61482074 version()=ndler chipId=0x61482074 Unsupported Cortex-M3 architecture Send auto-baud Set binary mode readWord(addr=0)=0x74737269 readWord(addr=0xe000ed00)=0x6e614820 readWord(addr=0x400e0740)=0x72656c64 version()= chipId=0x72656c64 Unsupported Cortex-M3 architecture An error occurred while uploading the sketch

I’m at a loss. Is there any way to get myself out of this situation and get my board back in working order?

Did you try holding down ERASE button while pressing RESET?

Here is a page with arrows pointing to buttons in case silkscreen is hard to read:

http://docs.macchina.cc/m2/technical-references/leds-buttons.html

1 Like

Worked like a charm, and now I just feel silly. My eyesight has never been that great, especially when it comes to reading the minuscule print on silicon, so when I didn’t see any pins jump out at me as things which with I could reset the board, I just assumed there wasn’t a (easily accessible) hardware mechanism for giving the thing a good kick in the pants. Shame on me for not checking the docs, I really appreciate you pointing that out to me!

Good to hear you got it sorted. Looking forward to seeing what you come up with!