west: runners: nrf: don't recover twice on nrf54h

Update the recover mechanism for nrf54h to only call recover
once. Using nrfutil device recover with both --core Network and
--core Application is redundant with IronSide SE as both of these
map to the same operation which does a full erase of the device MRAM.

Additionally, recovering twice in a row specifically in a nrfutil
batch file (which is used by this runner implementation) triggers some
odd behavior with the current latest version of
nrfutil device + IronSide SE, which can cause the device to enter a
reset loop and appear unresponsive and preventing 'west flash --recover'
from working properly.

Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
This commit is contained in:
Jonathan Nilsen 2025-06-18 12:09:48 +02:00 committed by Fabio Baltieri
parent eb7239c6a8
commit 78a61579d8

View File

@ -320,8 +320,7 @@ class NrfBinaryRunner(ZephyrBinaryRunner):
# recover operation unlocks the core and then flashes a small image that
# keeps the debug access port open, recovering the network core last
# would result in that small image being deleted from the app core.
# In the case of the 54H, the order is indifferent.
if self.family in ('nrf53', 'nrf54h', 'nrf92'):
if self.family in ('nrf53', 'nrf92'):
self.exec_op('recover', core='Network')
self.exec_op('recover')