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

在使用 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.mzph.cn/news/42686.shtml

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

相关文章

常用系统命令

重定向 cat aa.txt > bbb.txt 将输出定向到bbb.txt cat aaa.txt >> bbb.txt 输出并追加查看进程 ps ps -ef 显示所有进程 例⼦:ps -ef | grep mysql |:管道符 kill pid 结束进程, 如 kill 3732;根据进程名结束进程可以先…

Qt使用qml(QtLocation)显示地图

一、qt版本和QtLocation模块版本确认 如果qt版本过低的话是没有QtLocation模块的,我的版本如下 构建工具版本如下 二、qml代码编写 1、工程中添加模块 首先在工程中添加模块quickwidgets positioning location 2、添加资源文件 3、在资源文件中添加qml文件 …

Jenkins改造—nginx配置鉴权

先kill掉8082的端口进程 netstat -natp | grep 8082 kill 10256 1、下载nginx nginx安装 EPEL 仓库中有 Nginx 的安装包。如果你还没有安装过 EPEL,可以通过运行下面的命令来完成安装 sudo yum install epel-release 输入以下命令来安装 Nginx sudo yum inst…

windows上的docker自动化部署到服务器脚本

1、mvn install后,双击这个bat,实现docker build后上传到124服务器,并且重启124服务器 **echo offsetlocal:: 定义镜像名称和版本变量 set IMAGE_NAMEweb set IMAGE_VERSION1.3.1:: 清理本地文件 echo Cleaning up... del service-%IMAGE_N…

中大许少辉博士中国建筑出版传媒八一新书《乡村振兴战略下传统村落文化旅游设计》百度百科新闻

中大许少辉博士中国建筑出版传媒八一新书《乡村振兴战略下传统村落文化旅游设计》百度百科新闻: 乡村振兴战略下传统村落文化旅游设计 - 百度百科 https://baike.baidu.com/item/乡村振兴战略下传统村落文化旅游设计/62588677 概览 《乡村振兴战略下传统村落文化旅游…

c++——静态成员变量、静态成员函数和const修饰的静态成员变量

一、c静态成员变量 在C中,静态成员变量(Static Member Variable)是类的一种特殊类型的成员变量,它被类的所有实例共享,而不是每个实例都有自己的副本。静态成员变量在类的所有对象之间保持唯一的状态,具有…

Redisson实现分布式锁示例

一、引入依赖 <dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.16.0</version></dependency>二、配置类 import org.redisson.Redisson; import org.redisson.api.RedissonClient;…

Hadoop学习:深入解析MapReduce的大数据魔力(三)

Hadoop学习&#xff1a;深入解析MapReduce的大数据魔力&#xff08;三&#xff09; 3.5 MapReduce 内核源码解析3.5.1 MapTask 工作机制3.5.2 ReduceTask 工作机制3.5.3 ReduceTask 并行度决定机制 3.6 数据清洗&#xff08;ETL&#xff09;1&#xff09;需求2&#xff09;需求…

Java数据库连接池原理及spring boot使用数据库连接池(HikariCP、Druid)

和线程池类似&#xff0c;数据库连接池的作用是建立一些和数据库的连接供需要连接数据库的业务使用&#xff0c;避免了每次和数据库建立、销毁连接的性能消耗&#xff0c;通过设置连接池参数可以防止建立连接过多导致服务宕机等&#xff0c;以下介绍Java中主要使用的几种数据库…

【学习FreeRTOS】第11章——FreeRTOS中任务相关的其他API函数

1.函数总览 序号函数描述1uxTaskPriorityGet()获取任务优先级2vTaskPrioritySet()设置任务优先级3uxTaskGetNumberOfTasks()获取系统中任务的数量4uxTaskGetSystemState()获取所有任务的状态信息5vTaskGetInfo()获取单个任务的状态信息6xTaskGetCurrentTaskHandle()获取当前任…

Excel自动化办公——Openpyxl的基本使用

Excel自动化办公——Openpyxl的基本使用 个人感觉&#xff0c;相比Pandas&#xff0c;openpyxl对Excel的操作更为细致&#xff0c;Pandas则更适用于统计计算&#xff1b; 01 基本环境02 Excel数据读取操作03 案例04 向Excel写入数据05 表数据定向修改06 单元格样式制定07 单元…

原型对象的简单了解

在前面学习java有一个概念叫做继承&#xff0c;方便我们对父类方法、变量等的调用。对前端的学习我们需要让对象可以访问和继承其他对象的属性和方法&#xff0c;就需要了解原型对象&#xff0c;以及原型链。 一、原型 构造函数通过原型分配的函数是所有对象所共享的。每一个构…

回归预测 | MATLAB实现SOM-BP自组织映射结合BP神经网络多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现SOM-BP自组织映射结合BP神经网络多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现SOM-BP自组织映射结合BP神经网络多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果一览基本介绍…

【css动画】向下的动态箭头

前言 使用css实现一组向下的动态箭头效果&#xff0c;如下图 思路 1.使用svg画箭头 2.设置keyframes&#xff0c;主要是每个箭头加不同的延时。 代码 <div class"down-arrow"><svg id"more-arrows"><polygonclass"arrow-top&quo…

Spark第三课

1.分区规则 1.分区规则 shuffle 1.打乱顺序 2.重新组合 1.分区的规则 默认与MapReduce的规则一致,都是按照哈希值取余进行分配. 一个分区可以多个组,一个组的数据必须一个分区 2. 分组的分区导致数据倾斜怎么解决? 扩容 让分区变多修改分区规则 3.HashMap扩容为什么必须…

[JavaWeb]【七】web后端开发-MYSQL

前言&#xff1a;MySQL是一种流行的关系型数据库管理系统,它的作用是存储和管理数据。在Web开发中,MySQL是必备的数据库技能之一,因为它可以帮助Web开发人员处理大量的数据,并且提供了强大的数据查询和管理功能。 一 数据库介绍 1.1 什么是数据库 1.2 数据库产品 二 MySQL概述…

vue3 实现简单瀑布流

一、整理思路 实际场景中&#xff0c;瀑布流一般由 父组件 提供 数据列表&#xff0c;子组件渲染每个图片都是根据容器进行 绝对定位 &#xff0c;从而定好自己的位置取出 屏幕的宽度&#xff0c;设定 图片的宽度 固定 为一个值&#xff0c;计算可以铺 多少列按列数 先铺上第一…

5G科技防汛,助力守护一方平安

“立秋虽已至&#xff0c;炎夏尚还在”&#xff0c;受台风席卷以及季节性影响全国多地正面临强降水的严峻挑战。“落雨又顺秋&#xff0c;绵绵雨不休”&#xff0c;正值“七下八上” 防汛关键时期&#xff0c;贵州省水文水资源局已全面进入备战状态。 为确保及时响应做好防汛抢…

Vue3 setup新特性简单应用

去官网学习→组合式 API&#xff1a;setup() | Vue.js 运行示例&#xff1a; 代码&#xff1a;App.vue <template><div class"home"><img alt"Vue logo" src"../assets/logo.png"><!-- msg 组件传递数据 --><Hell…

VBA_MF系列技术资料1-157

MF系列VBA技术资料 为了让广大学员在VBA编程中有切实可行的思路及有效的提高自己的编程技巧&#xff0c;我参考大量的资料&#xff0c;并结合自己的经验总结了这份MF系列VBA技术综合资料&#xff0c;而且开放源码&#xff08;MF04除外&#xff09;&#xff0c;其中MF01-04属于定…