Hi NXP Team,
MCU: S32K314
RTD: 3.0
HSE_B: For S32K3X4 - v0.2.1.0
I am trying to password protect my JTAG on the board using HSE(Not using Challenge& Response)
The steps I followed is
1. HSE is active and enabled.
2. ReadLife cycle using the attributes HSE_SECURE_LIFECYCLE_ATTR_ID returns Success and the LC is HSE_LC_CUST_DEL.
3. Read the ADKP value using the attribute HSE_APP_DEBUG_KEY_ATTR_ID and it returns 16byte value with success. I wanted to change that value. How it be possible?
For time being I accepted that value which is received when requested and then proceed to Step4
4. Now the HSE_DEBUG_AUTH_MODE_ATTR_ID parameter is requested and received response as 0 which is password and the operation is Success.
5. Then advanced the LC cycle to HSE_LC_SIMULATED_OEM_PROD with the attribute HSE_SECURE_LIFECYCLE_ATTR_ID and returns success. I again readLC cycle and returns the same.
The problem is JTAG is not getting locked. Even after performing these steps. What might be the issue. I am in debug mode. I tried in JFLASH software to connect. It is able to connect. It means JTAG is not locked. Please let me know.
Hi @kerti1
HSE_APP_DEBUG_KEY_ATTR_ID is OTP-ATTR attribute. That means it is One Time Programmable, so it can be written only once. You can’t change it.
Life cycle HSE_LC_SIMULATED_OEM_PROD is set only temporary until next reset for test purposes.
If you set the life cycle to HSE_LC_OEM_PROD or to HSE_LC_IN_FIELD, reset is needed to lock the JTAG. It’s not locked immediately after life cycle advancing.
That means HSE_LC_SIMULATED_OEM_PROD can’t be used to test the JTAG lock because the device will be back in CUST_DEL after the reset.
The only option is to advance the life cycle either to HSE_LC_OEM_PROD or to HSE_LC_IN_FIELD. However, this is irreversible and there’s no way back.
Regards,
Lukas