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