2

I am working on a project where I connect JTAG to SOC and debug the image on the SOC using the JTAG. The image also runs with watchdog timer that runs during core initialization, and which needs to be reset periodically to prevent the board being reset.

Now for my own understanding I was wondering how JTAG connects to the image and lets us set breakpoint during initialization without worrying about the watchdog timer. I have seen the image running for a long time, under JTAG, without the board being reset by watchdog.

I tried talking to multiple people in my team to try understand this but none of the explanations were satisfactory. Can somebody please explain what exactly is going on in terms of both JTAG and watchdog timer.

srib
  • 148
  • 2
  • 13

1 Answers1

0

The answer depends on the type of SoC you are debugging since the watchdog function normally is an independent function inside or outside the SoC, and I don't see a direct relation to the JTAG interface of the CPU.

Still, some controllers do implement features to stop the watchdog time while the CPU is stopped by a breakpoint. For example, STM32F1 controllers offer the DBGMCU_CR register where you can (even through the debugger) configure whether the watchdog timer shall continue running while the core is halted.

HelpingHand
  • 1,294
  • 11
  • 27
  • stm32 are not SOCs – 0___________ Apr 07 '20 at 11:49
  • @P__J__ - Well, stm32 are microcontrollers. The difference between microcontrollers and SoCs is discussed elsewhere, also on SE boards like [here](https://electronics.stackexchange.com/questions/16828/microcontroller-vs-system-on-chip) and [here](https://cs.stackexchange.com/questions/12798/difference-between-an-a-microcontroller-and-a-system-on-a-chip). I shall not repeat these discussions here. What they have in common is admitting that the boundary between µCs and SoCs isn't very sharp. The differences that may remain between typical µCs and typical SoCs are not too relevant here. – HelpingHand Apr 07 '20 at 13:06