This is only a matter of personal interest. I know that my JTAG is able to read uController register values. But I do not know how the JTAG device knows when to stop uController. I thought that maybe some code was added that caused interruption, but you can add breakpoints during operation, so these seams are wrong. So how is this done?
As mentioned in a comment by @Martin James , the typical way this works is because the target hardware supports breakpoints natively.
JTAG , "" .
, , , , .
ARM Cortex-M0, , , ( ) 1 4 (2) . , (, , "mmmm , " ).
@unwind .
mcu / ., .
- mcu ., , , , , .