本申请涉及嵌入式技术领域,具体涉及一种引导程序的加载方法、存储介质及嵌入式终端。
背景技术:
在嵌入式技术领域,设备上电或复位后一般需要一段引导程序对处理器进行初始化配置,引导程序一般存储在处理器配套的存储器如flash上,目前,对于设备上存在多个处理器芯片的场景,为每个处理器芯片都配套存储器用于存放引导程序,此方法需要较高的成本,且进一步增加了硬件单板的面积,资源利用率低,引导程序的加载效率低,并且当引导程序需要升级时,需要使用编程器或仿真器进行烧写更新存储器上的引导程序,引导程序的加载、升级与恢复的效率低,成本高。
技术实现要素:
为克服以上技术问题,特别是现有技术存在引导程序的加载、升级与恢复效率低、成本高的问题,特提出以下技术方案:
第一方面,本申请从主控处理器的视角,提供了一种引导程序的加载方法,包括:
向受控处理器发送复位信号,控制受控处理器重启;
接收当所述受控处理器启动后通过spi接口发送的加载引导程序的信号时序,所述spi接口为主控处理器通过gpio接口模拟spiflash的接口;
当接收到所述信号时序,读取主引导程序文件,通过模拟spiflash时序将所述主引导程序文件发送至受控处理器,以使受控处理器启动所述主引导程序文件对应的引导程序。
进一步的,所述通过模拟spiflash时序将所述主引导程序文件发送至受控处理器之后,还包括:
判断是否在预设时间内接收到受控处理器发送的完成启动消息;
若是,确定所述受控处理器完成启动所述主引导程序文件对应的引导程序;
若否,确定所述受控处理器启动所述主引导程序文件对应的引导程序异常,将备用引导程序文件切换为主引导程序文件,重新向受控处理器发送复位信号。
进一步的,所述向受控处理器发送复位信号之后,还包括:
启动计时器,并配置计时器的计时时间为所述预设时间。
进一步的,所述向受控处理器发送复位信号,控制受控处理器重启之后,还包括:
接收升级引导程序的指令;
响应于所述指令,将当前的主程序文件切换为备用程序文件;
从远端服务器获取新下载的升级引导程序文件;
将所述新下载的升级引导程序文件保存为主引导程序文件。
进一步的,所述受控处理器包括至少两个受控处理器;所述主控处理器与至少两个受控处理器相连;
所述当接收到所述的信号时序,读取主引导程序文件,包括:
当主控处理器接收到所述信号时序,获取所述受控处理器的身份标识,根据所述身份标识确定受控处理器的目标主引导程序文件,读取所述目标主引导程序文件。
进一步的,所述主控处理器通过gpio接口与受控处理器的复位信号连接,用于向受控处理器发送复位信号。
第二方面,本申请从受控处理器的视角,提供一种引导程序的加载方法,包括如下步骤:
接收主控处理器的复位信号,执行重启操作;
通过spi接口向主控处理器发送加载引导程序的信号时序,所述spi接口为主控处理器通过gpio接口模拟spiflash的接口;
通过所述spi接口读取主控处理器通过模拟spiflash时序发送的主引导程序文件,并启动所述主引导程序文件对应的引导程序。
进一步的,所述启动所述主引导程序文件对应的引导程序之后,还包括:
向主控处理器发送完成启动消息。
第三方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述的引导程序的加载方法。
第四方面,本申请还提供了一种嵌入式终端,所述嵌入式终端包括一个或多个处理器,所述处理器包括主控处理器和受控处理器;存储器,所述存储器包括非易失存储器;一个或多个计算机程序,其中,所述一个或多个计算机程序被存储在所述存储器中;所述嵌入式终端用于执行上述的引导程序的加载方法。
本申请与现有技术相比,具有以下有益效果:
本申请提供了一种引导程序的加载、升级与恢复的方法,通过主控处理器复位受控处理器,控制受控处理器重启,所述受控处理器启动后,受控处理器通过spi接口向主控处理器发送加载引导程序的信号时序,而所述spi接口为主控处理器通过gpio接口模拟spiflash的接口,当主控处理器接收到所述的信号时序,主控处理器读取主引导程序文件,并通过模拟spiflash时序将所述主引导程序文件发送至受控处理器,给予受控处理器应答,当受控处理器接收到应答,便可通过所述spi接口读取所述主引导程序文件,启动所述主引导程序文件对应的引导程序,加载所述引导程序以完成受控处理器对应设备的初始化配置,既保障了受控处理器的引导程序能够正常加载及整体完整升级,又不需单独的存储器存放引导程序,降低加载引导程序的成本及提高加载引导程序的效率。
本申请附加的方面和优点将在下面的描述中部分给出。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请从主控处理器视角的引导程序的加载方法的一实施例流程示意图;
图2为本申请引导程序的加载方法的应用环境的一实施例示意图;
图3为本申请与图1对应的引导程序的加载装置的一实施例示意图;
图4为本申请嵌入式终端的一实施例结构示意图;
图5为本申请引导程序的加载方法的应用环境的另一实施例示意图;
图6为本申请从受控处理器视角的引导程序的加载方法的一实施例流程示意图;
图7为与图6对应的引导程序的加载装置的一实施例示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本申请实施例提供一种引导程序的加载方法,所述方法如图1所示,包括以下步骤:
s10:向受控处理器发送复位信号,控制受控处理器重启。
本实施例的应用环境如图2所示,所述应用环境包括主控处理器、受控处理器、非易失存储器,主控处理器保存主备两份受控处理器引导程序文件,所述主备两份受控处理器的引导程序文件存储在主控处理器配套的非易失存储器上,所述非易失存储器与主控处理器相连,所述非易失存储器可以使用norflash或nandflash,用于存放主控处理器相关程序以及受控处理器的主备两份引导程序文件。当设备上电或复位时,需要引导程序对处理器进行初始化配置,本实施例中,以主控处理器作为执行主体,主控处理器复位受控处理器,向受控处理器发送复位信号,控制受控处理器重启。
s11:接收当所述受控处理器启动后通过spi接口发送的加载引导程序的信号时序,所述spi接口为主控处理器通过gpio接口模拟spiflash的接口。
当所述受控处理器启动后,受控处理器需要加载引导程序以进行初始化配置,本实施例中,主控处理器则接收当所述受控处理器启动后通过spi接口发送的加载引导程序的信号时序,具体的,主控处理器与受控处理器通过spi(serialperipheralinterface,串行外设接口)接口相连,所述spi接口为主控处理器通过gpio接口模拟的spiflash的接口,即主控处理器通过gpio(general-purposeinputoutput,通用输入输出)接口模拟spiflash的spi接口与受控处理器相连,受控处理器通过所述spi接口向主控处理器发送加载引导程序的信号时序,相应的,主控处理器则接收受控处理器启动后通过spi接口发送的加载引导程序的信号时序,其中,所述spiflash是一种使用spi通信的flash(非易失性存储介质)。
s12:读取主引导程序文件,通过模拟spiflash时序将所述主引导程序文件发送至受控处理器,以使受控处理器启动所述主引导程序文件对应的引导程序。
本实施例中,当主控处理器接收到所述的信号时序,主控处理器读取主引导程序文件,在一种实施方式中,主控处理器从非易失存储器读取主引导程序文件,然后通过模拟spiflash时序将所述主引导程序文件发送至受控处理器,通过所述spi接口将主引导程序文件转化为模拟spiflash时序发送至受控处理器,给予受控处理器应答,以使受控处理器接收到所述应答后,启动所述主引导程序文件对应的引导程序,所述主控处理器通过gpio接口模拟spiflash,包括模拟spiflash及spi接口。
本实施例提供了一种引导程序的加载、升级与恢复的方法,通过主控处理器复位受控处理器,控制受控处理器重启,所述受控处理器启动后,受控处理器通过spi接口向主控处理器发送加载引导程序的信号时序,而所述spi接口为主控处理器通过gpio接口模拟spiflash的接口,当主控处理器接收到所述的信号时序,主控处理器读取主引导程序文件,并通过模拟spiflash时序将所述主引导程序文件发送至受控处理器,给予受控处理器应答,当受控处理器接收到应答,便可通过所述spi接口读取所述主引导程序文件,启动所述主引导程序文件对应的引导程序,加载所述引导程序以完成受控处理器对应设备的初始化配置,既保障了受控处理器的引导程序能够正常加载及整体完整升级,又不需单独的存储器存放引导程序,降低加载引导程序的成本及提高加载引导程序的效率。
本申请的一种实施例,所述通过模拟spiflash时序将所述主引导程序文件发送至受控处理器,以使受控处理器启动所述主引导程序文件对应的引导程序之后,还包括:
判断是否在预设时间内接收到受控处理器发送的完成启动消息;
若是,确定所述受控处理器完成启动所述主引导程序文件对应的引导程序;
若否,确定所述受控处理器启动所述主引导程序文件对应的引导程序异常,将备用引导程序文件切换为主引导程序文件,重新向受控处理器发送复位信号。
本实施例中,主控处理器将所述主引导程序文件发送至受控处理器,受控处理器启动所述主引导程序文件对应的引导程序,当完成启动后,向主控处理器发送完成启动消息,而主控处理器需要实时监控所述引导程序是否完成启动,具体的,通过设定时间阈值,将设定的时间阈值定义为预设时间,然后主控处理器判断是否在预设时间内接收到受控处理器发送的完成启动消息,若是,才确定所述受控处理器完成启动所述主引导程序文件对应的引导程序,若否,确定所述受控处理器启动所述主引导程序文件对应的引导程序异常,主控处理器能够实时知晓受控处理器加载引导程序的完成状态。并且,当主控处理器确定所述受控处理器启动所述主引导程序文件对应的引导程序异常后,将备用引导程序文件切换为主引导程序文件,重新向受控处理器发送复位信号,所述异常包括受控处理器未能在预设时间内完成启动所述主引导程序文件对应的引导程序或受控处理器启动所述主引导程序文件对应的引导程序失败,此时主控处理器在所述预设时间内未接收到受控处理器发送的完成启动消息,确定当前的引导程序文件可能存在错误,需要及时地为受控处理器更换其他引导程序文件,本实施例中,主控处理器保存主备两份受控处理器引导程序文件,在预设时间内未接收到受控处理器发送的完成启动消息之后,主控处理器将备用引导程序文件切换为主引导程序文件,而此时,还需要对受控处理器重新进行复位,重新向受控处理器发送复位信号,在一种实施方式中,主控处理器通过gpio接口连接到受控处理器的复位信号,用于控制复位受控处理器,通过监测在预设时间内是否接收到受控处理器发送的完成启动消息,确定受控处理器是否在预设时间内完成启动所述主引导程序文件对应的引导程序,在受控处理器未能完成启动时切换引导程序文件,主控处理器尝试加载另外一份引导程序文件进行恢复,恢复受控处理器加载引导程序的流程,从而保证受控处理器能完成加载引导程序,以更好地控制受控处理器完成引导程序启动,完成受控处理器初始化。
本申请的一种实施例,所述向受控处理器发送复位信号之后,还包括:
启动计时器,并配置计时器的计时时间为所述预设时间。
本实施例中,在判断所述受控处理器是否在预设时间内完成启动所述主引导程序文件对应的引导程序时,所述预设时间为主控处理器设定,主控处理器在向受控处理器发送复位信号之后,便启动计时器,然后配置所述计时器的计时时间为所述预设时间t,然后执行后续的流程,并且在计时器的预设时间t内判断受控处理器是否完成启动所述主引导程序文件对应的引导程序,若主控处理器未在所述预设时间t内收到受控处理器启动完成消息,则确定受控处理器启动异常,从而快速监测受控处理器的启动是否异常,便于为受控处理器切换引导程序文件,提高受控处理器加载所述引导程序的正常率。
本申请的一种实施例,所述向受控处理器发送复位信号,控制受控处理器重启之后,还包括:
接收升级引导程序的指令;
响应于所述指令,将当前的主程序文件切换为备用程序文件;
从远端服务器获取新下载的升级引导程序文件;
将所述新下载的升级引导程序文件保存为主引导程序文件。
在实际的应用中,需要对不同的受控处理器的引导程序文件进行升级,本实施例在一种实施方式中,在主控处理器向受控处理器发送复位信号,控制受控处理器重启之后,若主控处理器接收到升级引导程序的指令时,响应于所述指令,将当前的主程序文件切换为备用程序文件,并且从远端服务器获取新下载的升级引导程序文件,本实施例将从远端服务器获取新下载的引导程序文件定义为升级引导程序文件,然后将所述新下载的升级引导程序文件保存为主引导程序文件,以让受控处理器能够加载最新的引导程序;在另一种实施方式中,主控处理器在任意时期接收到升级引导程序的指令时,主控处理器将当前的主程序文件切换为备用程序文件,并且从远端服务器获取新下载的升级引导程序文件,然后将所述新下载的升级引导程序文件保存为主引导程序文件。引导程序文件的升级不影响受控处理器的运行,通过主控处理器可以及时地升级受控处理器的引导程序文件,提高引导程序文件的升级效率,并且将之前的主引导程序文件切换为备用引导程序文件,保证受控处理器能够正常地加载引导程序。
本申请的一种实施例,所述受控处理器包括至少两个受控处理器;所述主控处理器与至少两个受控处理器相连;
所述当接收到所述的信号时序,读取主引导程序文件,包括:
当主控处理器接收到所述信号时序,获取所述受控处理器的身份标识,根据所述身份标识确定受控处理器的目标主引导程序文件,读取所述目标主引导程序文件。
本实施例中,如图5所示是本申请引导程序的加载方法的应用环境的另一实施例示意图,所述受控处理器包括至少两个受控处理器,所述主控处理器与至少两个受控处理器相连;在多个相连的受控处理器的场景下,当主控处理器接收到信号时序,需要确定受控处理器的身份,在一种实施方式中,主控处理器为不同的受控处理器配置不同的引导程序文件,当主控处理器接收到信号时序,获取所述受控处理器的身份标识,根据所述身份标识确定受控处理器的目标主引导程序文件,从而读取所述目标主引导程序文件,通过为不同的受控处理器配置不同的引导程序文件,从而兼容不同的受控处理器加载引导程序,提高引导程序加载的兼容性;在另一种实施方式中,主控处理器为相同类型的受控处理器配置相同的引导程序文件,当主控处理器接收到信号时序,获取所述受控处理器的身份标识,确定受控处理器的类型,确定受控处理器的目标主引导程序文件,从而读取所述目标主引导程序文件,从而减少主控处理器资源的占用,提高资源的利用率。
本申请的一种实施例,所述主控处理器通过gpio接口与受控处理器的复位信号连接,用于向受控处理器发送复位信号。
本实施例中,所述主控处理器通过gpio接口与受控处理器的复位信号连接,主控处理器与至少两个处理器均通过gpio接口与受控处理器的复位信号连接,用于向受控处理器发送复位信号,同时,如图5所示,所示消息通道包括使用以太网络接口通道,还包括使用spi、i2c、uart、canbus等通信链路,通过所述消息通道能传递受控处理器是否完成引导程序启动的消息。
如图6所示,在另一种实施例中,本申请从受控处理器的角度,提供一种引导程序的加载方法,包括以下步骤:
s20:接收主控处理器的复位信号,执行重启操作。
本实施例应用环境包括主控处理器、受控处理器、非易失存储器,主控处理器保存主备两份受控处理器引导程序文件,所述主备两份受控处理器的引导程序文件存储在主控处理器配套的非易失存储器上,所述非易失存储器与主控处理器相连,所述非易失存储器可以使用norflash或nandflash,用于存放主控处理器相关程序以及受控处理器的主备两份引导程序文件。当设备上电时,需要引导程序对处理器进行初始化配置,本实施例中,以受控处理器作为执行主体,当设备上电时,主控处理器向受控处理器发送复位信号,而受控处理器接收到所述复位信号,则执行重启操作。
s21:通过spi接口向主控处理器发送加载引导程序的信号时序,所述spi接口为主控处理器通过gpio接口模拟spiflash的接口。
当所述受控处理器启动后,受控处理器需要加载引导程序以进行初始化配置,本实施例中,受控处理器启动后通过spi接口向主控处理器发送加载引导程序的信号时序,具体的,主控处理器与受控处理器通过spi(serialperipheralinterface,串行外设接口)接口相连,所述spi接口为主控处理器通过gpio接口模拟的spiflash的接口,即主控处理器通过gpio(general-purposeinputoutput,通用输入输出)接口模拟spiflash的spi接口与受控处理器相连,受控处理器通过所述spi接口向主控处理器发送加载引导程序的信号时序,相应的,主控处理器则接收受控处理器启动后通过spi接口发送的加载引导程序的信号时序,其中,所述spiflash是一种使用spi通信的flash(非易失性存储介质)。
s22:通过所述spi接口读取主控处理器通过模拟spiflash时序发送的主引导程序文件,并启动所述主引导程序文件对应的引导程序。
主控处理器接收到所述的信号时序,读取主引导程序文件,然后通过所述spi接口将主引导程序文件转化为模拟spiflash时序给予受控处理器应答,当受控处理器接收到主控处理器对所述信号时序的应答,则通过所述spi接口读取主控处理器通过模拟spiflash时序发送的主引导程序文件,即从所述spi接口读取到spiflash的内容信息的时序信号,而所述spiflash的内容信息即为所述主引导程序文件,从而获取所述主引导程序文件,然后受控处理器启动所述主引导程序文件对应的引导程序,加载所述引导程序以完成受控处理器对应设备的初始化配置。
本实施例提供了一种引导程序的加载、升级与恢复的方法,通过主控处理器复位受控处理器,控制受控处理器重启,所述受控处理器启动后,受控处理器通过spi接口向主控处理器发送加载引导程序的信号时序,而所述spi接口为主控处理器通过gpio接口模拟spiflash的接口,当主控处理器接收到所述的信号时序,主控处理器读取主引导程序文件,并通过模拟spiflash时序将所述主引导程序文件发送至受控处理器,给予受控处理器应答,当受控处理器接收到应答,便可通过所述spi接口读取所述主引导程序文件,启动所述主引导程序文件对应的引导程序,加载所述引导程序以完成受控处理器对应设备的初始化配置,既保障了受控处理器的引导程序能够正常加载及整体完整升级,又不需单独的存储器存放引导程序,降低加载引导程序的成本及提高加载引导程序的效率。
本申请的一种实施例,所述启动所述主引导程序文件对应的引导程序之后,还包括:
向主控处理器发送完成启动消息。
本实施例中,受控处理器启动所述主引导程序文件对应的引导程序,当完成启动后,向主控处理器发送完成启动消息,从而让主控处理器能够实时监控所述引导程序是否完成启动,若未完成启动,根据上述实施例,主控处理器会将备用引导程序文件切换为主引导程序文件,并且重新向受控处理器发送复位信号。主控处理器能够实时知晓受控处理器加载引导程序的完成状态,从而保证受控处理器能完成加载引导程序。
如图3所示,在另一种实施例中,本申请提供了一种引导程序的加载装置,包括:
复位模块10:用于向受控处理器发送复位信号,控制受控处理器重启;
时序接收模块11:用于接收当所述受控处理器启动后通过spi接口发送的加载引导程序的信号时序,所述spi接口为主控处理器通过gpio接口模拟spiflash的接口;
文件读取模块12:用于当接收到所述信号时序,读取主引导程序文件,通过模拟spiflash时序将所述主引导程序文件发送至受控处理器,以使受控处理器启动所述主引导程序文件对应的引导程序。
本申请的一种实施例,所述装置还包括:
状态监控模块:用于判断是否在预设时间内接收到受控处理器发送的完成启动消息;若是,确定所述受控处理器完成启动所述主引导程序文件对应的引导程序;若否,确定所述受控处理器启动所述主引导程序文件对应的引导程序异常,将备用引导程序文件切换为主引导程序文件,重新向受控处理器发送复位信号。
本申请的一种实施例,所述状态监控模块还包括执行:
启动计时器,并配置计时器的计时时间为所述预设时间。
本申请的一种实施例,所述装置还包括:
文件升级模块:用于接收升级引导程序的指令;响应于所述指令,将当前的主程序文件切换为备用程序文件;从远端服务器获取新下载的升级引导程序文件;将所述新下载的升级引导程序文件保存为主引导程序文件。
本申请的一种实施例,所述受控处理器包括至少两个受控处理器;所述主控处理器与至少两个受控处理器相连;
所述文件读取模块12还包括执行:
当主控处理器接收到所述信号时序,获取所述受控处理器的身份标识,根据所述身份标识确定受控处理器的目标主引导程序文件,读取所述目标主引导程序文件。
本申请的一种实施例,所述主控处理器通过gpio接口与受控处理器的复位信号连接,用于向受控处理器发送复位信号。
如图7所示,在另一种实施例中,本申请提供了一种引导程序的加载装置,包括:
信号接收模块20:用于接收主控处理器的复位信号,执行重启操作;
时序发送模块21:用于通过spi接口向主控处理器发送加载引导程序的信号时序,所述spi接口为主控处理器通过gpio接口模拟spiflash的接口;
程序启动模块22:用于通过所述spi接口读取主控处理器通过模拟spiflash时序发送的主引导程序文件,并启动所述主引导程序文件对应的引导程序。
本申请的一种实施例,所述装置还包括:
消息发送模块:用于向主控处理器发送完成启动消息。
在另一种实施例中,本申请提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例所述的引导程序的加载方法。其中,所述计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom、和磁光盘)、rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随即存储器)、eprom(erasableprogrammableread-onlymemory,可擦写可编程只读存储器)、eeprom(electricallyerasableprogrammableread-onlymemory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储设备包括由设备以能够读的形式存储或传输信息的任何介质,可以是只读存储器,磁盘或光盘等。
本申请实施例提供的一种计算机可读存储介质,可实现向受控处理器发送复位信号,控制受控处理器重启;接收当所述受控处理器启动后通过spi接口发送的加载引导程序的信号时序,所述spi接口为主控处理器通过gpio接口模拟spiflash的接口;当接收到所述信号时序,读取主引导程序文件,通过模拟spiflash时序将所述主引导程序文件发送至受控处理器,以使受控处理器启动所述主引导程序文件对应的引导程序,或,可实现接收主控处理器的复位信号,执行重启操作;通过spi接口向主控处理器发送加载引导程序的信号时序,所述spi接口为主控处理器通过gpio接口模拟spiflash的接口;通过所述spi接口读取主控处理器通过模拟spiflash时序发送的主引导程序文件,并启动所述主引导程序文件对应的引导程序。通过提供一种引导程序的加载、升级与恢复的方法,通过主控处理器复位受控处理器,控制受控处理器重启,所述受控处理器启动后,受控处理器通过spi接口向主控处理器发送加载引导程序的信号时序,而所述spi接口为主控处理器通过gpio接口模拟spiflash的接口,当主控处理器接收到所述的信号时序,主控处理器读取主引导程序文件,并通过模拟spiflash时序将所述主引导程序文件发送至受控处理器,给予受控处理器应答,当受控处理器接收到应答,便可通过所述spi接口读取所述主引导程序文件,启动所述主引导程序文件对应的引导程序,加载所述引导程序以完成受控处理器对应设备的初始化配置,既保障了受控处理器的引导程序能够正常加载及整体完整升级,又不需单独的存储器存放引导程序,降低加载引导程序的成本及提高加载引导程序的效率。
本申请实施例提供的计算机可读存储介质可以实现上述引导程序的加载方法的实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
此外,在又一种实施例中,本申请还提供一种嵌入式终端,如图4所示,所述嵌入式终端包括处理器403、存储器405、输入单元407以及显示单元409等器件。本领域技术人员可以理解,图4示出的结构器件并不构成对所有嵌入式终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件。所述存储器405可用于存储计算机程序401以及各功能模块,所述处理器403运行存储在存储器405的计算机程序401,从而执行设备的各种功能应用以及数据处理。所述存储器405可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦写可编程rom(eeprom)、快闪存储器、或者随机存储器。
输入单元407用于接收信号的输入及接收用户的输入,输入单元407可包括触控面板以及其它输入设备,触控面板可收集用户在其上或附近的触摸操作,并根据预先设定的程序驱动相应的连接装置。显示单元409可用于显示用户输入的信息或提供给用户的信息以及计算机设备的各种菜单。显示单元409可采用液晶显示器、有机发光二极管等形式。处理器403是计算机设备的控制中心,利用各种接口和线路连接整个电脑的各个部分,通过运行或执行存储在存储器403内的软件程序和/或模块,以及调用存储在存储器内的数据,执行各种功能和处理数据。
在一种实施方式中,所述嵌入式终端包括一个或多个处理器403,所述处理器包括主控处理器和受控处理器;以及一个或多个存储器405,所述存储器包括非易失存储器;一个或多个计算机程序401,其中所述一个或多个计算机程序401被存储在存储器405中并被配置为由所述一个或多个处理器403执行,所述一个或多个计算机程序401配置用于执行以上实施例所述的引导程序的加载方法。
本申请实施例提供的一种嵌入式终端,可实现向受控处理器发送复位信号,控制受控处理器重启;接收当所述受控处理器启动后通过spi接口发送的加载引导程序的信号时序,所述spi接口为主控处理器通过gpio接口模拟spiflash的接口;当接收到所述信号时序,读取主引导程序文件,通过模拟spiflash时序将所述主引导程序文件发送至受控处理器,以使受控处理器启动所述主引导程序文件对应的引导程序,或,可实现接收主控处理器的复位信号,执行重启操作;通过spi接口向主控处理器发送加载引导程序的信号时序,所述spi接口为主控处理器通过gpio接口模拟spiflash的接口;通过所述spi接口读取主控处理器通过模拟spiflash时序发送的主引导程序文件,并启动所述主引导程序文件对应的引导程序。通过提供一种引导程序的加载、升级与恢复的方法,通过主控处理器复位受控处理器,控制受控处理器重启,所述受控处理器启动后,受控处理器通过spi接口向主控处理器发送加载引导程序的信号时序,而所述spi接口为主控处理器通过gpio接口模拟spiflash的接口,当主控处理器接收到所述的信号时序,主控处理器读取主引导程序文件,并通过模拟spiflash时序将所述主引导程序文件发送至受控处理器,给予受控处理器应答,当受控处理器接收到应答,便可通过所述spi接口读取所述主引导程序文件,启动所述主引导程序文件对应的引导程序,加载所述引导程序以完成受控处理器对应设备的初始化配置,既保障了受控处理器的引导程序能够正常加载及整体完整升级,又不需单独的存储器存放引导程序,降低加载引导程序的成本及提高加载引导程序的效率。
本申请实施例提供的嵌入式终端可以实现上述提供的引导程序的加载方法的实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
1.一种引导程序的加载方法,其特征在于,包括以下步骤:
向受控处理器发送复位信号,控制受控处理器重启;
接收当所述受控处理器启动后通过spi接口发送的加载引导程序的信号时序,所述spi接口为主控处理器通过gpio接口模拟spiflash的接口;
当接收到所述信号时序,读取主引导程序文件,通过模拟spiflash时序将所述主引导程序文件发送至受控处理器,以使受控处理器启动所述主引导程序文件对应的引导程序。
2.根据权利要求1所述的方法,其特征在于,所述通过模拟spiflash时序将所述主引导程序文件发送至受控处理器之后,还包括:
判断是否在预设时间内接收到受控处理器发送的完成启动消息;
若是,确定所述受控处理器完成启动所述主引导程序文件对应的引导程序;
若否,确定所述受控处理器启动所述主引导程序文件对应的引导程序异常,将备用引导程序文件切换为主引导程序文件,重新向受控处理器发送复位信号。
3.根据权利要求2所述的方法,其特征在于,所述向受控处理器发送复位信号之后,还包括:
启动计时器,并配置计时器的计时时间为所述预设时间。
4.根据权利要求1所述的方法,其特征在于,所述向受控处理器发送复位信号,控制受控处理器重启之后,还包括:
接收升级引导程序的指令;
响应于所述指令,将当前的主程序文件切换为备用程序文件;
从远端服务器获取新下载的升级引导程序文件;
将所述新下载的升级引导程序文件保存为主引导程序文件。
5.根据权利要求1所述的方法,其特征在于,所述受控处理器包括至少两个受控处理器;所述主控处理器与至少两个受控处理器相连;
所述当接收到所述的信号时序,读取主引导程序文件,包括:
当主控处理器接收到所述信号时序,获取所述受控处理器的身份标识,根据所述身份标识确定受控处理器的目标主引导程序文件,读取所述目标主引导程序文件。
6.根据权利要求5所述的方法,其特征在于,所述主控处理器通过gpio接口与受控处理器的复位信号连接,用于向受控处理器发送复位信号。
7.一种引导程序的加载方法,其特征在于,包括以下步骤:
接收主控处理器发送的复位信号,执行重启操作;
通过spi接口向主控处理器发送加载引导程序的信号时序,所述spi接口为主控处理器通过gpio接口模拟spiflash的接口;
通过所述spi接口读取主控处理器通过模拟spiflash时序发送的主引导程序文件,并启动所述主引导程序文件对应的引导程序。
8.根据权利要求7所述的方法,其特征在于,所述启动所述主引导程序文件对应的引导程序之后,还包括:
向主控处理器发送完成启动消息。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6或7-8任一项所述的引导程序的加载方法。
10.一种嵌入式终端,其特征在于,包括:
一个或多个处理器;所述处理器包括主控处理器和受控处理器;
存储器;所述存储器包括非易失存储器;
一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中;
所述嵌入式终端用于执行根据权利要求1-6或7-8任一项所述的引导程序的加载方法。
技术总结