0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

S32K 芯片的解锁

大大通 2023-08-15 10:12 次阅读

在使用 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的连接:

wKgaomToXCeAMvtWAAJVoP5NlYU793.pngwKgaomToXCaAKStRAAC0auYuqwE773.png

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

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

wKgaomToXCaAADbwAAEGeH4p5II759.pngwKgZomToXCaANn8fAAEMCgBLvnI673.png

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。

wKgaomToXCeAZghHAAUocy-vlAU370.png

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

wKgZomToXCeAJ1N-AAHeXoFGMw8102.png

3. 使用 J-Link 解锁

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

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

wKgZomToXCeAE4qgAABhWyxI4VU710.png

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

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

wKgaomToXCiAWhPiAAIKKpbzsZQ349.png

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

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

wKgZomToXCeAK85XAAB77JGTEsQ404.pngwKgZomToXCiAW161AAPcP5BfNZc154.png

确保 J-Link 与板子已连接后,点击“Target”-> “Connect”,如果 J-Flash 页面左下角显示连接成功。点击“Target”-> “Erase chip”进行擦除操作。完成上述操作后再次尝试烧录程序。

wKgaomToXCmATWrDAAQMvck4nR8331.png

如果上面的方法无效,可以将复位引脚拉低,连接后再点击“Target”->“Erase chip”。

4. Tips

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

wKgaomToXCiAKYL-AAC6TxNkx8A767.jpg

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

wKgZomToXCiAFQwXAADjPhmKgWM254.png

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • NXP
    NXP
    +关注

    关注

    60

    文章

    1214

    浏览量

    177241
  • 解锁
    +关注

    关注

    1

    文章

    22

    浏览量

    15080
  • 解密
    +关注

    关注

    3

    文章

    47

    浏览量

    15027
  • s32k
    +关注

    关注

    1

    文章

    11

    浏览量

    9692
收藏 人收藏

    评论

    相关推荐

    xmc7100芯片锁定了如何解锁

    你好,xmc7100 芯片已锁定。 我无法烧掉这个程序。 如何解锁芯片
    发表于 01-18 09:14

    S32K ICU SiUL2 Eirq不工作是为什么?

    我正在使用 S32K342 和 SiUL2 ICU EIRQ29 进行外部中断触发。目的是基于外部脉冲的触发中断传到S32K342。我已将 ICU 测量模式配置为
    发表于 06-08 09:39

    在哪里可以找到在s32k中配置回调函数的例子呢?

    嗨社区我需要测量 ptd0、pte11、ptd1 的频率,然后我尝试配置所有通道 iam 配置一个通道,但我配置了输入,它必须调用回调函数它没有调用任何回调函数我去了 ic_pal 示例 int该示例不会调用回调函数 那么我在哪里可以找到在s32k中配置回调函数的例子呢?
    发表于 06-08 07:35

    S32K344安装HSE后被锁,无法下载程序到flash怎么解决?

    使用SK_HSE_FW_INSTALL_V110安装HSE(版本是HSE_FW_S32K3XX_0_2_1_0.exe)后,s32k无法更新程序到flash。 芯片是被保护了还是被锁了?如何
    发表于 06-08 07:16

    如何将编码器与s32k连接起来并在freemaster中显示结果?

    没有改变。 我将添加一些我的设置和 slx 文件的图片。谁能帮我将编码器与 s32k 连接起来并在 freemaster 中显示结果。谢谢 正余弦编码器有 4 个引脚输出(正余弦 5v 和 GND
    发表于 06-07 06:31

    求分享s32k116的示例链接描述文件和启动代码

    我已经安装了一个autosar包“SW32K1_RTD_4.4_1.0.1”,在每个插件中,例如“Adc_TS_T40D2M10I1R0”,有一个名为examples的文件夹,每个s32k衍生品
    发表于 06-05 13:09

    S32K3在ESD测试时保持运行,PLL_LOL时cpu时钟可以切换到FIRC吗?

    。 我们试图通过改变GM_SET寄存器来提高晶振强度,但没有任何改善。而我们尝试设置DCMRWP3[9]为1,当PLL_LOL时S32K不会复位,但mcu会停止,只有复位才能恢复。 我们需要 S32K3 在 ESD 测试时保持运行。PLL_LOL 时 cpu 时钟可以切换
    发表于 05-30 06:49

    假设我们有QM、ASILB、ASILD三个不同安全级别的软件组件,建议使用多少个S32K CORE?

    1、假设在S32K3的一个CORE中,我们使用MPU按照ASIL级别划分软件组件。 是否仍然无法完全避免连锁故障等问题,原因何在?能否利用RXDC模块对S32K内部资源进行分区,解决上述问题
    发表于 05-24 10:07

    下载了S32K的EB Tresos Studio,准备配置MCAL,无法激活是怎么回事?

    我下载了S32K的EB Tresos Studio,准备配置MCAL,但是我用下载界面给的激活码无法激活,能帮忙指点一下吗?
    发表于 05-22 06:09

    S32K342控制器为什么只有27kB被分配为默认内存?

    。 上面提到的以下FLASH 内存会在项目创建后反映在链接描述文件中,但SRAM不一样,分配的 内存 仅为 27kB。 我想让你澄清为什么只有 27kB 被分配为默认内存。 另外,如果内存部分的链接描述文件发生任何变化,是否会影响代码的执行? PS:附上 S32K 的框图和生成的链接描述文件。
    发表于 05-19 06:46

    S32K144 EVB复位LED持续亮起是怎么回事?

    我将 MBDT V4.2 与 MATLAB 2019b 结合使用,并尝试为 S32K144 EVB 运行 GPIO S32K 示例。我一连接电路板,红色 LED 就一直亮着,两个绿色 LED 也亮着
    发表于 05-17 06:35

    S32K118芯片被锁定,所有寄存器不可访问怎么处理?

    大家好 调试S32k118时,S32K118芯片被锁住,所有的寄存器都不能访问,芯片好像一直在复位,请问有什么办法解除芯片的锁?最初的现象
    发表于 05-12 07:42

    如何在S32K的simulink中添加FreeRTOS?

    如何在 S32K 的 simulink 中添加 FreeRTOS?工具箱中没有 FreeRTOS 模块。
    发表于 05-09 06:52

    具有ID范围的S32K144 CAN如何配置?

    我将 MB0 的 CAN 通信配置为 ID 为 511 的 Tx 缓冲区,将 MB4 配置为 ID 为 555 的 Rx 缓冲区。 现在我需要使用 100 到 108 的 ID 范围来接收数据。你能帮我安排一下S32K DS代码吗?
    发表于 05-09 06:19

    求分享S32K链接器示例

    我需要以下目标的链接器文件: -NXPS32K358 -NXPS32K388
    发表于 05-06 06:40