In general use of Jlink to connect to S32K312, it works fine, but we have implement the JTAG protection by writing ADKP key and advance chip lifecycle from CUST_DEL to IN_FIELD, we want to debug with Ozone after the chip is JTAG-protected.
Since Ozone use an mechanism similar with Jlink.exe, we debug using Jlink.exe command line interface.
Steps we do:
1 create a file named S32K312_JTAG_auth.JlinkScript and put contents into this file:
void InitTarget()
{
}
2 Call Jlink.exe in command line like:
jlink.exe -jlinkscriptfile "D:\...\S32K312_JTAG_auth.JlinkScript"
3 Use connect command and select S32K312 as target device to connect, the jlink print error info like:
Connecting to target via SWD
ConfigTargetSettings() start
ConfigTargetSettings() end - Took 16us
InitTarget() start
InitTarget() end - Took 3us
Found SW-DP with ID 0x6BA02477
DPIDR: 0x6BA02477
CoreSight SoC-400 or earlier
AP map detection skipped. Manually configured AP map found.
AP[0]: MEM-AP (IDR: Not set)
AP[1]: APB-AP (IDR: Not set)
AP[2]: MEM-AP (IDR: Not set)
AP[3]: MEM-AP (IDR: Not set)
AP[4]: AHB-AP (IDR: Not set)
AP[5]: AHB-AP (IDR: Not set)
AP[6]: MEM-AP (IDR: Not set)
AP[7]: MEM-AP (IDR: Not set)
AP[4]: Skipped ROMBASE read. CoreBaseAddr manually set by user
AP[4]: Skipped. Could not read CPUID register
Attach to CPU failed. Executing connect under reset.
DPIDR: 0x6BA02477
CoreSight SoC-400 or earlier
AP map detection skipped. Manually configured AP map found.
AP[0]: MEM-AP (IDR: Not set)
AP[1]: APB-AP (IDR: Not set)
AP[2]: MEM-AP (IDR: Not set)
AP[3]: MEM-AP (IDR: Not set)
AP[4]: AHB-AP (IDR: Not set)
AP[5]: AHB-AP (IDR: Not set)
AP[6]: MEM-AP (IDR: Not set)
AP[7]: MEM-AP (IDR: Not set)
AP[4]: Skipped ROMBASE read. CoreBaseAddr manually set by user
AP[4]: Skipped. Could not read CPUID register
Could not find core in Coresight setup
ConfigTargetSettings() start
ConfigTargetSettings() end - Took 34us
InitTarget() start
InitTarget() end - Took 9us
Found SW-DP with ID 0x6BA02477
DPIDR: 0x6BA02477
CoreSight SoC-400 or earlier
AP map detection skipped. Manually configured AP map found.
AP[0]: MEM-AP (IDR: Not set)
AP[1]: APB-AP (IDR: Not set)
AP[2]: MEM-AP (IDR: Not set)
AP[3]: MEM-AP (IDR: Not set)
AP[4]: AHB-AP (IDR: Not set)
AP[5]: AHB-AP (IDR: Not set)
AP[6]: MEM-AP (IDR: Not set)
AP[7]: MEM-AP (IDR: Not set)
AP[4]: Skipped ROMBASE read. CoreBaseAddr manually set by user
AP[4]: Skipped. Could not read CPUID register
Attach to CPU failed. Executing connect under reset.
DPIDR: 0x6BA02477
CoreSight SoC-400 or earlier
AP map detection skipped. Manually configured AP map found.
AP[0]: MEM-AP (IDR: Not set)
AP[1]: APB-AP (IDR: Not set)
AP[2]: MEM-AP (IDR: Not set)
AP[3]: MEM-AP (IDR: Not set)
AP[4]: AHB-AP (IDR: Not set)
AP[5]: AHB-AP (IDR: Not set)
AP[6]: MEM-AP (IDR: Not set)
AP[7]: MEM-AP (IDR: Not set)
AP[4]: Skipped ROMBASE read. CoreBaseAddr manually set by user
AP[4]: Skipped. Could not read CPUID register
Could not find core in Coresight setup
Cannot connect to target.
Issue description: It seems that when I use my own InitTarget() function to replace Jlink defined function, the jlink.exe program cannot connect to the target.
Further more, we are planning to use password-auth mode to unsecure the S32K312 device in InitTarget() before Jlink connected and start debug.
Could you figure out if this could work on this chip?
Hello @ZouShaoxiong,
Can you please contact SEGGER?
Ozone is not an NXP product.
Thank you,
BR, Daniel