芯片中模块的启动方法、装置、芯片及存储介质制造方法及图纸

技术编号:38651550 阅读:14 留言:0更新日期:2023-09-02 22:40
本申请提供一种芯片中模块的启动方法、装置、芯片及存储介质,芯片中模块的启动方法包括:判断芯片中的各模块是否均启动成功;若否,则从芯片的次级存储器中调用启动失败的模块的启动修复代码,次级存储器为芯片中与主存储器不同的存储器,主存储器用于存储各模块相应的启动介质,各模块通过其相应的启动介质实现启动;控制启动修复代码运行,以使芯片中的各模块成功启动。在不对芯片重新进行流片的情况下,也能够实现芯片中模块的全启动,缩短芯片的开发周期,降低芯片的开发成本。降低芯片的开发成本。降低芯片的开发成本。

【技术实现步骤摘要】
芯片中模块的启动方法、装置、芯片及存储介质


[0001]本申请涉及处理器
,尤其涉及一种芯片中模块的启动方法、装置、芯片及存储介质。

技术介绍

[0002]在嵌入式处理器或移动式处理器的芯片中,存在一小块掩膜的只读存储器(Read Only Memory,ROM),这就是bootrom。在bootrom中,存储有bootcode。Bootcode运行后,能够使芯片中相应模块启动或加载。而如果bootcode运行失败,那么芯片中的各相应模块就无法成功启动或加载,进而使得芯片中的各项功能无法正常使用。因此,需要确保bootcode能够使芯片中的所有模块成功启动或加载。
[0003]目前,确保bootcode能够使芯片中的所有模块成功启动或加载的一种方式就是对芯片重新进行流片。也就是说,重新设计bootcode,确保重新设计的bootcode能够使芯片中的各模块成功启动或加载,再将重新设计的bootcode烧制到bootrom中,并重新生产芯片。这样,会延长芯片的开发周期,增加芯片的开发成本。

技术实现思路

[0004]本申请实施例的目的是提供一种芯片中模块的启动方法、装置、芯片及存储介质,在不重新流片的情况下,使芯片中的各相应模块能够正常启动或加载,缩短芯片的开发周期,降低芯片的开发成本。
[0005]为解决上述技术问题,本申请实施例提供如下技术方案:
[0006]本申请第一方面提供一种芯片中模块的启动方法,所述方法包括:判断芯片中的各模块是否均启动成功;若否,则从所述芯片的次级存储器中调用启动失败的模块的启动修复代码,所述次级存储器为所述芯片中与主存储器不同的存储器,所述主存储器用于存储各模块相应的启动介质,各模块通过其相应的启动介质实现启动;控制所述启动修复代码运行,以使所述芯片中的各模块成功启动。
[0007]本申请第二方面提供一种芯片中模块的启动装置,所述装置包括:判断模块,用于判断芯片中的各模块是否均启动成功;若否,则进入调用模块;调用模块,用于从所述芯片的次级存储器中调用启动失败的模块的启动修复代码,所述次级存储器为所述芯片中与主存储器不同的存储器,所述主存储器用于存储各模块相应的启动介质,各模块通过其相应的启动介质实现启动;启动模块,用于控制所述启动修复代码运行,以使所述芯片中的各模块完成启动。
[0008]本申请第三方面提供一种芯片,所述芯片包括:处理器、存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行第一方面中的方法。
[0009]本申请第四方面提供一种计算机可读存储介质,所述存储介质包括:存储的程序;其中,在所述程序运行时控制所述存储介质所在设备执行第一方面中的方法。
[0010]相较于现有技术,本申请第一方面提供的芯片中模块的启动方法,当判断出芯片中的各模块未均启动成功时,从芯片的次级存储器中调用启动失败的模块的启动修复代码,并控制启动修复代码运行。由于次级存储器为芯片中与存储各模块的主存储器不同的存储器,即便芯片中的某一个模块的启动异常,也能够实现芯片中各模块的全启动。并且,次级存储器中仅存储有启动失败模块的启动修复代码,相比于芯片中所有模块的启动代码,能够通过启动代码减少敏感信息的暴漏量,提升芯片的安全性。这样,在不对芯片重新进行流片的情况下,也能够实现芯片中模块的全启动,缩短芯片的开发周期,降低芯片的开发成本。
[0011]本申请第二方面提供的芯片中模块的启动装置、第三方面提供的芯片、第四方面提供的计算机可读存储介质,与第一方面提供的芯片中模块的启动方法具有相同或相似的有益效果。
附图说明
[0012]通过参考附图阅读下文的详细描述,本申请示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施方式,相同或对应的标号表示相同或对应的部分,其中:
[0013]图1为本申请实施例中芯片中模块的启动方法的流程示意图;
[0014]图2为本申请实施例中次级存储器中启动修复代码存储位置的示意图;
[0015]图3为本申请实施例中硬件层面实现芯片中模块启动的结构示意图;
[0016]图4为本申请实施例中软件层面实现芯片中模块启动的流程示意图;
[0017]图5为本申请实施例中芯片中模块的启动装置的结构示意图;
[0018]图6为本申请实施例中芯片的结构示意图。
具体实施方式
[0019]下面将参照附图更详细地描述本申请的示例性实施方式。虽然附图中显示了本申请的示例性实施方式,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
[0020]需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
[0021]目前,当芯片中的各模块无法成功启动时,需要对芯片重新进行流片。即,对于芯片内bootrom中的bootcode,需要重新设计bootcode,确保重新设计的bootcode能够使芯片中的各模块成功启动,然后再将重新设计的bootcode烧制到bootrom中,并重新生产芯片。但是这样会延长芯片的开发周期,增加芯片的开发成本。
[0022]专利技术人经过研究发现,如果不重新进行流片,而是直接对芯片进行修改,那么就可以缩短芯片的开发周期,降低芯片的开发成本。在对芯片中的异常bootcode进行修复的各种方式中发现,如果对异常bootcode进行补丁,即,通过芯片中的某一个模块下载补丁,通过在该模块中运行补丁,使芯片中的其它模块能够成功启动,一旦下载补丁的模块启动异常,那么也无法完成芯片中各模块的启动。如果不从bootrom启动模块,即,将bootcode迁移
到flash、norflash等存储器上,进而对bootcode进行修复,并运行修复后的bootcode,这样会从bootcode中暴漏出一些敏感数据,降低芯片的安全性。如果能够对上述两种方式各取所长,那么在不重新流片的情况下,既能够确保芯片中的各模块均能够正常启动,又不会暴漏更多的敏感数据。
[0023]有鉴于此,本申请实施例提供一种芯片中模块的启动方法,当判断出芯片中的各模块未均启动成功时,从芯片的次级存储器中调用启动失败的模块的启动修复代码,并控制启动修复代码运行。由于次级存储器为芯片中与存储各模块的主存储器不同的存储器,即便芯片中的某一个模块的启动异常,也能够实现芯片中各模块的全启动。并且,次级存储器中仅存储有启动失败模块的启动修复代码,相比于芯片中所有模块的启动代码,能够通过启动代码减少敏感信息的暴漏量,提升芯片的安全性。这样,在不对芯片重新进行流片的情况下,也能够实现芯片中模块的全启动,缩短芯片的开发周期,降低芯片的开发成本。
[0024]首先,对本申请实施例提供本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种芯片中模块的启动方法,其特征在于,所述方法包括:判断芯片中的各模块是否均启动成功;若否,则从所述芯片的次级存储器中调用启动失败的模块的启动修复代码,所述次级存储器为所述芯片中与主存储器不同的存储器,所述主存储器用于存储各模块相应的启动介质,各模块通过其相应的启动介质实现启动;控制所述启动修复代码运行,以使所述芯片中的各模块成功启动。2.根据权利要求1所述的方法,其特征在于,所述主存储器中存储有各模块相应的启动标志,所述启动标志用于指示模块是否完成启动;在控制所述启动修复代码运行之后,所述方法还包括:将所述启动修复代码启动的模块的启动标志修改为完成启动;根据所述各模块当前的启动标志确定是否采用原启动代码启动相应的模块,当启动标志指示完成启动时,不采用原启动代码,当启动标志指示未完成启动时,采用原启动代码。3.根据权利要求2所述的方法,其特征在于,所述根据所述各模块当前的启动标志确定是否采用原启动代码启动相应的模块,包括:当目标模块当前的启动标志指示所述目标模块完成启动时,对所述目标模块进行启动后的操作;当目标模块当前的启动标志指示所述目标模块未完成启动时,从原启动代码中确定出启动所述目标模块的目标启动代码,采用所述目标启动代码启动所述目标模块。4.根据权利要求1所述的方法,其特征在于,所述判断芯片中的各模块是否均启动成功,包括:判断所述芯片当前是否处于修复模式;若是,则确定所述芯片中的各模块未均启动成功;若否,则确定所述芯片中的各模块均启动成功。5.根据权利要求1所述的方法,其特征在于,在判断芯片中的各模块是否均启动成功之前,所述方法还包括:启动所述...

【专利技术属性】
技术研发人员:秦海俊
申请(专利权)人:北京奕斯伟计算技术股份有限公司
类型:发明
国别省市:

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

1