I am using MCUXpresso Secure Provisioning Tool v25.12 with FRDM‑MCXN947 to enable Debug Authentication (DA). I generated ROT/IMG keys (ECC P‑256), generated a Debug Key, created a Debug Certificate Request (DCR), and signed a Debug Certificate (DC) with ROT1. Then I programmed RKTH into OTP (ROTKH0~7) and ran “Open Debug Port” in non‑ISP mode.
The DA always fails with Invalid RKTH. The log shows DAC and DC mismatch:
RoT Hash(Error): Invalid RKTH.
DAC: 7ade2035127204aae2e7c0dc5667b1998d09756dc5060cb45af31f359eab9f68
DC : 3520de7aaa047212dcc0e7e299b167566d75098db40c06c5351ff35a689fab9e
It looks like the DAC value is the DC value with byte‑swap per 32‑bit word. OTP readback of ROTKH0~7 still shows 3520de7a … 689fab9e.
Questions:
If RKTH was programmed with wrong endianness, is there any recovery path?
Environment:
- MCUXpresso Secure Provisioning Tool v25.12
- Debug probe: MCU‑LINK (pyOCD)