SOC芯片eFuse失效的處理方法及裝置的制造方法
【技術領域】
[0001]本發明涉及一種SOC芯片,特別涉及SOC芯片eFuse失效的處理方法及裝置。
【背景技術】
[0002]在大型安全SOC芯片中,efuse是一種重要的非易失性存儲單元,由熔絲結構構成,通過熔絲可以在芯片上編程并存儲信息.常常用于存儲安全相關的內容,比如密鑰、密碼等信息,因此對于芯片的安全系統非常重要。但是由于工藝尺寸的突飛猛進,efuse作為一種較為脆弱的電路單元,常常在使用過程中由于靜電或者其他原因造成efuse損壞,造成整個芯片和系統無法工作,只能整機報廢,從而導致大量的浪費。
[0003]所以如果能有一種能進行efuse的自測試和自調節的方法或裝置,能將efuse損壞后自動降低電路的安全等級,使得原本只能整機報廢的機器,還能夠作為非安全的娛樂設備繼續使用,這將是非常有意義的工作。
【發明內容】
[0004]本發明要解決的技術問題之一,在于提供一種SOC芯片eFuse失效的處理方法,能將efuse損壞后自動降低電路的安全等級,使得原本只能整機報廢的機器,還能夠作為非安全的娛樂設備繼續使用。
[0005]本發明要解決的技術問題之一是這樣實現的:一種SOC芯片eFuse失效的處理方法,包括
[0006]步驟S1、將SOC芯片的操作系統分為安全操作系統和非安全操作系統,所述安全操作系統是有很強安全性的操作系統;所述非安全系統是指對安全性能沒有要求的操作系統;
[0007]其中,所述安全操作系統所對應的安全系統B00T_R0M中的代碼都是經過加密的代碼,需要efuse中的密鑰才能解開加密后運行;所述非安全操作系統對應的非安全系統B00T_R0M中的代碼都是沒有加密的代碼,能直接運行;
[0008]步驟S2、每次開機之前通過讀控制單元對efuse電路進行遍歷讀操作,并將讀數據送往比較判斷單元;
[0009]步驟S3、比較判斷單元將讀數據和期望值進行比較,如果讀數據和期望值一致說明efuse電路正常,如果不一致說明efuse電路不正常;并將比較結果送往B00T_R0M映射單元、操作系統選擇單元和安全軟件訪問控制單元;
[0010]步驟S4、所述B00T_R0M映射單元根據比較結果進行boot_rom地址的映射動作,如果efuse電路正常,將映射地址指向安全系統B00T_R0M ;如果efuse電路不正常,則將映射地址指向非安全系統B00T_R0M ;
[0011]所述操作系統選擇單元根據比較結果進行操作系統選擇動作,,如果efuse電路正常,將CPU訪問的操作系統指向安全操作系統;如果efuse電路不正常,則將CPU訪問的操作系統指向非安全操作系統;
[0012]所述安全軟件訪問控制單元根據比較結果控制CPU是否可以訪問運行安全軟件,如果efuse電路正常,允許CPU訪問運行安全軟件;如果efuse電路不正常,則不允許CPU訪問運行安全軟件。
[0013]進一步的,所述安全軟件的列表信息預先存儲在安全軟件列表存儲單元中,所述安全軟件的代碼預先存儲在安全軟件代碼存儲單元中。
[0014]本發明要解決的技術問題之二,在于提供一種SOC芯片eFuse失效的處理裝置,能將efuse損壞后自動降低電路的安全等級,使得原本只能整機報廢的機器,還能夠作為非安全的娛樂設備繼續使用。
[0015]本發明要解決的技術問題之二是這樣實現的:一種SOC芯片eFuse失效的處理裝置,包括eFuse、讀控制單元、比較判斷單元、CPU、B00T_R0M映射單元、操作系統選擇單元、安全軟件訪問控制單元、安全系統B00T_R0M以及非安全系統B00T_R0M ;所述eFuse、讀控制單元、比較判斷單元依次連接;所述比較判斷單元分別連接所述B00T_R0M映射單元、操作系統選擇單元和安全軟件訪問控制單元,所述B00T_R0M映射單元還分別連接安全系統B00T_R0M以及非安全系統B00T_R0M,安全軟件訪問控制單元;其中,
[0016]每次開機之前,所述讀控制單元對efuse電路進行遍歷讀操作,并將讀數據送往比較判斷單元;
[0017]比較判斷單元將讀數據和期望值進行比較,如果讀數據和期望值一致說明efuse電路正常,如果不一致說明efuse電路不正常;并將比較結果送往B00T_R0M映射單元、操作系統選擇單元和安全軟件訪問控制單元;
[0018]所述B00T_R0M映射單元根據比較結果進行boot_rom地址的映射動作,如果efuse電路正常,將映射地址指向安全系統B00T_R0M ;如果efuse電路不正常,則將映射地址指向非安全系統B00T_R0M ;
[0019]所述操作系統選擇單元根據比較結果進行操作系統選擇動作,,如果efuse電路正常,將CPU訪問的操作系統指向安全操作系統;如果efuse電路不正常,則將CPU訪問的操作系統指向非安全操作系統;
[0020]所述安全軟件訪問控制單元根據比較結果控制CPU是否可以訪問運行安全軟件,如果efuse電路正常,允許CPU訪問運行安全軟件;如果efuse電路不正常,則不允許CPU訪問運行安全軟件。
[0021]進一步的,本發明裝置還包括安全軟件列表存儲單元和安全軟件代碼存儲單元,所述安全軟件的列表信息預先存儲在該安全軟件列表存儲單元中,所述安全軟件的代碼預先存儲在該安全軟件代碼存儲單元中。
[0022]本發明具有如下優點:
[0023]1.相較于現有技術中efuse電路損壞就會造成整機報廢,本發明每次開機前對efuse進行一次自測試,如果測試出efuse損壞,可以自動將芯片的啟動方式和操作系統切換為沒有安全要求的啟動和系統,同時屏蔽CPU對安全軟件的訪問,從而是原來只能因為無法啟動而報廢的設備應用于對安全性能沒有要求的場景中,比如一些純娛樂類消費電子產品;
[0024]2.測試流程和方法簡單易行,可以通過篩選結果引腳直觀的看到efuse的測試結果并進行分類處理。
【附圖說明】
[0025]下面參照附圖結合實施例對本發明作進一步的說明。
[0026]圖1為本發明方法的流程框圖。
[0027]圖2為本發明裝置的結構框圖。
【具體實施方式】
[0028]如圖1所示,本發明的SOC芯片eFuse失效的處理方法,包括:
[0029]步驟S1、將SOC芯片的操作系統分為安全操作系統和非安全操作系統;
[0030]其中,所述安全操作系統是有很強安全性的操作系統,需要硬件支持安全的訪問,密鑰的安全存放,安全區域的劃分等安全需求,當efuse不能正常工作時,無法滿足安全操作系統的需求,會導致安全操作系統無法運行;
[0031]所述非安全系統是指對安全性能沒有要求的操作系統,通常可以用于純娛樂類型的消費類電子產品;
[0032]所述安全操作系統所對應的安全系統B00T_R0M中的代碼都是經過加密的代碼,需要efuse中的密鑰才能解開加密后運行;
[0033]所述非安全操作系統對應的非安全系統B00T_R0M中的代碼都是沒有加密的代碼,能直接運行;
[0034]步驟S2、每次開機之前通過讀控制單元對efuse電路進行遍歷讀操作,并將讀數據送往比較判斷單元;
[0035]步驟S3、比較判斷單元將讀數據和期望值進行比較,如果讀數據和期望值一致說明efuse電路正常,如果不一致說明efuse電路不正常;并將比較結果送往BOOT_ROM映射單元、操作系統選擇單元和安全軟件訪問控制單元;
[0036]步驟S4、所述BOOT_ROM映射單元根據比較結果進行boot_rom地址的映射動作,如果efuse電路正常,將映射地址指向安全系統BOOT_ROM ;如果efuse電路不正常,則將映射地址指向非安全系統BOOT_ROM ;
[0037]所述操作系統選擇單元根據比較結果進