在使用 S32K1xx MCU 的過程中,因為某些不當(dāng)操作導(dǎo)致芯片被鎖、加密的情況偶有發(fā)生,在此總結(jié)一篇如何解鎖芯片的文檔,希望能夠幫到有需要的人。
1. S32K 芯片被鎖的現(xiàn)象及原因分析
1)在S32K 系列 MCU 開發(fā)和生產(chǎn)過程中,可能會出現(xiàn)芯片被鎖的情況,具體表現(xiàn)為:
通過 J-Link Commander 我們可以讀到芯片的 ID,但是無法通過 JTAG/SWD 調(diào)試接口進(jìn)行Debug
使用 J-Link 調(diào)試或下載程序時會提示“Failed to RAMCode”
使用 PEMicro debugger(OpenSDA/U-Multilink) 和 Flash Programmer(U-Cyclone) 時會提示如下錯誤,調(diào)試無法建立與目標(biāo)MCU的連接:
MCU 周期性復(fù)位,RESET(PTA5)引腳有周期性的復(fù)位脈沖信號輸出。復(fù)位信號周期大概為 117us,高電平時間為 600~800ns。通過示波器觀察 RESET 波形如下圖所示。
注:高電平時間為 600~800ns 的方波信號是去掉RESET引腳的外部濾波電容時的測量結(jié)果,若外部連接有濾波電容,將影響RESET引腳輸出的波形,變成緩慢下降和上升的鋸齒波信號。
2)芯片被鎖可能的原因:
時鐘配置異常,MCU沒有配置時鐘、時鐘被倍頻等。
燒寫程序時斷電。
MCU 外部電路異常(比如 I/O 引腳電平超出工作電壓允許的范圍、I/O 外部電路先于 MCU VDD 上電等)導(dǎo)致 MCU 復(fù)位失敗,F(xiàn)lash 初始化異常。
修改了 0X400-0X40F地址內(nèi)容,如果是這個原因,在 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” 命令解鎖:
斷電后將復(fù)位引腳拉低到地(或按下復(fù)位按鍵)再上電,連接 J-Link 到板子。打開 J-Link Commander(J-Link 自帶) 輸入“unlock Kinetis”,即可執(zhí)行 mass erase 解密。
2)通過 J-Flash 擦除解鎖:
打開 J-Flash(J-Link 自帶)選擇創(chuàng)建新的工程,之后點擊 Start J-Flash:
在創(chuàng)建選項卡里選擇芯片,點開后在子選項卡的 Manufacturer 選擇芯片廠商,再選擇對應(yīng)型號(例如 NXP S32K116),下載方式等,配置完成后點擊 “OK”。
注:在開發(fā)階段,使用 J-Link 作為S32K1xx編程和調(diào)試器時,使用不帶“ALLOW SECURITY”的Flash算法,從而防止芯片被意外加密。
確保 J-Link 與板子已連接后,點擊“Target”-> “Connect”,如果 J-Flash 頁面左下角顯示連接成功。點擊“Target”-> “Erase chip”進(jìn)行擦除操作。完成上述操作后再次嘗試燒錄程序。
如果上面的方法無效,可以將復(fù)位引腳拉低,連接后再點擊“Target”->“Erase chip”。
4. Tips
1)擴(kuò)展塢、HUB 等轉(zhuǎn)接器也會影響燒錄,如果上述方法都無法解鎖,請更換轉(zhuǎn)接口,將下載器重新上電,多嘗試幾次。比如我就遇到過,Multilink 直連電腦和板子時無法解鎖,但是通過 USB 2.0 的 Hub 連接電腦就能夠成功解鎖的情況,原因暫時不明。
2)安裝 J-Link 軟件包時,除了會自動安裝最新的 Flash 算法外,還會安裝一些有用的上位機(jī)軟件,比如 J-Flash,J-Link Commander 等,并會將最新的驅(qū)動和 Flash 算法更新到 PC 上已經(jīng)安裝的支持 J-Link 的 MCU 應(yīng)用程序開發(fā) IDE,比如 S32DS、Keil MDK 和 IAR 等。
以上就是 S32K 芯片的解鎖方法,如果還有其他解鎖方式的話歡迎大家指出。如果有任何問題或疑慮,都可以在文章下方留言哦!
-
NXP
+關(guān)注
關(guān)注
60文章
1267瀏覽量
183393 -
解鎖
+關(guān)注
關(guān)注
1文章
22瀏覽量
15127 -
解密
+關(guān)注
關(guān)注
3文章
48瀏覽量
15101 -
s32k
+關(guān)注
關(guān)注
1文章
11瀏覽量
9750
發(fā)布評論請先 登錄
相關(guān)推薦
評論