> On 17 Jul 2023, at 00:18, Tomas Vanek <tom_...@users.sourceforge.net> wrote:
>
> Such breakpoint would collide with the induced rogue break - don't place any
> breakpoint to the PendSV_Handler(), just watch `pendsv_cnt` when execution
> stops at BKPT instruction.
...
> We need to make sure the PendSV_Handler() is called because there is no rogue
> break issue without an interrupt.
> Simply `pendsv_cnt` must be incremented before each stop at BKPT. If not, the
> debugger masks interrupts.
I removed all breakpoints, including the initial one in main() and re-tested.
With J-Link and ST-LINK GDB server, the counter does not go past 1, so it looks
like the debuggers indeed mask interrupts. The difference is the same, J-Link
does not break at all in the handler.
With ST/LINK and OpenOCD, the counter increases with each resume, but also the
rogue break is observed with each run.
Do we have enough data now to understand the problem?
Could you rephrase the findings in a clear technical way, so that we all have a
better image on the issue? And probably also help Antonio when reporting this
to Arm/STM.
Liviu