ARM Implementations

There are two ways of sampling the program counter on an ARM Cortex core. The first is using an optional module in the debug system that emits the program counter to the debugger without any impact on the core itself. The program counter is emitted on the SWO pin.

As not all Cortex implementation can emit the program counter, Atmel Studio also supports doing a periodical readout of the program counter while the core is running. This is possible as most Cortex devices support readout of memory while the core is running, with a small impact on the running application as the debug system needs to access the memory bus.