【S32K 进阶之旅】S32K 芯片的解锁

news2025/1/23 7:09:08

在使用 S32K1xx MCU 的过程中,因为某些不当操作导致芯片被锁、加密的情况偶有发生,在此总结一篇如何解锁芯片的文档,希望能够帮到有需要的人。
 

1.  S32K 芯片被锁的现象及原因分析

1)在S32K 系列 MCU 开发和生产过程中,可能会出现芯片被锁的情况,具体表现为:

  • 通过 J-Link Commander 我们可以读到芯片的 ID,但是无法通过 JTAG/SWD 调试接口进行Debug
  • 使用 J-Link 调试或下载程序时会提示“Failed to RAMCode”
  • 使用 PEMicro debugger(OpenSDA/U-Multilink) 和 Flash Programmer(U-Cyclone) 时会提示如下错误,调试无法建立与目标MCU的连接:

 

  • MCU 周期性复位,RESET(PTA5)引脚有周期性的复位脉冲信号输出。复位信号周期大概为 117us,高电平时间为 600~800ns。通过示波器观察 RESET 波形如下图所示。

注:高电平时间为 600~800ns 的方波信号是去掉RESET引脚的外部滤波电容时的测量结果,若外部连接有滤波电容,将影响RESET引脚输出的波形,变成缓慢下降和上升的锯齿波信号。

 

2)芯片被锁可能的原因:

  • 时钟配置异常,MCU没有配置时钟、时钟被倍频等。
  • 烧写程序时断电。
  • MCU 外部电路异常(比如 I/O 引脚电平超出工作电压允许的范围、I/O 外部电路先于 MCU VDD 上电等)导致 MCU 复位失败,Flash 初始化异常。
  • 修改了 0X400-0X40F地址内容,如果是这个原因,在 J-Link Commander 工具中输入命令“connect”后,会提示“Protection bytes in flash at addr. 0x400 – 0x40F indicate that readout protection is set.”

2.  使用 Multilink 解锁

1)通过 mass erase 解密:

连接 PEMicro debugger,如下图打开“Debug Configuration”-> 选中要烧录的程序 -> “Debugger”-> 勾选“Emergency Kinetis Device Recovery by Full Chip Erase”,之后烧录程序即可解密 MCU。

 

2)如果 PEMicro 版本较新,则无需勾选上述选项,如下图所示,在 Debug 页面会自动弹出芯片已被锁提示窗口,选择“Yes”即可解密芯片。
 

3.  使用 J-Link 解锁

1)使用 J-Link Commander 的“unlock Kinetis” 命令解锁:

断电后将复位引脚拉低到地(或按下复位按键)再上电,连接 J-Link 到板子。打开 J-Link Commander(J-Link 自带) 输入“unlock Kinetis”,即可执行 mass erase 解密。

2)通过 J-Flash 擦除解锁:

  • 打开 J-Flash(J-Link 自带)选择创建新的工程,之后点击 Start J-Flash:

  • 在创建选项卡里选择芯片,点开后在子选项卡的 Manufacturer 选择芯片厂商,再选择对应型号(例如 NXP S32K116),下载方式等,配置完成后点击 “OK”。

注:在开发阶段,使用 J-Link 作为S32K1xx编程和调试器时,使用不带“ALLOW SECURITY”的Flash算法,从而防止芯片被意外加密。

 

  • 确保 J-Link 与板子已连接后,点击“Target”-> “Connect”,如果 J-Flash 页面左下角显示连接成功。点击“Target”-> “Erase chip”进行擦除操作。完成上述操作后再次尝试烧录程序。
  • 如果上面的方法无效,可以将复位引脚拉低,连接后再点击“Target”->“Erase chip”。

4.  Tips

1)扩展坞、HUB 等转接器也会影响烧录,如果上述方法都无法解锁,请更换转接口,将下载器重新上电,多尝试几次。比如我就遇到过,Multilink 直连电脑和板子时无法解锁,但是通过 USB 2.0 的 Hub 连接电脑就能够成功解锁的情况,原因暂时不明。

2)安装 J-Link 软件包时,除了会自动安装最新的 Flash 算法外,还会安装一些有用的上位机软件,比如 J-Flash,J-Link Commander 等,并会将最新的驱动和 Flash 算法更新到 PC 上已经安装的支持 J-Link 的 MCU 应用程序开发 IDE,比如 S32DS、Keil MDK 和 IAR 等。

 

以上就是 S32K 芯片的解锁方法,如果还有其他解锁方式的话欢迎大家指出。如果有任何问题或疑虑,都可以在文章下方留言哦!
 

5. 参考文献

[1] S32K1xx Series Reference Manual.pdf,NXP

[2] Production Flash Programming Best Practices for S32K1xx MCUs.pdf,NXP

点击阅读原文,了解更多精彩内容~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/895021.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Unity细节】Unity中的层级LayerMask

👨‍💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 😶‍🌫️收录于专栏:unity细节和bug 😶‍🌫️优质专栏 ⭐【…

元宇宙是什么?有哪些应用方向?一文了解元宇宙虚拟展厅

引言: 在当今数字科技飞速发展的时代,元宇宙作为一个令人向往的概念正逐渐进入大众的视野。那么,什么是元宇宙?元宇宙又有哪些应用方向呢?元宇宙虚拟展厅又有哪些优势呢? 一.元宇宙是什么 元宇…

eNSP 打开警告:请将eNSP相关应用程序添加到windows firewall的允许程序列表,并允许其在公用网络上运行!

文章目录 1 警告截图2 解决办法 1 警告截图 2 解决办法 思路:按照警告的提示信息,将 eNSP 相关应用添加到 windows firewall(防火墙)的允许程序列表,并允许其在公用网络上运行!此处以 Win 10 为例

怎么把人物抠到一个视频里?这个视频抠像方法一看就会

在视频中,人物抠像可以用于创建有趣的视觉效果,例如将人物放置在不同的场景中,或者创建动画效果。此外,它还可以用于制作特效,例如将人物的外观更改为其他形象,或者在人物移动时添加轨迹效果。那么怎么把人…

Eclipse常见的使用技巧(快捷键)大全

常用设置,非常建议 1.代码提示设置 2.快捷键设置 代码编写技巧 注意: 如果你设置了代码提示,那么下面操作快捷方式回车即可生成,不必alt/ 换行 ShiftEnter回车,不管光标在哪里都会换行!非常好用&…

向日葵如何截图

场景 向日葵远程时,有时需要截图,但是客户电脑上没有qq、微信等软件提供快捷截图。 怎么办呢? 解决方案 其实向日葵肯定支持这些功能的。 设置 | 热键设置 | 勾选 远控其他设备时,可输入热键进行以下操作。 如果: altq 切换…

性能测试-并发用户数估算(超细整理)

前言 并发用户数:是指现实系统中操作业务的用户,在性能测试工具中,一般称为虚拟用户数(Virutal User)。 并发用户数和注册用户数、在线用户数的概念不同。 并发用户数一定会对服务器产生压力的; 而在线用户数只是 ”挂” 在系统…

一万字关于java数据结构堆的讲解,让你从入门到精通

目录 java类和接口总览 队列(Queue) 1. 概念 2. 队列的使用 以下是一些常用的队列操作: 1.入队操作 2.出队操作 3.判断队列是否为空 4.获取队列大小 5.其它 优先级队列(堆) 1. 优先级队列概念 Java中的PriorityQueue具有以下特点 2.常用的PriorityQue…

Doris的执行计划生成、分发与执行

目录 一、执行计划的生成 二、执行计划的分发 三、执行计划的执行 一、执行计划的生成 在Doris的FE端,与大多数数据库系统一样,要从SQL或某种http请求,生成执行计划,从SQL生成,一开始是“抽象语法树”(…

FreeRTOS 从入门到精通-任务调度

初写FreeRTOS 从入门到精通系列文章之初,笔者只是当作可以随时回顾的学习笔记来写,并没有想到这些偏技术的文章收获了意料之外的阅读量和关注。首先当然很欣喜自己的文章能够得到了读者们的认可,但同时也有种使命感,既期望启迪并与…

模型评估的常用指标

模型评估的指标 模型是在大量的数据集上训练而来的,无论一个模型是从零训练的还是基于某一个模型,通过微调方法得到的,靠人工评价模型的效果都是异常困难的。那么要想客观的、自动化的评价一个LLM模型,就需要能够选择正确评估模型效果的指标或者基准测试,来客观和自动化的…

C语言刷题指南(二)

📙作者简介: 清水加冰,目前大二在读,正在学习C/C、Python、操作系统、数据库等。 📘相关专栏:C语言初阶、C语言进阶、C语言刷题训练营、数据结构刷题训练营、有感兴趣的可以看一看。 欢迎点赞 &#x1f44d…

腾讯开启2024校招,主要招聘5大类岗位

近日,腾讯的大动作一个接一个,前脚刚公布2023上半年财报,后脚就开启了2024校招,不得不让人感叹腾讯真速度! 此次招聘对象为毕业时间在2023年9月至2024年8月期间的2024届应届毕业生,覆盖北上广深等多个城市…

Python中定时任务APScheduler库用法详解

在日常工作中,常常会用到需要周期性执行的任务,一种方式是采用 Linux 系统自带的 crond 结合命令行实现。另外一种方式是直接使用Python。 当每隔一段时间就要执行一段程序,或者往复循环执行某一个任务,这就需要使用定时任务来执…

如何搭建游戏服务器?有哪些操作步骤

​  选择游戏服务器提供商 为确保游戏服务器的稳定运行和及时响应问题,选择一个正规、靠谱的游戏服务器提供商非常重要。 选择服务器操作系统 根据不同游戏的需求,选择适合的操作系统,通常可选择Linux或WindowsServer操作系统。 上传、安装…

智安网络|零信任安全框架:保障数字化时代网络安全的最佳实践

随着数字化时代的快速发展,网络安全问题变得越来越突出。传统的安全防御模式已经不再适用于现代复杂的网络环境中。为了应对日益增长的网络威胁,零信任安全模式应运而生。 一、什么是零信任? 零信任是一种安全框架和哲学,它基于…

【使用教程】在Ubuntu下运行CANopen通信PMM伺服电机使用教程(NimServoSDK_V2.0.0)

本教程将指导您在Ubuntu操作系统下使用NimServoSDK_V2.0.0来运行CANopen通信的PMM系列一体化伺服电机。我们将介绍必要的步骤和命令,以确保您能够成功地配置和控制PMM系列一体化伺服电机。 NimServoSDK_V2.0.0是一款用于PMM一体化伺服电机的软件开发工具包。它提供了…

第八章LVS中的DR模式详解

1,LVS-DR数据包的流向分析 总结: (1)客户端发送请求到 Director Server(负载均衡器),请求的数据报文(源 IP 是 CIP,目标 IP 是 VIP)到达内核空间。 (2&#…

机器学习基础之《分类算法(3)—模型选择与调优》

作用是如何选择出最好的K值 一、什么是交叉验证(cross validation) 1、定义 交叉验证:将拿到的训练数据,分为训练和验证集。以下图为例:将数据分成5份,其中一份作为验证集。然后经过5次(组)的测试&#x…

「UG/NX」Block UI 体收集器BodyCollector

✨博客主页何曾参静谧的博客📌文章专栏「UG/NX」BlockUI集合📚全部专栏「UG/NX」NX二次开发「UG/NX」BlockUI集合「VS」Visual Studio「QT」QT5程序设计「C/C+&#