SemiDrive E3 Secure Debug 函數方式驗證

關鍵字 :SemiDriveE3Secure Debug

一、硬體 & 軟體環境概述

  1. 硬體平台:E3110 官方開發板(SD107_E3_REF_176_DEMO_A02_030);
  2. 軟體環境:IAR Embedded Workbench for ARM 9.30.1;
  3. 軟體平台:MCAL PTG3.0;
  4. 軟體工具:23.1201;
  5. 調試器:JLINK。

圖1 E3110 官方開發板

圖1 E3110 官方開發板

二、概述

        產品為滿足信息安全要求,通常用 Secure Debug 方式可對 JTAG 口進行保護,Secure Debug 驗證方案參考《SemiDrive E3 Secure Debug 理論及驗證》博文;通過燒寫 eFuse 方式開啟JTAG 口保護,由於 eFuse 的 OTP 特性(僅能燒寫一次),如果在方案驗證過程中,假設 eFuse 操作不當,可能導致硬體晶片不可逆轉損傷,本文介紹的方式可避免上述問題;函數方式驗證原理為:當系統上電完成後,通過軟體的方式向 eFuse 影子寄存器中寫入數據,模擬 Secure Debug 過程,寫入數據斷電丟失,故這種方式僅能模擬驗證 Secure Debug 之 JTAG Challenge/Response、Fuse Disable 兩個過程,不能驗證 BootROM 階段,本文僅介紹 JTAG Challenge/Response 過程,Fuse Disable 讀者可自行驗證;

本文方式僅是方案過程輔助驗證,當將 eFuse 燒寫內容、解鎖使用的腳本驗證通過後,將所需要的信息形成文件,並燒寫進 eFuse,開啟 JTAG 口保護。

三、方案驗證

3.1 軟體更改

       將下述代碼下載到開發板,上電 log 如下圖所示,使用自帶的e3_sf.JLInK Script 腳本文件,此時通過 project -> attach the running target 方式是不能成功 Debug。

SemiDrive E3 Secure Debug 函數方式驗證 
SemiDrive E3 Secure Debug 函數方式驗證
SemiDrive E3 Secure Debug 函數方式驗證 
SemiDrive E3 Secure Debug 函數方式驗證
SemiDrive E3 Secure Debug 函數方式驗證
SemiDrive E3 Secure Debug 函數方式驗證

SemiDrive E3 Secure Debug 函數方式驗證
SemiDrive E3 Secure Debug 函數方式驗證
3.2 TAG 解鎖
 
        將 E3_sf.JLinkScript 腳本按照下圖所示的更改,並替換原來的腳本,通過下述方式 IAR 工程關聯解鎖腳本:option -> Debug -> Extra Option -> --jlink_script_file=$PROJ_DIR$\..\..\..\tools\JLINK\e3_sf.JLinkScript,重新上電,Debug 軟體代碼,程序運行正常並退出 Debug,連接 JLINK 下載器,點擊 Project -> attach to running target 可以正常 Debug 軟體。

SemiDrive E3 Secure Debug 函數方式驗證
SemiDrive E3 Secure Debug 函數方式驗證
SemiDrive E3 Secure Debug 函數方式驗證
 
四、參考文檔
 
《E3110_MCU_TRM_Rev00.13》
《E3110_MCU_Datasheet_Rev00.17》
《E3 secure debug V1.0》
《SDToolBox_User_Guide》




歡迎在博文下方留言評論,我們會及時回復您的問題。

如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com   
作者:娜就這麼嘀

更多資訊,請掃碼關注我們!
 

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論