一种芯片安全启动地址空间修复的方法及芯片技术

技术编号:38644231 阅读:13 留言:0更新日期:2023-08-31 18:35
本发明专利技术公开了一种芯片安全启动地址空间修复的方法及芯片,属于SoC技术领域,包括芯片上电;启动只读存储器BOOTROM开始执行逻辑代码,将一次性可编程存储器OTP中的修复地址映射表读取到芯片的随机存取存储器RAM中临时保存;解析随机存取存储器RAM中修复地址映射表的使能位和修复点的个数;运行到修复点n;判断使能位是否使能,若使能位使能,判断修复点对应的地址是否需要修复,若需要修复,修复点n使用修复地址的值。本发明专利技术一种芯片安全启动地址空间修复的方法及芯片,解决了在芯片的启动只读存储器BOOTROM启动过程中,需要修复一些芯片地址空间地址寄存器或者数据的问题,能够明显降低芯片后期的经济成本和时间成本。显降低芯片后期的经济成本和时间成本。显降低芯片后期的经济成本和时间成本。

【技术实现步骤摘要】
一种芯片安全启动地址空间修复的方法及芯片


[0001]本专利技术涉及SoC
,且特别是有关于一种芯片安全启动地址空间修复的方法及芯片。

技术介绍

[0002]芯片在安全启动过程中,需要内部固件验证下一级启动固件的安全性。为了保证安全性,内部固件在芯片设计过程中就要固化在芯片的内部ROM中,在芯片设计完成后此区域的代码不能再更改,如果需要修改,那么只有重新设计芯片,并重新对芯片进行流片制作。
[0003]其中,存储安全固件的区域为启动只读存储器BOOTROM,启动只读存储器BOOTROM的特性决定了在芯片制作完成以后,启动只读存储器BOOTROM的执行代码已经固化在芯片内部,不能进行修改。
[0004]然而,在启动只读存储器BOOTROM的启动过程中,可能存在由于芯片设计本身原因或者功能需求原因,导致芯片内置地址空间某些地址的值需要按需求进行修复。比如,在启动只读存储器BOOTROM启动过程中,启动只读存储器BOOTROM的启动代码读取芯片地址空间寄存器A的值为a,但是在测试或使用时发现,该寄存器的值需要为b才能满足正常的功能需求。由于启动只读存储器BOOTROM的代码在芯片制作的过程中已经固化在芯片内部,并且芯片地址空间对应地址值的计算逻辑已经在设计芯片逻辑的时候固定,如果要修改启动只读存储器BOOTROM中的代码或者修改芯片内部的实现逻辑,那么就要重新设计或制作芯片,会造成非常大经济成本和时间成本损失。

技术实现思路

[0005]本专利技术旨在提供一种芯片安全启动地址空间修复的方法及芯片,解决在芯片的启动只读存储器BOOTROM启动过程中,需要修复一些芯片地址空间地址寄存器或者数据的问题。
[0006]为达到上述目的,本专利技术技术方案是:一种芯片安全启动地址空间修复的方法,包括,步骤S1,芯片上电;步骤S2,启动只读存储器BOOTROM开始执行逻辑代码,将一次性可编程存储器OTP中的修复地址映射表读取到芯片的随机存取存储器RAM中临时保存;步骤S3,解析随机存取存储器RAM中修复地址映射表的使能位和修复点的个数;步骤S4,运行到修复点n,0≦n≦b

1,b为修复点的个数;步骤S5,判断使能位是否使能,若使能位使能,进入步骤S6;否则,进入步骤S8;步骤S6,判断修复点对应的地址是否需要修复,若修复点对应的地址需要修复,进入步骤S7;否则,进入步骤S8;步骤S7,修复点n使用修复地址的值;
步骤S8,启动只读存储器BOOTROM执行后续的逻辑。
[0007]上述步骤S2中,在所述一次性可编程存储器OTP中,存储修复地址映射表的区域为PATCH区,所述PATCH区包括1个使能位、修复点0至修复点b

1、修复地址ADD0至修复地址ADD
a
‑1,由此,a个修复地址和b个修复点在所述一次性可编程存储器OTP中需要的位空间y为:y=a*m+b*a+a,其中,m为目标机器的位数,对于32位中央处理器,m取值为32;对于64位中央处理器m取值为64,使能位具有a个bit,具体为使能位bit 0至使能位bit a

1;每个修复点具有a个bit,具体为修复点位bit 0至修复点位bit a

1。
[0008]上述步骤S4中,修复点在所述启动只读存储器BOOTROM中是程序按照顺序执行的流程,修复点生效的顺序为修复点0至修复点1至修复点2,至修复点n,直至修复点b

1,当运行到某修复点的时候,需要按照此修复点对应的地址值使用对应ADD的值。
[0009]上述步骤S5中,使能位bit0至使能位bit a

1中的某个值对应为1表示修复地址ADD0至修复地址ADD
a
‑1中对应的地址开启了修复功能。
[0010]上述步骤S6中,修复点位bit0至修复点位bit a

1中的某个值对应为1表示修复地址ADD0至修复地址ADD
a
‑1中对应的地址需要进行修复。
[0011]上述步骤S7中,使能位bit和修复点位bit为与的关系,只有当序号相同的使能位bit和修复点位bit都为1,对应的修复地址才会生效,所述启动只读存储器BOOTROM读取所述随机存取存储器RAM中存储的该修复地址的值进行后续的操作。
[0012]上述步骤S8包括,在所述启动只读存储器BOOTROM执行后续的逻辑代码时,在使用到中央处理器地址空间指定地址的值时,如果在修复地址映射表中,查询到该地址需要使用修复后的值,那么启动只读存储器BOOTROM就会使用随机存取存储器RAM中存储的该修复地址的值进行后续的操作,否则使用中央处理器地址空间中的原值进行后续的操作。
[0013]本专利技术还提供一种芯片安全启动地址空间修复的芯片,执行上述一种芯片安全启动地址空间修复的方法,包括核心CORE、知识产权核IP CORE、闪存FLASH、随机存取存储器RAM、启动只读存储器BOOTROM、联合测试接口JTAG,所述核心CORE与所述知识产权核IP CORE连接,所述核心CORE还分别连接所述闪存FLASH、所述随机存取存储器RAM、所述启动只读存储器BOOTROM、所述联合测试接口JTAG。
[0014]上述一次性可编程存储器OTP存放用于修复芯片地址空间的修复地址映射表。
[0015]上述随机存取存储器RAM存储修复地址的值。
[0016]在一具体实施例中,上述一次性可编程存储器OTP设置在芯片内部,所述核心CORE与所述一次性可编程存储器OTP连接。
[0017]在一具体实施例中,上述一次性可编程存储器OTP设置在芯片外部,所述核心CORE与所述一次性可编程存储器OTP连接。
[0018]有益效果,本专利技术一种芯片安全启动地址空间修复的方法及芯片,在芯片安全启动过程中,固化在启动只读存储器BOOTROM中的安全校验流程通过获取一次性可编程存储器OTP中PATCH区的修复地址映射表来对部分地址进行修复,避免芯片因为功能不符合或者不满足需求而被丢弃,能够明显降低芯片后期的经济成本和时间成本。
[0019]为让专利技术的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
15需要依靠一次性可编程存储器OTP 16里面的数据进行下一级固件的安全启动验证,因此出厂后的芯片首次启动时,需要通过一些方法对一次性可编程存储器OTP 16里面的信息进行烧写,联合测试接口JTAG 17就是一种方式。当对一次性可编程存储器OTP 16烧写后,其中的内容便不能再修改。如果正式发布芯片,则可通过一定的方法对一次性可编程存储器OTP 16进行批量的烧写。
[0034]如图2所示,本专利技术一种芯片安全启动地址空间修复的方法,具体包括如下步骤。
[0035]步骤S1,芯片上电。
[0036]步骤S2,启动只读存储器BOOTROM 15开始执行逻辑代码,将一次性可编程存储器本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种芯片安全启动地址空间修复的方法,其特征在于,包括,步骤S1,芯片上电;步骤S2,启动只读存储器BOOTROM开始执行逻辑代码,将一次性可编程存储器OTP中的修复地址映射表读取到芯片的随机存取存储器RAM中临时保存;步骤S3,解析随机存取存储器RAM中修复地址映射表的使能位和修复点的个数;步骤S4,运行到修复点n,0≦n≦b

1,b为修复点的个数;步骤S5,判断使能位是否使能,若使能位使能,进入步骤S6;否则,进入步骤S8;步骤S6,判断修复点对应的地址是否需要修复,若修复点对应的地址需要修复,进入步骤S7;否则,进入步骤S8;步骤S7,修复点n使用修复地址的值;步骤S8,启动只读存储器BOOTROM执行后续的逻辑。2.如权利要求1所述一种芯片安全启动地址空间修复的方法,其特征在于,所述步骤S2中,在所述一次性可编程存储器OTP中,存储修复地址映射表的区域为PATCH区,所述PATCH区包括1个使能位、修复点0至修复点b

1、修复地址ADD0至修复地址ADD
a
‑1,由此,a个修复地址和b个修复点在所述一次性可编程存储器OTP中需要的位空间y为:y=a*m+b*a+a,其中,m为目标机器的位数,对于32位中央处理器,m取值为32;对于64位中央处理器,m取值为64;使能位具有a个bit,具体为使能位bit 0至使能位bit a

1;每个修复点具有a个bit,具体为修复点位bit 0至修复点位bit a

1。3.如权利要求2所述一种芯片安全启动地址空间修复的方法,其特征在于,所述步骤S4中,修复点在所述启动只读存储器BOOTROM中是程序按照顺序执行的流程,修复点生效的顺序为修复点0至修复点1至修复点2,至修复点n,直至修复点b

1,当运行到某修复点的时候,需要按照此修复点对应的地址值使用对应ADD的值。4.如权利要求3所述一种芯片安全启动地址空间修复的方法,其特征在于,所述步骤S5中,使能位bit0至使能位bit a

1中的某个值对应为1表示修复地址ADD0至修复地址ADD
a
‑1中对应的地址开启了修复功能。5.如权利要求4所述一种芯...

【专利技术属性】
技术研发人员:王洪
申请(专利权)人:常州楠菲微电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1