System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及集成电路 ,尤其涉及一种芯片启动方法、装置、设备、存储介质及程序产品。
技术介绍
1、芯片大多采用多级启动运行模式,芯片的多级启动运行模式通常包括多个阶段,每个阶段都有其特定的任务和目标。多级启动运行模式中的每一个阶段只负责完成特定的任务,从而提高芯片的启动速度,便于固件的部分更新。
2、在相关技术中,芯片的多级启动通常采用单链式加载的方式实现。请参阅图1,图1是现有技术提供的多级启动的单链式加载方法的流程示意图。
3、现有的芯片通常设置有不同的存储介质,例如rom(read-only memory,只读存储器)、ram(random access memory,随机存取存储器)、非易失性存储介质等,不同的存储介质用于存放不同的程序。
4、以图1为例,芯片可设置有bootrom(boot read-only memory,用于存放启动程序的只读存储器)和ram;其中,bootrom在图1中简记为rom。
5、bootrom中存放有启动程序(即bootrom代码),在非易失性存储介质中存放有多段bootloader(即引导加载程序),每一段bootloader只负责完成一个特定的任务。不同的bootloader需要加载至特定存储器(例如图1中的ram)中执行,每一段bootloader的加载和执行可认为是一级启动,同理,启动程序在bootrom中的执行也可认为是一级启动。
6、在芯片上电后,bootrom中存放的启动程序自动执行,逐一将每一段bootloa
7、具体地,如图1所示,假设芯片为4级启动,a代表启动程序,b、c、d分别代表不同的bootloader,不同的bootloader需要按照预设的顺序依次加载并执行。在芯片上电后,bootrom中存放的启动程序a自动执行,芯片的启动流程为:启动程序a(即bootrom a)将bootloader b加载至ram;ram中的bootloader b执行后,由bootloader b将bootloader c加载至ram;ram中的bootloader c执行后,由bootloader c将bootloader d加载至ram;最后执行bootloader d。
8、在上述过程中,由于bootloader b、bootloader c、bootloader d采用了单链式加载的方式,因此,bootloader b、bootloader c、bootloader d需要共同占用微处理器(micro processor unit,mpu)中ram的存储空间,即需要满足等式:sizeb + sizec +sized ≤ sizeram;其中,sizeb表示bootloader b所需的存储空间,size c表示bootloader c所需的存储空间,sized表示bootloader d所需的存储空间,sizeram表示ram的存储空间。
9、由此可知,在芯片的多级启动过程中采用单链式加载方法时,多段bootloader需要共同占用同一存储器的存储空间,因此,现有的芯片启动方法对存储器的存储空间需求大,进而导致芯片面积扩大,芯片的硬件成本高。
技术实现思路
1、本专利技术提供一种芯片启动方法、装置、设备、存储介质及程序产品,用以解决现有技术中芯片启动方法对存储器的存储空间需求大,进而导致芯片面积扩大,芯片的硬件成本高的缺陷。
2、本专利技术提供一种芯片启动方法,包括:从多段待执行引导加载程序中,确定目标引导加载程序;基于启动程序,将目标引导加载程序加载至第一存储器;目标引导加载程序从第一存储器的起始地址开始存储;执行目标引导加载程序;返回从多段待执行引导加载程序中,确定目标引导加载程序的步骤,直至所有待执行引导加载程序均执行完毕,完成芯片启动。
3、根据本专利技术提供的一种芯片启动方法,启动程序包含公共代码,待执行引导加载程序不包含公共代码,公共代码为启动程序和至少一个待执行引导加载程序执行时所需的相同代码;从多段待执行引导加载程序中,确定目标引导加载程序之前,还包括:对多个初始引导加载程序进行代码提取,获得公共代码和每一初始引导加载程序对应的待执行引导加载程序;初始引导加载程序包含公共代码;将包含公共代码的启动程序编译后,烧录至第二存储器。
4、根据本专利技术提供的一种芯片启动方法,执行目标引导加载程序,包括:若目标引导加载程序执行时需要调用公共代码,则从第二存储器中调用公共代码;基于公共代码,执行目标引导加载程序。
5、根据本专利技术提供的一种芯片启动方法,基于启动程序,将目标引导加载程序加载至第一存储器之后,还包括:对目标引导加载程序进行安全验证;若确定目标引导加载程序通过安全验证,则确定目标引导加载程序能够正常执行。
6、根据本专利技术提供的一种芯片启动方法,基于启动程序,将目标引导加载程序加载至第一存储器之后,还包括:对目标引导加载程序进行安全验证;若确定目标引导加载程序未通过安全验证,则终止目标引导加载程序的执行。
7、根据本专利技术提供的一种芯片启动方法,公共代码包括密码学算法代码,密码学算法代码用于对目标引导加载程序进行安全验证;基于启动程序,将目标引导加载程序加载至第一存储器之后,还包括:从第二存储器中调用密码学算法代码;基于密码学算法代码,对目标引导加载程序进行安全验证;若确定目标引导加载程序通过安全验证,则确定目标引导加载程序能够正常执行。
8、本专利技术还提供一种芯片启动装置,包括:确定模块,用于从多段待执行引导加载程序中,确定目标引导加载程序;加载模块,用于基于启动程序,将目标引导加载程序加载至第一存储器;目标引导加载程序从第一存储器的起始地址开始存储;执行模块,用于执行目标引导加载程序;启动模块,用于返回从多段待执行引导加载程序中,确定目标引导加载程序的步骤,直至所有待执行引导加载程序均执行完毕,完成芯片启动。
9、本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述任一种芯片启动方法。
10、本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种芯片启动方法。
11、本专利技术还提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如上述任一种芯片启动方法。
12、本专利技术提供的芯片启动方法、装置、设备、存储介质及程序产品,从多段待执行引导加载程序中,确定目标引导加载程序;基于启动程序,将目标引导加载程序加载至第一存储器;目标引导加载程序从第一存储器的起始地址开始存储;执行目标引导加载程序;返回从多段待执行引导加载程序中,确定目标引导加载程序的步骤,直至所有待执行引导加载程序均执行完毕,完成芯片启动。通过上述方式,从多段待本文档来自技高网...
【技术保护点】
1.一种芯片启动方法,其特征在于,包括:
2.根据权利要求1所述的芯片启动方法,其特征在于,所述启动程序包含公共代码,所述待执行引导加载程序不包含所述公共代码,所述公共代码为所述启动程序和至少一个所述待执行引导加载程序执行时所需的相同代码;
3.根据权利要求2所述的芯片启动方法,其特征在于,所述执行所述目标引导加载程序,包括:
4.根据权利要求2所述的芯片启动方法,其特征在于,所述基于启动程序,将所述目标引导加载程序加载至第一存储器之后,还包括:
5.根据权利要求2所述的芯片启动方法,其特征在于,所述基于启动程序,将所述目标引导加载程序加载至第一存储器之后,还包括:
6.根据权利要求2所述的芯片启动方法,其特征在于,所述公共代码包括密码学算法代码,所述密码学算法代码用于对所述目标引导加载程序进行安全验证;
7.一种芯片启动装置,其特征在于,包括:
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述芯片启动方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述芯片启动方法。
...【技术特征摘要】
1.一种芯片启动方法,其特征在于,包括:
2.根据权利要求1所述的芯片启动方法,其特征在于,所述启动程序包含公共代码,所述待执行引导加载程序不包含所述公共代码,所述公共代码为所述启动程序和至少一个所述待执行引导加载程序执行时所需的相同代码;
3.根据权利要求2所述的芯片启动方法,其特征在于,所述执行所述目标引导加载程序,包括:
4.根据权利要求2所述的芯片启动方法,其特征在于,所述基于启动程序,将所述目标引导加载程序加载至第一存储器之后,还包括:
5.根据权利要求2所述的芯片启动方法,其特征在于,所述基于启动程序,将所述目标引导加载程序加载至第一存储器之后,还包括:
6.根据权利要求2所述的...
【专利技术属性】
技术研发人员:请求不公布姓名,请求不公布姓名,请求不公布姓名,
申请(专利权)人:上海壁仞科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。