SOC芯片eFuse失效的处理方法及装置
技术领域
本发明涉及一种SOC芯片,特别涉及SOC芯片eFuse失效的处理方法及装置。
背景技术
在大型安全SOC芯片中,efuse是一种重要的非易失性存储单元,由熔丝结构构成,通过熔丝可以在芯片上编程并存储信息.常常用于存储安全相关的内容,比如密钥、密码等信息,因此对于芯片的安全系统非常重要。但是由于工艺尺寸的突飞猛进,efuse作为一种较为脆弱的电路单元,常常在使用过程中由于静电或者其他原因造成efuse损坏,造成整个芯片和系统无法工作,只能整机报废,从而导致大量的浪费。
所以如果能有一种能进行efuse的自测试和自调节的方法或装置,能将efuse损坏后自动降低电路的安全等级,使得原本只能整机报废的机器,还能够作为非安全的娱乐设备继续使用,这将是非常有意义的工作。
发明内容
本发明要解决的技术问题之一,在于提供一种SOC芯片eFuse失效的处理方法,能将efuse损坏后自动降低电路的安全等级,使得原本只能整机报废的机器,还能够作为非安全的娱乐设备继续使用。
本发明要解决的技术问题之一是这样实现的:一种SOC芯片eFuse失效的处理方法,包括
步骤S1、将SOC芯片的操作系统分为安全操作系统和非安全操作系统,所述安全操作系统是有很强安全性的操作系统;所述非安全系统是指对安全性能没有要求的操作系统;
其中,所述安全操作系统所对应的安全系统BOOT_ROM中的代码都是经过加密的代码,需要efuse中的密钥才能解开加密后运行;所述非安全操作系统对应的非安全系统BOOT_ROM中的代码都是没有加密的代码,能直接运行;
步骤S2、每次开机之前通过读控制单元对efuse电路进行遍历读操作,并将读数据送往比较判断单元;
步骤S3、比较判断单元将读数据和期望值进行比较,如果读数据和期望值一致说明efuse电路正常,如果不一致说明efuse电路不正常;并将比较结果送往BOOT_ROM映射单元、操作系统选择单元和安全软件访问控制单元;
步骤S4、所述BOOT_ROM映射单元根据比较结果进行boot_rom地址的映射动作,如果efuse电路正常,将映射地址指向安全系统BOOT_ROM;如果efuse电路不正常,则将映射地址指向非安全系统BOOT_ROM;
所述操作系统选择单元根据比较结果进行操作系统选择动作,,如果efuse电路正常,将CPU访问的操作系统指向安全操作系统;如果efuse电路不正常,则将CPU访问的操作系统指向非安全操作系统;
所述安全软件访问控制单元根据比较结果控制CPU是否可以访问运行安全软件,如果efuse电路正常,允许CPU访问运行安全软件;如果efuse电路不正常,则不允许CPU访问运行安全软件。
进一步的,所述安全软件的列表信息预先存储在安全软件列表存储单元中,所述安全软件的代码预先存储在安全软件代码存储单元中。
本发明要解决的技术问题之二,在于提供一种SOC芯片eFuse失效的处理装置,能将efuse损坏后自动降低电路的安全等级,使得原本只能整机报废的机器,还能够作为非安全的娱乐设备继续使用。
本发明要解决的技术问题之二是这样实现的:一种SOC芯片eFuse失效的处理装置,包括eFuse、读控制单元、比较判断单元、CPU、BOOT_ROM映射单元、操作系统选择单元、安全软件访问控制单元、安全系统BOOT_ROM以及非安全系统BOOT_ROM;所述eFuse、读控制单元、比较判断单元依次连接;所述比较判断单元分别连接所述BOOT_ROM映射单元、操作系统选择单元和安全软件访问控制单元,所述BOOT_ROM映射单元还分别连接安全系统BOOT_ROM以及非安全系统BOOT_ROM,安全软件访问控制单元;其中,
每次开机之前,所述读控制单元对efuse电路进行遍历读操作,并将读数据送往比较判断单元;
比较判断单元将读数据和期望值进行比较,如果读数据和期望值一致说明efuse电路正常,如果不一致说明efuse电路不正常;并将比较结果送往BOOT_ROM映射单元、操作系统选择单元和安全软件访问控制单元;
所述BOOT_ROM映射单元根据比较结果进行boot_rom地址的映射动作,如果efuse电路正常,将映射地址指向安全系统BOOT_ROM;如果efuse电路不正常,则将映射地址指向非安全系统BOOT_ROM;
所述操作系统选择单元根据比较结果进行操作系统选择动作,,如果efuse电路正常,将CPU访问的操作系统指向安全操作系统;如果efuse电路不正常,则将CPU访问的操作系统指向非安全操作系统;
所述安全软件访问控制单元根据比较结果控制CPU是否可以访问运行安全软件,如果efuse电路正常,允许CPU访问运行安全软件;如果efuse电路不正常,则不允许CPU访问运行安全软件。
进一步的,本发明装置还包括安全软件列表存储单元和安全软件代码存储单元,所述安全软件的列表信息预先存储在该安全软件列表存储单元中,所述安全软件的代码预先存储在该安全软件代码存储单元中。
本发明具有如下优点:
1.相较于现有技术中efuse电路损坏就会造成整机报废,本发明每次开机前对efuse进行一次自测试,如果测试出efuse损坏,可以自动将芯片的启动方式和操作系统切换为没有安全要求的启动和系统,同时屏蔽CPU对安全软件的访问,从而是原来只能因为无法启动而报废的设备应用于对安全性能没有要求的场景中,比如一些纯娱乐类消费电子产品;
2.测试流程和方法简单易行,可以通过筛选结果引脚直观的看到efuse的测试结果并进行分类处理。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明方法的流程框图。
图2为本发明装置的结构框图。
具体实施方式
如图1所示,本发明的SOC芯片eFuse失效的处理方法,包括:
步骤S1、将SOC芯片的操作系统分为安全操作系统和非安全操作系统;
其中,所述安全操作系统是有很强安全性的操作系统,需要硬件支持安全的访问,密钥的安全存放,安全区域的划分等安全需求,当efuse不能正常工作时,无法满足安全操作系统的需求,会导致安全操作系统无法运行;
所述非安全系统是指对安全性能没有要求的操作系统,通常可以用于纯娱乐类型的消费类电子产品;
所述安全操作系统所对应的安全系统BOOT_ROM中的代码都是经过加密的代码,需要efuse中的密钥才能解开加密后运行;
所述非安全操作系统对应的非安全系统BOOT_ROM中的代码都是没有加密的代码,能直接运行;
步骤S2、每次开机之前通过读控制单元对efuse电路进行遍历读操作,并将读数据送往比较判断单元;
步骤S3、比较判断单元将读数据和期望值进行比较,如果读数据和期望值一致说明efuse电路正常,如果不一致说明efuse电路不正常;并将比较结果送往BOOT_ROM映射单元、操作系统选择单元和安全软件访问控制单元;
步骤S4、所述BOOT_ROM映射单元根据比较结果进行boot_rom地址的映射动作,如果efuse电路正常,将映射地址指向安全系统BOOT_ROM;如果efuse电路不正常,则将映射地址指向非安全系统BOOT_ROM;
所述操作系统选择单元根据比较结果进行操作系统选择动作,如果efuse电路正常,将CPU访问的操作系统指向安全操作系统;如果efuse电路不正常,则将CPU访问的操作系统指向非安全操作系统;
所述安全软件访问控制单元根据比较结果控制CPU是否可以访问运行安全软件,如果efuse电路正常,允许CPU访问运行安全软件;如果efuse电路不正常,则不允许CPU访问运行安全软件。其中,所述安全软件的列表信息预先存储在安全软件列表存储单元中,所述安全软件的代码预先存储在安全软件代码存储单元中。
如图1和图2所示,为实现上述方法,本发明提出一种硬件的实现方式,即SOC芯片eFuse失效的处理装置,包括eFuse、读控制单元、比较判断单元、CPU、BOOT_ROM映射单元、操作系统选择单元、安全软件访问控制单元、安全系统BOOT_ROM、非安全系统BOOT_ROM、安全软件列表存储单元和安全软件代码存储单元;所述eFuse、读控制单元、比较判断单元依次连接;所述比较判断单元分别连接所述BOOT_ROM映射单元、操作系统选择单元和安全软件访问控制单元,所述BOOT_ROM映射单元还分别连接安全系统BOOT_ROM以及非安全系统BOOT_ROM,安全软件访问控制单元;所述安全软件访问控制单元分别连接所述安全软件列表存储单元和安全软件代码存储单元,该安全软件列表存储单元用于存储安全软件的列表信息中,该安全软件代码存储单元中所述安全软件的代码存储,安全软件是指对安全性能有要求的软件,比如银行支付软件,网络支付软件等。
其中,该处理装置运行时,按上述本发明方法进行,即:
每次开机之前,所述读控制单元对efuse电路进行遍历读操作,并将读数据送往比较判断单元;
比较判断单元将读数据和期望值进行比较,如果读数据和期望值一致说明efuse电路正常,如果不一致说明efuse电路不正常;并将比较结果送往BOOT_ROM映射单元、操作系统选择单元和安全软件访问控制单元;
所述BOOT_ROM映射单元根据比较结果进行boot_rom地址的映射动作,如果efuse电路正常,将映射地址指向安全系统BOOT_ROM;如果efuse电路不正常,则将映射地址指向非安全系统BOOT_ROM;
所述操作系统选择单元根据比较结果进行操作系统选择动作,,如果efuse电路正常,将CPU访问的操作系统指向安全操作系统;如果efuse电路不正常,则将CPU访问的操作系统指向非安全操作系统;
所述安全软件访问控制单元根据比较结果控制CPU是否可以访问运行安全软件,如果efuse电路正常,允许CPU访问运行安全软件;如果efuse电路不正常,则不允许CPU访问运行安全软件。而CPU负责整个系统的控制。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。