一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

芯片启动方法、系统、计算机设备、存储介质及芯片与流程

2022-11-14 14:13:55 来源:中国专利 TAG:


1.本发明涉及芯片技术领域,尤其涉及芯片启动方法、系统、计算机设备、存储介质及芯片。


背景技术:

2.soc芯片是一种由处理器、缓存、存储器、互连总线、外设等组成的系统级芯片。soc中一般都会嵌入中央处理器(central processing unit,处理器),中央处理器调用用户设计的软件程序执行。soc芯片的上电启动是一段软硬件协同工作的过程,中央处理器从存储计算机设备中获取启动程序并运行,启动程序(boot程序)工作在soc的最底层,其实现整个soc系统的硬件计算机设备初始化和上层应用程序加载,启动程序功能正确与否决定了soc芯片的运行环境是否能正确构建、用户程序是否能正确执行。
3.从应用上看来,soc芯片支持多种存储介质的启动,boot程序可以置于多种类型的存储计算机设备中,如从flash存储启动、从sd卡启动、从emmc启动等。目前,对于芯片的多介质启动机制,现有的方式是:在芯片内部嵌入一块rom,rom中存放一段启动代码,这段启动代码会将片外存储计算机设备中的boot程序复制到高速ram中,然后处理器从高速ram中继续执行。如图1所示,为现有技术中多介质启动的芯片架构,处理器、rom、sram、sdram、flash存储、sd/emmc存储通过互连总线连接,boot程序置于flash存储或者sd/emmc存储中。为了减少rom中代码量,一般需要将boot程序拆分成两部分:第一部分boot程序负责初始化sdram;第二部分boot程序完成全部的boot功能。rom中代码需要将第一部分boot程序复制到sram中执行,然后第一部分boot程序引导第二部分boot程序执行完成。
4.采用现有技术下,存在两方面的缺点,一是boot程序需要设计成两部分,增加了程序的复杂度;二是芯片内部需要固化rom,rom会增加芯片成本和面积,并且给芯片流片增加难度。


技术实现要素:

5.为了解决上述现有技术中存在的技术问题,本发明提供了一种芯片启动方法、系统、计算机设备、存储介质及芯片,结合高速随机存取存储计算机设备和非易失性存储计算机设备的特点,设计引导模块完成多介质启动的引导,优化了boot程序设计,实现了流程简单、多样化的芯片多种介质启动。
6.为实现上述目的,本发明实施例提供了如下的技术方案:
7.第一方面,在本发明提供的一个实施例中,提供了芯片启动方法,应用于芯片,所述芯片包括启动片外高速存储和不少于一个的备用片外高速存储;该方法包括以下步骤:
8.读取并执行启动片外高速存储中的boot程序,芯片完成启动过程,该流程结束;
9.若芯片不能给启动,则判定为启用备用片外高速存储启动,若是,则执行启动的片外高速存储计算机设备空间的执行地址中boot程序复制到指定地址后,执行复制后的boot程序进行芯片启动,至此芯片完成启动过程,该流程结束;
10.若芯片还是不能给启动,选择另一未经过启动的备用片外高速存储执行启动,重复上述备用片外高速存储启动过程;
11.若多个备用片外高速存储均不能够使得芯片启动,将触发芯片复位重新开始上述启动流程。
12.作为本发明的进一步方案,所述执行启动的片外高速存储计算机设备空间的执行地址中boot程序复制到指定地址后,执行转移后的boot程序进行芯片启动还包括,在启动前完成对片外高速存储计算机设备的配置,此时片外高速初始化模块存储可用。
13.作为本发明的进一步方案,多个所述备用片外高速存储设置有不同等级的优先级。
14.作为本发明的进一步方案,所述启动片外高速存储为flash存储。
15.作为本发明的进一步方案,多个所述备用片外高速存储包括sd/emmc存储、ic存储和usb存储。
16.第二方面,在本发明提供的又一个实施例中,提供了芯片,该芯片包括:
17.包括处理器、引导模块、sram、sdram、启动片外高速存储和不少于一个的备用片外高速存储;
18.所述处理器,用于boot程序的解析和执行;
19.所述引导模块,用于启动模式的判定、boot程序的迁移;
20.所述sram,用于保存boot程序执行时的堆栈数据;
21.所述sdram,用于负责存放迁移后的boot程序;
22.启动片外高速存储,用于存放boot程序;
23.不少于一个的所述备用片外高速模块,用于存放boot程序,备用启动。
24.第三方面,在本发明提供的又一个实施例中,提供了芯片多介质启动引导系统,该系统包括:
25.包括处理器、引导模块、sram、sdram、启动片外高速存储和不少于一个的备用片外高速存储;
26.所述处理器,用于boot程序的解析和执行;
27.所述引导模块,用于启动模式的判定、boot程序的迁移;
28.所述sram,用于保存boot程序执行时的堆栈数据;
29.所述sdram,用于负责存放迁移后的boot程序;
30.启动片外高速存储,用于存放boot程序;
31.不少于一个的所述备用片外高速模块,用于存放boot程序,备用启动。
32.第四方面,在本发明提供的又一个实施例中,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器加载并执行所述计算机程序时实现芯片启动方法的步骤。
33.第五方面,在本发明提供的再一个实施例中,提供了一种存储介质,存储有计算机程序,所述计算机程序被处理器加载并执行时实现所述芯片启动方法的步骤。
34.本发明提供的技术方案,具有如下有益效果:
35.本发明提供的芯片启动方法、系统、计算机设备、存储介质及芯片,本发明结合高速随机存取存储计算机设备和非易失性存储计算机设备的特点,设计引导模块完成多介质
启动的引导,优化了boot程序设计,实现了流程简单、多样化的芯片多种介质启动。
36.本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
37.本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
38.图1为本发明一个实施例的芯片多介质启动引导的流程图。
39.图2为本发明一个实施例的芯片的结构框图。
40.图3为本发明一个实施例的芯片中引导模块的结构框图。
41.图4为本发明一个实施例的芯片多介质启动引导系统的结构框图。
42.图中:100-处理器、200-引导模块、300-sram、400-sdram、500-启动片外高速存储、600-备用片外高速存储、201-解析模块、202-sdram初始化模块、203-备用片外存储初始化模块、204-备用片外存储存储读模块、205-数据缓存模块。
具体实施方式
43.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
44.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
45.应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
46.现有技术为了减少rom中代码量,一般需要将boot程序拆分成两部分:第一部分boot程序负责初始化sdram;第二部分boot程序完成全部的boot功能。rom中代码需要将第一部分boot程序复制到sram中执行,然后第一部分boot程序引导第二部分boot程序执行完成。
47.采用现有技术下,存在两方面的缺点,一是boot程序需要设计成两部分,增加了程序的复杂度;二是芯片内部需要固化rom,rom会增加芯片成本和面积,并且给芯片流片增加难度。
48.本发明结合高速随机存取存储计算机设备和非易失性存储计算机设备的特点,设计引导模块完成多介质启动的引导,优化了boot程序设计,实现了流程简单、多样化的芯片多种介质启动。
49.具体地,下面结合附图,对本发明实施例作进一步阐述。
50.请参阅图1,图1是本发明实施例提供的一种芯片启动方法的流程图,如图1所示,该芯片启动方法包括步骤s10至步骤s40。所述芯片启动方法应用于芯片,所述芯片包括启
动片外高速存储和不少于一个的备用片外高速存储。
51.s10、读取并执行启动片外高速存储中的boot程序,此时芯片中的sram负责boot程序执行过程中的堆栈,至此芯片完成启动过程,该流程结束;
52.s20、当芯片不能给启动,则判定为启用备用片外高速存储启动,若是,则执行启动的片外高速存储计算机设备空间的执行地址中boot程序复制到指定地址后,执行复制后的boot程序进行芯片启动,至此芯片完成启动过程,该流程结束。
53.s30、若芯片还是不能给启动,选择另一未经过启动的备用片外高速存储执行启动,重复步骤s20操作。
54.s40、若多个备用片外高速存储均不能够使得芯片启动,将触发芯片复位重新开始上述启动流程。
55.在本发明的实施例中,多个所述备用片外高速存储可以设置有不同等级的优先级。
56.在本发明的实施例中,所述执行启动的片外高速存储计算机设备空间的执行地址中boot程序复制到指定地址后,执行转移后的boot程序进行芯片启动还包括,在启动前完成对片外高速存储计算机设备的配置,此时片外高速初始化模块存储可用。
57.在本发明的实施例中,所述启动片外高速存储可以为flash存储。
58.多个所述备用片外高速存储包括sd/emmc存储、i2c存储和usb存储等多种存储介质。
59.应该理解的是,上述虽然是按照某一顺序描述的,但是这些步骤并不是必然按照上述顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,本实施例的一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
60.在一个实施例中,参见图2所示,在本发明的实施例中还提供了一种芯片,该芯片包括处理器100、引导模块200、sram300、sdram400、启动片外高速存储500和不少于一个的备用片外高速存储600;所述处理器100、引导模块200、sram300、sdram400和不少于两个的片外高速模块500之间通过互连总线连接。
61.所述处理器100,用于boot程序的解析和执行。
62.所述引导模块200,为芯片上电后最先开始工作的模块,用于启动模式的判定、boot程序的迁移。
63.参见图3所示,在本发明的实施例中,所述引导模块200,包括解析模块201、sdram初始化模块202、不少于一个的备用片外存储初始化模块203、不少于一个的备用片外存储存储读模块204和数据缓存模块205。
64.所述解析模块201,用于解析模块负责芯片启动模式和数据包的解析,根据解析模块201的结果将控制具体存储介质的启动过程。
65.所述sdram初始化模块202,用于当芯片使能备用片外存储启动时,sdram初始化模块将完成sdram配置,之后sdram可用。
66.不少于一个的所述备用片外存储初始化模块203,用于当芯片使能备用片外存储
启动时,备用片外存储初始化模块首先完成备用片外存储的配置。
67.不少于一个的所述备用片外存储存储读模块204,用于将备用片外存储指定地址存放的boot程序迁移到sdram中。
68.数据缓存模块205,用于boot程序迁移过程中的数据缓存。
69.所述sram300,用于保存boot程序执行时的堆栈数据。
70.所述sdram400,用于负责存放迁移后的boot程序。
71.启动片外高速存储500,用于存放boot程序,所述启动片外高速存储500为boot程序最开始存放于这些计算机设备中。
72.所述启动片外高速存储500可以为flash存储存储。
73.不少于一个的所述备用片外高速模块600,用于存放boot程序,备用启动。
74.具体的,当芯片不能给启动,则判定为启用备用片外高速存储启动,若是,则第一步引导模块中的sdram400初始化模块首先完成sdram400的配置,此时sdram400可用,第二步执行启动的片外高速初始化模块完成片执行启动的片外高速存储计算机设备的配置,此时备用片外高速存储存储可用,第三步执行启动的片外高速存储从执行启动的片外高速存储计算机设备空间的执行地址将boot程序复制到sdram400中的指定地址,最后处理器从该sdram地址开始读取sdram400程序执行,至此芯片完成启动过程,该流程结束。
75.在本发明的实施例中,所述备用片外高速模块600,可以包括sd/emmc存储存储、i2c存储存储和usb存储存储。
76.本发明提出的多介质启动引导方法,取代了现有的rom计算机设备,简化了boot程序的设计,解决了rom成本高、面积大、容量局限等缺点,支持flash存储、sd/emmc存储、i2c存储、usb存储多种存储介质的启动。
77.在一个实施例中,参见图4所示,在本发明的实施例中还提供了芯片多介质启动引导系统,该系统包括处理器100、引导模块200、sram300、sdram400、启动片外高速存储500和不少于一个的备用片外高速存储600;所述处理器100、引导模块200、sram300、sdram400和不少于两个的片外高速模块500之间通过互连总线连接。
78.所述处理器100,用于boot程序的解析和执行。
79.所述引导模块200,为芯片上电后最先开始工作的模块,用于启动模式的判定、boot程序的迁移。
80.在本发明的实施例中,所述引导模块200,包括解析模块201、sdram初始化模块202、不少于一个的备用片外存储初始化模块203、不少于一个的备用片外存储存储读模块204和数据缓存模块205。
81.所述解析模块201,用于解析模块负责芯片启动模式和数据包的解析,根据解析模块的结果将控制具体存储介质的启动过程。
82.所述sdram初始化模块202,用于当芯片使能备用片外存储启动时,sdram初始化模块将完成sdram配置,之后sdram可用。
83.不少于一个的所述备用片外存储初始化模块203,用于当芯片使能备用片外存储启动时,备用片外存储初始化模块首先完成备用片外存储的配置。
84.不少于一个的所述备用片外存储存储读模块204,用于将备用片外存储指定地址存放的boot程序迁移到sdram中。
85.数据缓存模块205,用于boot程序迁移过程中的数据缓存。
86.所述sram300,用于保存boot程序执行时的堆栈数据。
87.所述sdram400,用于负责存放迁移后的boot程序。
88.启动片外高速存储500,用于存放boot程序,所述启动片外高速存储500为boot程序最开始存放于这些计算机设备中。
89.所述启动片外高速存储500可以为flash存储存储。
90.不少于一个的所述备用片外高速模块600,用于存放boot程序,备用启动。
91.具体的,当芯片不能给启动,则判定为启用备用片外高速存储启动,若是,则第一步引导模块中的sdram400初始化模块首先完成sdram400的配置,此时sdram400可用,第二步执行启动的片外高速初始化模块完成片执行启动的片外高速存储计算机设备的配置,此时备用片外高速存储存储可用,第三步执行启动的片外高速存储从执行启动的片外高速存储计算机设备空间的执行地址将boot程序复制到sdram400中的指定地址,最后处理器从该sdram地址开始读取sdram400程序执行,至此芯片完成启动过程,该流程结束。
92.在本发明的实施例中,所述备用片外高速模块600,可以包括sd/emmc存储存储、i2c存储存储和usb存储存储。
93.本发明提出的多介质启动引导方法,取代了现有的rom计算机设备,简化了boot程序的设计,解决了rom成本高、面积大、容量局限等缺点,支持flash存储、sd/emmc存储、i2c存储、usb存储多种存储介质的启动。
94.示例性的,提供一个实施例的芯片的多介质启动方法示例具体流程图,其步骤如下:
95.(1)当芯片为flash存储启动时,处理器将直接从flash存储中读取boot程序执行,此时芯片中的sram负责boot程序执行过程中的堆栈,至此芯片完成启动过程,该流程结束。
96.(2)当芯片不为flash存储启动时,判定是否为sd/emmc存储启动,若是,则引导模块中的sdram初始化模块首先完成sdram的配置,此时sdram可用,第二步sd/emmc初始化模块完成sd/emmc存储计算机设备的配置,此时sd/emmc存储可用,第三步sd/emmc存储存储读模块从sd/emmc存储计算机设备空间的执行地址将boot程序复制到sdram中的指定地址,最后处理器从该sdram地址开始读取sdram程序执行,至此芯片完成启动过程,该流程结束。
97.(3)当芯片不为sd/emmc存储启动时,判定是否为i2c存储启动,若是,则引导模块中的sdram初始化模块首先完成sdram的配置,此时sdram可用,第二步i2c初始化模块完成i2c存储计算机设备的配置,此时i2c存储可用,第三步i2c计算机设备读模块从i2c存储计算机设备指定地址将boot程序复制到sdram中的指定地址,最后处理器从该sdram地址开始读取sdram程序执行,至此芯片完成启动过程,该流程结束。
98.(4)当芯片不为i2c存储启动时,判定是否为usb存储启动,若是,则引导模块中的sdram初始化模块首先完成sdram的配置,此时sdram可用,第二步usb初始化模块完成usb存储计算机设备的配置,此时usb存储可用,第三步usb计算机设备读模块从usb存储计算机设备指定地址将boot程序复制到sdram中的指定地址,最后处理器从该sdram地址开始读取sdram程序执行,至此芯片完成启动过程,该流程结束。
99.(5)当芯片不为usb存储启动时,此时出现了无效的启动方式编码,将触发芯片复位重新开始启动流程。
100.在一个实施例中,在本发明的实施例中还提供了一种计算机设备,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行所述的芯片启动方法,该处理器执行指令时实现上述方法实施例中的步骤:
101.s10、读取并执行启动片外高速存储中的boot程序,此时芯片中的sram负责boot程序执行过程中的堆栈,至此芯片完成启动过程,该流程结束;
102.s20、当芯片不能给启动,则判定为启用备用片外高速存储启动,若是,则执行启动的片外高速存储计算机设备空间的执行地址中boot程序复制到指定地址后,执行复制后的boot程序进行芯片启动,至此芯片完成启动过程,该流程结束。
103.s30、若芯片还是不能给启动,选择另一未经过启动的备用片外高速存储执行启动,重复步骤s20操作。
104.s40、若多个备用片外高速存储均不能够使得芯片启动,将触发芯片复位重新开始上述启动流程。
105.在本发明的实施例中,多个所述备用片外高速存储可以设置有优先级。
106.在本发明的实施例中,所述执行启动的片外高速存储计算机设备空间的执行地址中boot程序复制到指定地址后,执行转移后的boot程序进行芯片启动还包括,在启动前完成对片外高速存储计算机设备的配置,此时片外高速初始化模块存储可用。
107.在本发明的实施例中,所述启动片外高速存储可以为flash存储。
108.多个所述备用片外高速存储包括sd/emmc存储、i2c存储和usb存储等多种存储介质。
109.所述计算机设备包括用户计算机设备与网络计算机设备。其中,所述用户计算机设备包括但不限于电脑、智能手机、pda等;所述网络计算机设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(cloud computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、vpn网络等。
110.还应当进理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
111.在本发明的一个实施例中还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例中的步骤:
112.s10、读取并执行启动片外高速存储中的boot程序,此时芯片中的sram负责boot程序执行过程中的堆栈,至此芯片完成启动过程,该流程结束;
113.s20、当芯片不能给启动,则判定为启用备用片外高速存储启动,若是,则执行启动的片外高速存储计算机设备空间的执行地址中boot程序复制到指定地址后,执行复制后的boot程序进行芯片启动,至此芯片完成启动过程,该流程结束。
114.s30、若芯片还是不能给启动,选择另一未经过启动的备用片外高速存储执行启动,重复步骤s20操作。
115.s40、若多个备用片外高速存储均不能够使得芯片启动,将触发芯片复位重新开始
上述启动流程。
116.在本发明的实施例中,多个所述备用片外高速存储可以设置有优先级。
117.在本发明的实施例中,所述执行启动的片外高速存储计算机设备空间的执行地址中boot程序复制到指定地址后,执行转移后的boot程序进行芯片启动还包括,在启动前完成对片外高速存储计算机设备的配置,此时片外高速初始化模块存储可用。
118.在本发明的实施例中,所述启动片外高速存储可以为flash存储。
119.多个所述备用片外高速存储包括sd/emmc存储、i2c存储和usb存储等多种存储介质。
120.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。
121.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
122.以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
123.应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
124.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献