Thanks for taking care of this, Liviu.

I looked what ARM recommends as a workaround. Unfortunately there is no hint
how the debugger could reliably detect that the execution has halted due to 3092511 erratum.
In such case it would be safe to resume.

The workaround in OpenOCD cortex_m.c cortex_m_debug_entry() should check the DFSR register and if the only BKPT bit is set, than check if PC points to a BKPT instruction or any FPB
FP_COMPn has triggered the break and if not, then OpenOCD could resume.

Tomas

On 04/06/2024 21:10, Liviu Ionescu wrote:
Hi!

If you remember, some time ago we discussed about a weird behaviour of the M7 
core when exceptions occurred simultaneously with exceptions.

I reported the issue to Arm, Joseph Yiu did some initial investigations and 
confirmed the issue as a bug in the current core implementations; then the case 
followed the internal path ending in an official errata. (see 3092511 at the 
end of the PDF available at 
https://developer.arm.com/documentation/SDEN1068427/latest/).

Regards,

Liviu


Begin forwarded message:

From: Joseph Yiu <joseph....@arm.com>
Subject: RE: Possible small bug in the Cortex-M7 core used by STM?
Date: 4 June 2024 at 21:52:14 EEST
To: Liviu Ionescu <i...@livius.net>

Hi Liviu,
It is finally published (defect 3092511)
https://developer.arm.com/documentation/SDEN1068427/latest/

regards,
Joseph



Reply via email to