芯片启动方法、装置、设备、存储介质及程序产品与流程
- 国知局
- 2024-12-06 12:36:16
本发明涉及集成电路 ,尤其涉及一种芯片启动方法、装置、设备、存储介质及程序产品。
背景技术:
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中存放的启动程序自动执行,逐一将每一段bootloader加载至ram并执行,直至所有的bootloader执行完成后,完成芯片的启动。
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、本发明提供的芯片启动方法、装置、设备、存储介质及程序产品,从多段待执行引导加载程序中,确定目标引导加载程序;基于启动程序,将目标引导加载程序加载至第一存储器;目标引导加载程序从第一存储器的起始地址开始存储;执行目标引导加载程序;返回从多段待执行引导加载程序中,确定目标引导加载程序的步骤,直至所有待执行引导加载程序均执行完毕,完成芯片启动。通过上述方式,从多段待执行引导加载程序中,确定目标引导加载程序,并基于启动程序,将目标引导加载程序加载至第一存储器,且目标引导加载程序从第一存储器的起始地址开始存储,使得目标引导加载程序可以独占第一存储器的存储空间,在目标引导加载程序执行后,启动程序将下一段目标引导加载程序加载至第一存储器,由于下一段目标引导加载程序也是从第一存储器的起始地址开始存储,使得下一段目标引导加载程序可以覆盖上一段目标引导加载程序,下一段目标引导加载程序依旧可以独占第一存储器的存储空间,确保了芯片多级启动的每一阶段只会有一段引导加载程序可在第一存储器中执行,实现了第一存储器的存储空间的复用,因此,芯片实际所需的第一存储器的存储空间为多段引导加载程序中所需存储空间最大的引导加载程序所需的存储空间,可最大程度降低芯片对第一存储器的存储空间的需求,进而降低芯片面积和芯片的硬件成本。
本文地址:https://www.jishuxx.com/zhuanli/20241204/342255.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。