在使用 S32K1xx MCU 的過程中,因?yàn)槟承┎划?dāng)操作導(dǎo)致芯片被鎖、加密的情況偶有發(fā)生,在此總結(jié)一篇如何解鎖芯片的文檔,希望能夠幫到有需要的人。
1. S32K 芯片被鎖的現(xiàn)象及原因分析
1)在S32K 系列 MCU 開發(fā)和生產(chǎn)過程中,可能會(huì)出現(xiàn)芯片被鎖的情況,具體表現(xiàn)為:
通過 J-Link Commander 我們可以讀到芯片的 ID,但是無法通過 JTAG/SWD 調(diào)試接口進(jìn)行Debug
使用 J-Link 調(diào)試或下載程序時(shí)會(huì)提示“Failed to RAMCode”
使用 PEMicro debugger(OpenSDA/U-Multilink) 和 Flash Programmer(U-Cyclone) 時(shí)會(huì)提示如下錯(cuò)誤,調(diào)試無法建立與目標(biāo)MCU的連接:


MCU 周期性復(fù)位,RESET(PTA5)引腳有周期性的復(fù)位脈沖信號(hào)輸出。復(fù)位信號(hào)周期大概為 117us,高電平時(shí)間為 600~800ns。通過示波器觀察 RESET 波形如下圖所示。
注:高電平時(shí)間為 600~800ns 的方波信號(hào)是去掉RESET引腳的外部濾波電容時(shí)的測(cè)量結(jié)果,若外部連接有濾波電容,將影響RESET引腳輸出的波形,變成緩慢下降和上升的鋸齒波信號(hào)。


2)芯片被鎖可能的原因:
時(shí)鐘配置異常,MCU沒有配置時(shí)鐘、時(shí)鐘被倍頻等。
燒寫程序時(shí)斷電。
MCU 外部電路異常(比如 I/O 引腳電平超出工作電壓允許的范圍、I/O 外部電路先于 MCU VDD 上電等)導(dǎo)致 MCU 復(fù)位失敗,F(xiàn)lash 初始化異常。
修改了 0X400-0X40F地址內(nèi)容,如果是這個(gè)原因,在 J-Link Commander 工具中輸入命令“connect”后,會(huì)提示“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 版本較新,則無需勾選上述選項(xiàng),如下圖所示,在 Debug 頁面會(huì)自動(dòng)彈出芯片已被鎖提示窗口,選擇“Yes”即可解密芯片。

3. 使用 J-Link 解鎖
1)使用 J-Link Commander 的“unlock Kinetis” 命令解鎖:
斷電后將復(fù)位引腳拉低到地(或按下復(fù)位按鍵)再上電,連接 J-Link 到板子。打開 J-Link Commander(J-Link 自帶) 輸入“unlock Kinetis”,即可執(zhí)行 mass erase 解密。

2)通過 J-Flash 擦除解鎖:
打開 J-Flash(J-Link 自帶)選擇創(chuàng)建新的工程,之后點(diǎn)擊 Start J-Flash:

在創(chuàng)建選項(xiàng)卡里選擇芯片,點(diǎn)開后在子選項(xiàng)卡的 Manufacturer 選擇芯片廠商,再選擇對(duì)應(yīng)型號(hào)(例如 NXP S32K116),下載方式等,配置完成后點(diǎn)擊 “OK”。
注:在開發(fā)階段,使用 J-Link 作為S32K1xx編程和調(diào)試器時(shí),使用不帶“ALLOW SECURITY”的Flash算法,從而防止芯片被意外加密。


確保 J-Link 與板子已連接后,點(diǎn)擊“Target”-> “Connect”,如果 J-Flash 頁面左下角顯示連接成功。點(diǎn)擊“Target”-> “Erase chip”進(jìn)行擦除操作。完成上述操作后再次嘗試燒錄程序。

如果上面的方法無效,可以將復(fù)位引腳拉低,連接后再點(diǎn)擊“Target”->“Erase chip”。
4. Tips
1)擴(kuò)展塢、HUB 等轉(zhuǎn)接器也會(huì)影響燒錄,如果上述方法都無法解鎖,請(qǐng)更換轉(zhuǎn)接口,將下載器重新上電,多嘗試幾次。比如我就遇到過,Multilink 直連電腦和板子時(shí)無法解鎖,但是通過 USB 2.0 的 Hub 連接電腦就能夠成功解鎖的情況,原因暫時(shí)不明。

2)安裝 J-Link 軟件包時(shí),除了會(huì)自動(dòng)安裝最新的 Flash 算法外,還會(huì)安裝一些有用的上位機(jī)軟件,比如 J-Flash,J-Link Commander 等,并會(huì)將最新的驅(qū)動(dòng)和 Flash 算法更新到 PC 上已經(jīng)安裝的支持 J-Link 的 MCU 應(yīng)用程序開發(fā) IDE,比如 S32DS、Keil MDK 和 IAR 等。

以上就是 S32K 芯片的解鎖方法,如果還有其他解鎖方式的話歡迎大家指出。如果有任何問題或疑慮,都可以在文章下方留言哦!
-
NXP
+關(guān)注
關(guān)注
61文章
1369瀏覽量
192406 -
解鎖
+關(guān)注
關(guān)注
1文章
22瀏覽量
15343 -
解密
+關(guān)注
關(guān)注
3文章
48瀏覽量
15428 -
s32k
+關(guān)注
關(guān)注
1文章
15瀏覽量
10128
發(fā)布評(píng)論請(qǐng)先 登錄
STM8S005K6T6芯片內(nèi)部時(shí)鐘空間輻射倍頻尖刺干擾怎么解決?
簡(jiǎn)述K3S和K8S的區(qū)別
S32K148頻繁UART_FRAMING_ERROR的原因?
使用RTD5.0.0的s32k312,C40_Ip擦除pflash存在一些問題求解決
aP89682K/341K/170K/085K系列語音OTP芯片英文手冊(cè)
S32K在AUTOSAR中使用CAT1 ISR,是否需要執(zhí)行上下文切換?
如何鎖定和解鎖S32K394/96系列的JTAG?
WD50-110S24K1 WD50-110S24K1

【S32K 進(jìn)階之旅】如何使用 S32K3 PIT 定時(shí)器實(shí)現(xiàn)精準(zhǔn)延時(shí)?

評(píng)論