diff --git a/pyocd/target/family/target_nRF54L.py b/pyocd/target/family/target_nRF54L.py index b81968572..c94ee0c4d 100644 --- a/pyocd/target/family/target_nRF54L.py +++ b/pyocd/target/family/target_nRF54L.py @@ -143,7 +143,13 @@ def check_flash_security(self): if self.session.options.get('auto_unlock'): LOG.warning("%s APPROTECT enabled: will try to unlock via mass erase", self.part_number) - self.mass_erase() + if not self.mass_erase(): + LOG.error("%s: mass erase failed", self.part_number) + raise exceptions.TargetError("unable to unlock device") + # Cached badness from create_ap run during AP lockout prevents memory accesses + # through the AHB-AP from succeeding. + self._discoverer._create_1_ap(AHB_AP_NUM) + self.fixup_rom_base() else: LOG.warning("%s is not in a secure state", self.part_number)