大家好,NXP 团队和其他人。
我正在使用 S32k118 CSEc 并尝试了 AN5401 提供的示例 1:配置部件和加载密钥。我在 DebugRAM 配置中运行了该项目,可以对 MCU 进行分区并设置密钥。我没有对密钥设置任何保护,但是当我下次尝试擦除整个芯片时,我收到了保护字节已设置的消息。当我继续时,它不断抛出相同的消息并最终失败。
以下是 JLink 的输出:
正在连接...
- 通过 USB 连接到探针/编程器设备 0
- 探针/编程器固件:J-Link Ultra V5 编译于 2024 年 2 月 19 日 15:14:38
探头/编程器序列号:505002010
-选择设备“S32K118(允许安全)”。
- 目标接口速度:4000 kHz(固定)
- VTarget = 3.305V
- InitTarget() 开始
- 已选择 SWD。执行 JTAG -> SWD 切换序列。
- 设备现在将不再安全。
- 停止 CPU 时超时。
- InitTarget() 结束 - 耗时 4.33 秒
- 找到 ID 为 0x0BC11477 的 SW-DP
- DPIDR:0x0BC11477
- CoreSight SoC-400 或更早版本
- 扫描 AP 地图以查找所有可用的 AP
- AP[2]: 由于已到达 AP 地图末尾,因此停止 AP 扫描
- AP[0]: AHB-AP (IDR: 0x04770031)
- AP[1]: JTAG-AP (IDR: 0x001C0020)
- 迭代 AP 映射以找到要使用的 AHB-AP
- AP[0]: 已跳过。无法读取 CPUID 寄存器
- AP[1]:已跳过。不是 AHB-AP
- 连接到 CPU 失败。重置下执行连接。
- DPIDR:0x0BC11477
- CoreSight SoC-400 或更早版本
- 扫描 AP 地图以查找所有可用的 AP
- AP[2]: 由于已到达 AP 地图末尾,因此停止 AP 扫描
- AP[0]: AHB-AP (IDR: 0x04770031)
- AP[1]: JTAG-AP (IDR: 0x001C0020)
- 迭代 AP 映射以找到要使用的 AHB-AP
- AP[0]: 已跳过。无法读取 CPUID 寄存器
- AP[1]:已跳过。不是 AHB-AP
- 在 Coresight 设置中找不到核心
我也尝试了这里建议的序列https://community.nxp.com/t5/S32K/Unbricking-S32K146/mp/937227:
J-Link>r0
J-Link>swdwritedp 2,0x01000000
写入 DP 寄存器 2 = 0x01000000
J-Link>swdreadap 0
读取 AP 寄存器 0 = 0x00000000
J-Link>swdreadap 0
读取 AP 寄存器 0 = 0x00000037
J-Link>swdreadap 1
读取AP寄存器1 = 0x00000037
J-Link>swdreadap 1
读取 AP 寄存器 1 = 0x00000000
J-Link>解锁 Kinetis
找到 ID 为 0x0BC11477 的 SWD-DP
解锁设备...确定
但我仍然无法连接
我尝试过连接 SEGGER Jlink 和 Onboard Pemicro - 结果是一样的。你能解释一下为什么会发生这种情况以及我该如何克服这个问题并避免将来再发生这种情况吗?谢谢。