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

s32ks32k

 

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

 

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

s32ks32k

 

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。

s32k

 

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

s32k

 

3.  使用 J-Link 解锁

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

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

s32k

 

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

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

s32k

 

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

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

s32ks32k

 

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

s32k

 

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

 

4.  Tips

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

s32k

 

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

s32k

 

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

 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分