0
\$\begingroup\$

I've been trying to figure out this one for hours and I can't see what I'm missing. I currently am debugging my program on hardware and I have set a break-point inside of one of the functions called by SysTick_Handler(). Despite having the CPU halted, my LEDs, which are controlled by the CPU on the low side, are "blipping" about every second. I tried setting a break-point in the function that controls these and nothing happens which I would expect since my only core is halted.

Shouldn't my device be stable when halted since the gpio registers are not being modified by my code? Does the timer interrupt continue to fire even though I'm at a breakpoint or something?

HARDWARE DETAILS:

MICRO: XMC1302-T016X0032 AB

TYPE: ARM Cortex M0

\$\endgroup\$
6
  • \$\begingroup\$ I would suspect it is not really halted. \$\endgroup\$
    – Eugene Sh.
    Jan 28, 2019 at 22:17
  • \$\begingroup\$ This is a comment and not an answer because my memory is dim and I'm too lazy to check. I think that there's an option with the Cortex processors to leave interrupts enabled while debugging. This is so that if you're working on something in-system and Something Dreadful will happen if the real-time control ceases you can still debug other things. I believe this is in the ARM document pertaining to the core, in the debugging section. You set one bit, and the behavior changes. \$\endgroup\$
    – TimWescott
    Jan 28, 2019 at 22:26
  • \$\begingroup\$ @TimWescott I am recalling that timers might be allowed to run during break... but interrupts? That would be a mess.. \$\endgroup\$
    – Eugene Sh.
    Jan 28, 2019 at 22:29
  • \$\begingroup\$ @EugeneSh. I don't know that specific ARM well enough to comment, but the hardware timers continue to run, and on ARM, you can preempt ISRs with others. don't know how the debug breakpoint is implemented. \$\endgroup\$ Jan 28, 2019 at 22:31
  • 2
    \$\begingroup\$ Is it possible you've left a WDT running? \$\endgroup\$
    – james
    Jan 29, 2019 at 0:11

1 Answer 1

1
\$\begingroup\$

WATCHDOG TIMER NEEDED TO BE DISABLED BEFORE DEBUGGING

I didn't realize the watchdog time was still running even when core was halted. Behavior makes perfect sense now! Thanks @james

\$\endgroup\$
0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.