CN111240753A - 引导程序的加载方法、存储介质及嵌入式终端 - Google Patents
引导程序的加载方法、存储介质及嵌入式终端 Download PDFInfo
- Publication number
- CN111240753A CN111240753A CN201911420302.3A CN201911420302A CN111240753A CN 111240753 A CN111240753 A CN 111240753A CN 201911420302 A CN201911420302 A CN 201911420302A CN 111240753 A CN111240753 A CN 111240753A
- Authority
- CN
- China
- Prior art keywords
- processor
- controlled
- bootstrap program
- program file
- main
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及嵌入式技术领域,具体涉及一种引导程序的加载方法、存储介质及嵌入式终端,所述方法包括:向受控处理器发送复位信号,控制受控处理器重启;接收当所述受控处理器启动后通过SPI接口发送的加载引导程序的信号时序,所述SPI接口为主控处理器通过GPIO接口模拟SPI Flash的接口;当接收到所述信号时序,读取主引导程序文件,通过模拟SPI Flash时序将所述主引导程序文件发送至受控处理器,以使受控处理器启动所述主引导程序文件对应的引导程序。本申请能够降低加载引导程序的成本及提高加载引导程序的效率。
Description
技术领域
本申请涉及嵌入式技术领域,具体涉及一种引导程序的加载方法、存储介质及嵌入式终端。
背景技术
在嵌入式技术领域,设备上电或复位后一般需要一段引导程序对处理器进行初始化配置,引导程序一般存储在处理器配套的存储器如Flash上,目前,对于设备上存在多个处理器芯片的场景,为每个处理器芯片都配套存储器用于存放引导程序,此方法需要较高的成本,且进一步增加了硬件单板的面积,资源利用率低,引导程序的加载效率低,并且当引导程序需要升级时,需要使用编程器或仿真器进行烧写更新存储器上的引导程序,引导程序的加载、升级与恢复的效率低,成本高。
发明内容
为克服以上技术问题,特别是现有技术存在引导程序的加载、升级与恢复效率低、成本高的问题,特提出以下技术方案:
第一方面,本申请从主控处理器的视角,提供了一种引导程序的加载方法,包括:
向受控处理器发送复位信号,控制受控处理器重启;
接收当所述受控处理器启动后通过SPI接口发送的加载引导程序的信号时序,所述SPI接口为主控处理器通过GPIO接口模拟SPI Flash的接口;
当接收到所述信号时序,读取主引导程序文件,通过模拟SPI Flash时序将所述主引导程序文件发送至受控处理器,以使受控处理器启动所述主引导程序文件对应的引导程序。
进一步的,所述通过模拟SPI Flash时序将所述主引导程序文件发送至受控处理器之后,还包括:
判断是否在预设时间内接收到受控处理器发送的完成启动消息;
若是,确定所述受控处理器完成启动所述主引导程序文件对应的引导程序;
若否,确定所述受控处理器启动所述主引导程序文件对应的引导程序异常,将备用引导程序文件切换为主引导程序文件,重新向受控处理器发送复位信号。
进一步的,所述向受控处理器发送复位信号之后,还包括:
启动计时器,并配置计时器的计时时间为所述预设时间。
进一步的,所述向受控处理器发送复位信号,控制受控处理器重启之后,还包括:
接收升级引导程序的指令;
响应于所述指令,将当前的主程序文件切换为备用程序文件;
从远端服务器获取新下载的升级引导程序文件;
将所述新下载的升级引导程序文件保存为主引导程序文件。
进一步的,所述受控处理器包括至少两个受控处理器;所述主控处理器与至少两个受控处理器相连;
所述当接收到所述的信号时序,读取主引导程序文件,包括:
当主控处理器接收到所述信号时序,获取所述受控处理器的身份标识,根据所述身份标识确定受控处理器的目标主引导程序文件,读取所述目标主引导程序文件。
进一步的,所述主控处理器通过GPIO接口与受控处理器的复位信号连接,用于向受控处理器发送复位信号。
第二方面,本申请从受控处理器的视角,提供一种引导程序的加载方法,包括如下步骤:
接收主控处理器的复位信号,执行重启操作;
通过SPI接口向主控处理器发送加载引导程序的信号时序,所述SPI接口为主控处理器通过GPIO接口模拟SPI Flash的接口;
通过所述SPI接口读取主控处理器通过模拟SPI Flash时序发送的主引导程序文件,并启动所述主引导程序文件对应的引导程序。
进一步的,所述启动所述主引导程序文件对应的引导程序之后,还包括:
向主控处理器发送完成启动消息。
第三方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述的引导程序的加载方法。
第四方面,本申请还提供了一种嵌入式终端,所述嵌入式终端包括一个或多个处理器,所述处理器包括主控处理器和受控处理器;存储器,所述存储器包括非易失存储器;一个或多个计算机程序,其中,所述一个或多个计算机程序被存储在所述存储器中;所述嵌入式终端用于执行上述的引导程序的加载方法。
本申请与现有技术相比,具有以下有益效果:
本申请提供了一种引导程序的加载、升级与恢复的方法,通过主控处理器复位受控处理器,控制受控处理器重启,所述受控处理器启动后,受控处理器通过SPI接口向主控处理器发送加载引导程序的信号时序,而所述SPI接口为主控处理器通过GPIO接口模拟SPIFlash的接口,当主控处理器接收到所述的信号时序,主控处理器读取主引导程序文件,并通过模拟SPI Flash时序将所述主引导程序文件发送至受控处理器,给予受控处理器应答,当受控处理器接收到应答,便可通过所述SPI接口读取所述主引导程序文件,启动所述主引导程序文件对应的引导程序,加载所述引导程序以完成受控处理器对应设备的初始化配置,既保障了受控处理器的引导程序能够正常加载及整体完整升级,又不需单独的存储器存放引导程序,降低加载引导程序的成本及提高加载引导程序的效率。
本申请附加的方面和优点将在下面的描述中部分给出。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请从主控处理器视角的引导程序的加载方法的一实施例流程示意图;
图2为本申请引导程序的加载方法的应用环境的一实施例示意图;
图3为本申请与图1对应的引导程序的加载装置的一实施例示意图;
图4为本申请嵌入式终端的一实施例结构示意图;
图5为本申请引导程序的加载方法的应用环境的另一实施例示意图;
图6为本申请从受控处理器视角的引导程序的加载方法的一实施例流程示意图;
图7为与图6对应的引导程序的加载装置的一实施例示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本申请实施例提供一种引导程序的加载方法,所述方法如图1所示,包括以下步骤:
S10:向受控处理器发送复位信号,控制受控处理器重启。
本实施例的应用环境如图2所示,所述应用环境包括主控处理器、受控处理器、非易失存储器,主控处理器保存主备两份受控处理器引导程序文件,所述主备两份受控处理器的引导程序文件存储在主控处理器配套的非易失存储器上,所述非易失存储器与主控处理器相连,所述非易失存储器可以使用Nor Flash或Nand Flash,用于存放主控处理器相关程序以及受控处理器的主备两份引导程序文件。当设备上电或复位时,需要引导程序对处理器进行初始化配置,本实施例中,以主控处理器作为执行主体,主控处理器复位受控处理器,向受控处理器发送复位信号,控制受控处理器重启。
S11:接收当所述受控处理器启动后通过SPI接口发送的加载引导程序的信号时序,所述SPI接口为主控处理器通过GPIO接口模拟SPI Flash的接口。
当所述受控处理器启动后,受控处理器需要加载引导程序以进行初始化配置,本实施例中,主控处理器则接收当所述受控处理器启动后通过SPI接口发送的加载引导程序的信号时序,具体的,主控处理器与受控处理器通过SPI(Serial Peripheral Interface,串行外设接口)接口相连,所述SPI接口为主控处理器通过GPIO接口模拟的SPI Flash的接口,即主控处理器通过GPIO(General-Purpose Input Output,通用输入输出)接口模拟SPIFlash的SPI接口与受控处理器相连,受控处理器通过所述SPI接口向主控处理器发送加载引导程序的信号时序,相应的,主控处理器则接收受控处理器启动后通过SPI接口发送的加载引导程序的信号时序,其中,所述SPI Flash是一种使用SPI通信的Flash(非易失性存储介质)。
S12:读取主引导程序文件,通过模拟SPI Flash时序将所述主引导程序文件发送至受控处理器,以使受控处理器启动所述主引导程序文件对应的引导程序。
本实施例中,当主控处理器接收到所述的信号时序,主控处理器读取主引导程序文件,在一种实施方式中,主控处理器从非易失存储器读取主引导程序文件,然后通过模拟SPI Flash时序将所述主引导程序文件发送至受控处理器,通过所述SPI接口将主引导程序文件转化为模拟SPI Flash时序发送至受控处理器,给予受控处理器应答,以使受控处理器接收到所述应答后,启动所述主引导程序文件对应的引导程序,所述主控处理器通过GPIO接口模拟SPI Flash,包括模拟SPI Flash及SPI接口。
本实施例提供了一种引导程序的加载、升级与恢复的方法,通过主控处理器复位受控处理器,控制受控处理器重启,所述受控处理器启动后,受控处理器通过SPI接口向主控处理器发送加载引导程序的信号时序,而所述SPI接口为主控处理器通过GPIO接口模拟SPI Flash的接口,当主控处理器接收到所述的信号时序,主控处理器读取主引导程序文件,并通过模拟SPI Flash时序将所述主引导程序文件发送至受控处理器,给予受控处理器应答,当受控处理器接收到应答,便可通过所述SPI接口读取所述主引导程序文件,启动所述主引导程序文件对应的引导程序,加载所述引导程序以完成受控处理器对应设备的初始化配置,既保障了受控处理器的引导程序能够正常加载及整体完整升级,又不需单独的存储器存放引导程序,降低加载引导程序的成本及提高加载引导程序的效率。
本申请的一种实施例,所述通过模拟SPI Flash时序将所述主引导程序文件发送至受控处理器,以使受控处理器启动所述主引导程序文件对应的引导程序之后,还包括:
判断是否在预设时间内接收到受控处理器发送的完成启动消息;
若是,确定所述受控处理器完成启动所述主引导程序文件对应的引导程序;
若否,确定所述受控处理器启动所述主引导程序文件对应的引导程序异常,将备用引导程序文件切换为主引导程序文件,重新向受控处理器发送复位信号。
本实施例中,主控处理器将所述主引导程序文件发送至受控处理器,受控处理器启动所述主引导程序文件对应的引导程序,当完成启动后,向主控处理器发送完成启动消息,而主控处理器需要实时监控所述引导程序是否完成启动,具体的,通过设定时间阈值,将设定的时间阈值定义为预设时间,然后主控处理器判断是否在预设时间内接收到受控处理器发送的完成启动消息,若是,才确定所述受控处理器完成启动所述主引导程序文件对应的引导程序,若否,确定所述受控处理器启动所述主引导程序文件对应的引导程序异常,主控处理器能够实时知晓受控处理器加载引导程序的完成状态。并且,当主控处理器确定所述受控处理器启动所述主引导程序文件对应的引导程序异常后,将备用引导程序文件切换为主引导程序文件,重新向受控处理器发送复位信号,所述异常包括受控处理器未能在预设时间内完成启动所述主引导程序文件对应的引导程序或受控处理器启动所述主引导程序文件对应的引导程序失败,此时主控处理器在所述预设时间内未接收到受控处理器发送的完成启动消息,确定当前的引导程序文件可能存在错误,需要及时地为受控处理器更换其他引导程序文件,本实施例中,主控处理器保存主备两份受控处理器引导程序文件,在预设时间内未接收到受控处理器发送的完成启动消息之后,主控处理器将备用引导程序文件切换为主引导程序文件,而此时,还需要对受控处理器重新进行复位,重新向受控处理器发送复位信号,在一种实施方式中,主控处理器通过GPIO接口连接到受控处理器的复位信号,用于控制复位受控处理器,通过监测在预设时间内是否接收到受控处理器发送的完成启动消息,确定受控处理器是否在预设时间内完成启动所述主引导程序文件对应的引导程序,在受控处理器未能完成启动时切换引导程序文件,主控处理器尝试加载另外一份引导程序文件进行恢复,恢复受控处理器加载引导程序的流程,从而保证受控处理器能完成加载引导程序,以更好地控制受控处理器完成引导程序启动,完成受控处理器初始化。
本申请的一种实施例,所述向受控处理器发送复位信号之后,还包括:
启动计时器,并配置计时器的计时时间为所述预设时间。
本实施例中,在判断所述受控处理器是否在预设时间内完成启动所述主引导程序文件对应的引导程序时,所述预设时间为主控处理器设定,主控处理器在向受控处理器发送复位信号之后,便启动计时器,然后配置所述计时器的计时时间为所述预设时间T,然后执行后续的流程,并且在计时器的预设时间T内判断受控处理器是否完成启动所述主引导程序文件对应的引导程序,若主控处理器未在所述预设时间T内收到受控处理器启动完成消息,则确定受控处理器启动异常,从而快速监测受控处理器的启动是否异常,便于为受控处理器切换引导程序文件,提高受控处理器加载所述引导程序的正常率。
本申请的一种实施例,所述向受控处理器发送复位信号,控制受控处理器重启之后,还包括:
接收升级引导程序的指令;
响应于所述指令,将当前的主程序文件切换为备用程序文件;
从远端服务器获取新下载的升级引导程序文件;
将所述新下载的升级引导程序文件保存为主引导程序文件。
在实际的应用中,需要对不同的受控处理器的引导程序文件进行升级,本实施例在一种实施方式中,在主控处理器向受控处理器发送复位信号,控制受控处理器重启之后,若主控处理器接收到升级引导程序的指令时,响应于所述指令,将当前的主程序文件切换为备用程序文件,并且从远端服务器获取新下载的升级引导程序文件,本实施例将从远端服务器获取新下载的引导程序文件定义为升级引导程序文件,然后将所述新下载的升级引导程序文件保存为主引导程序文件,以让受控处理器能够加载最新的引导程序;在另一种实施方式中,主控处理器在任意时期接收到升级引导程序的指令时,主控处理器将当前的主程序文件切换为备用程序文件,并且从远端服务器获取新下载的升级引导程序文件,然后将所述新下载的升级引导程序文件保存为主引导程序文件。引导程序文件的升级不影响受控处理器的运行,通过主控处理器可以及时地升级受控处理器的引导程序文件,提高引导程序文件的升级效率,并且将之前的主引导程序文件切换为备用引导程序文件,保证受控处理器能够正常地加载引导程序。
本申请的一种实施例,所述受控处理器包括至少两个受控处理器;所述主控处理器与至少两个受控处理器相连;
所述当接收到所述的信号时序,读取主引导程序文件,包括:
当主控处理器接收到所述信号时序,获取所述受控处理器的身份标识,根据所述身份标识确定受控处理器的目标主引导程序文件,读取所述目标主引导程序文件。
本实施例中,如图5所示是本申请引导程序的加载方法的应用环境的另一实施例示意图,所述受控处理器包括至少两个受控处理器,所述主控处理器与至少两个受控处理器相连;在多个相连的受控处理器的场景下,当主控处理器接收到信号时序,需要确定受控处理器的身份,在一种实施方式中,主控处理器为不同的受控处理器配置不同的引导程序文件,当主控处理器接收到信号时序,获取所述受控处理器的身份标识,根据所述身份标识确定受控处理器的目标主引导程序文件,从而读取所述目标主引导程序文件,通过为不同的受控处理器配置不同的引导程序文件,从而兼容不同的受控处理器加载引导程序,提高引导程序加载的兼容性;在另一种实施方式中,主控处理器为相同类型的受控处理器配置相同的引导程序文件,当主控处理器接收到信号时序,获取所述受控处理器的身份标识,确定受控处理器的类型,确定受控处理器的目标主引导程序文件,从而读取所述目标主引导程序文件,从而减少主控处理器资源的占用,提高资源的利用率。
本申请的一种实施例,所述主控处理器通过GPIO接口与受控处理器的复位信号连接,用于向受控处理器发送复位信号。
本实施例中,所述主控处理器通过GPIO接口与受控处理器的复位信号连接,主控处理器与至少两个处理器均通过GPIO接口与受控处理器的复位信号连接,用于向受控处理器发送复位信号,同时,如图5所示,所示消息通道包括使用以太网络接口通道,还包括使用SPI、I2C、UART、CANBUS等通信链路,通过所述消息通道能传递受控处理器是否完成引导程序启动的消息。
如图6所示,在另一种实施例中,本申请从受控处理器的角度,提供一种引导程序的加载方法,包括以下步骤:
S20:接收主控处理器的复位信号,执行重启操作。
本实施例应用环境包括主控处理器、受控处理器、非易失存储器,主控处理器保存主备两份受控处理器引导程序文件,所述主备两份受控处理器的引导程序文件存储在主控处理器配套的非易失存储器上,所述非易失存储器与主控处理器相连,所述非易失存储器可以使用Nor Flash或Nand Flash,用于存放主控处理器相关程序以及受控处理器的主备两份引导程序文件。当设备上电时,需要引导程序对处理器进行初始化配置,本实施例中,以受控处理器作为执行主体,当设备上电时,主控处理器向受控处理器发送复位信号,而受控处理器接收到所述复位信号,则执行重启操作。
S21:通过SPI接口向主控处理器发送加载引导程序的信号时序,所述SPI接口为主控处理器通过GPIO接口模拟SPI Flash的接口。
当所述受控处理器启动后,受控处理器需要加载引导程序以进行初始化配置,本实施例中,受控处理器启动后通过SPI接口向主控处理器发送加载引导程序的信号时序,具体的,主控处理器与受控处理器通过SPI(Serial Peripheral Interface,串行外设接口)接口相连,所述SPI接口为主控处理器通过GPIO接口模拟的SPI Flash的接口,即主控处理器通过GPIO(General-Purpose Input Output,通用输入输出)接口模拟SPI Flash的SPI接口与受控处理器相连,受控处理器通过所述SPI接口向主控处理器发送加载引导程序的信号时序,相应的,主控处理器则接收受控处理器启动后通过SPI接口发送的加载引导程序的信号时序,其中,所述SPI Flash是一种使用SPI通信的Flash(非易失性存储介质)。
S22:通过所述SPI接口读取主控处理器通过模拟SPI Flash时序发送的主引导程序文件,并启动所述主引导程序文件对应的引导程序。
主控处理器接收到所述的信号时序,读取主引导程序文件,然后通过所述SPI接口将主引导程序文件转化为模拟SPI Flash时序给予受控处理器应答,当受控处理器接收到主控处理器对所述信号时序的应答,则通过所述SPI接口读取主控处理器通过模拟SPIFlash时序发送的主引导程序文件,即从所述SPI接口读取到SPI Flash的内容信息的时序信号,而所述SPI Flash的内容信息即为所述主引导程序文件,从而获取所述主引导程序文件,然后受控处理器启动所述主引导程序文件对应的引导程序,加载所述引导程序以完成受控处理器对应设备的初始化配置。
本实施例提供了一种引导程序的加载、升级与恢复的方法,通过主控处理器复位受控处理器,控制受控处理器重启,所述受控处理器启动后,受控处理器通过SPI接口向主控处理器发送加载引导程序的信号时序,而所述SPI接口为主控处理器通过GPIO接口模拟SPI Flash的接口,当主控处理器接收到所述的信号时序,主控处理器读取主引导程序文件,并通过模拟SPI Flash时序将所述主引导程序文件发送至受控处理器,给予受控处理器应答,当受控处理器接收到应答,便可通过所述SPI接口读取所述主引导程序文件,启动所述主引导程序文件对应的引导程序,加载所述引导程序以完成受控处理器对应设备的初始化配置,既保障了受控处理器的引导程序能够正常加载及整体完整升级,又不需单独的存储器存放引导程序,降低加载引导程序的成本及提高加载引导程序的效率。
本申请的一种实施例,所述启动所述主引导程序文件对应的引导程序之后,还包括:
向主控处理器发送完成启动消息。
本实施例中,受控处理器启动所述主引导程序文件对应的引导程序,当完成启动后,向主控处理器发送完成启动消息,从而让主控处理器能够实时监控所述引导程序是否完成启动,若未完成启动,根据上述实施例,主控处理器会将备用引导程序文件切换为主引导程序文件,并且重新向受控处理器发送复位信号。主控处理器能够实时知晓受控处理器加载引导程序的完成状态,从而保证受控处理器能完成加载引导程序。
如图3所示,在另一种实施例中,本申请提供了一种引导程序的加载装置,包括:
复位模块10:用于向受控处理器发送复位信号,控制受控处理器重启;
时序接收模块11:用于接收当所述受控处理器启动后通过SPI接口发送的加载引导程序的信号时序,所述SPI接口为主控处理器通过GPIO接口模拟SPI Flash的接口;
文件读取模块12:用于当接收到所述信号时序,读取主引导程序文件,通过模拟SPI Flash时序将所述主引导程序文件发送至受控处理器,以使受控处理器启动所述主引导程序文件对应的引导程序。
本申请的一种实施例,所述装置还包括:
状态监控模块:用于判断是否在预设时间内接收到受控处理器发送的完成启动消息;若是,确定所述受控处理器完成启动所述主引导程序文件对应的引导程序;若否,确定所述受控处理器启动所述主引导程序文件对应的引导程序异常,将备用引导程序文件切换为主引导程序文件,重新向受控处理器发送复位信号。
本申请的一种实施例,所述状态监控模块还包括执行:
启动计时器,并配置计时器的计时时间为所述预设时间。
本申请的一种实施例,所述装置还包括:
文件升级模块:用于接收升级引导程序的指令;响应于所述指令,将当前的主程序文件切换为备用程序文件;从远端服务器获取新下载的升级引导程序文件;将所述新下载的升级引导程序文件保存为主引导程序文件。
本申请的一种实施例,所述受控处理器包括至少两个受控处理器;所述主控处理器与至少两个受控处理器相连;
所述文件读取模块12还包括执行:
当主控处理器接收到所述信号时序,获取所述受控处理器的身份标识,根据所述身份标识确定受控处理器的目标主引导程序文件,读取所述目标主引导程序文件。
本申请的一种实施例,所述主控处理器通过GPIO接口与受控处理器的复位信号连接,用于向受控处理器发送复位信号。
如图7所示,在另一种实施例中,本申请提供了一种引导程序的加载装置,包括:
信号接收模块20:用于接收主控处理器的复位信号,执行重启操作;
时序发送模块21:用于通过SPI接口向主控处理器发送加载引导程序的信号时序,所述SPI接口为主控处理器通过GPIO接口模拟SPI Flash的接口;
程序启动模块22:用于通过所述SPI接口读取主控处理器通过模拟SPI Flash时序发送的主引导程序文件,并启动所述主引导程序文件对应的引导程序。
本申请的一种实施例,所述装置还包括:
消息发送模块:用于向主控处理器发送完成启动消息。
在另一种实施例中,本申请提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例所述的引导程序的加载方法。其中,所述计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random AcceSSMemory,随即存储器)、EPROM(EraSable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically EraSable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储设备包括由设备以能够读的形式存储或传输信息的任何介质,可以是只读存储器,磁盘或光盘等。
本申请实施例提供的一种计算机可读存储介质,可实现向受控处理器发送复位信号,控制受控处理器重启;接收当所述受控处理器启动后通过SPI接口发送的加载引导程序的信号时序,所述SPI接口为主控处理器通过GPIO接口模拟SPI Flash的接口;当接收到所述信号时序,读取主引导程序文件,通过模拟SPI Flash时序将所述主引导程序文件发送至受控处理器,以使受控处理器启动所述主引导程序文件对应的引导程序,或,可实现接收主控处理器的复位信号,执行重启操作;通过SPI接口向主控处理器发送加载引导程序的信号时序,所述SPI接口为主控处理器通过GPIO接口模拟SPI Flash的接口;通过所述SPI接口读取主控处理器通过模拟SPI Flash时序发送的主引导程序文件,并启动所述主引导程序文件对应的引导程序。通过提供一种引导程序的加载、升级与恢复的方法,通过主控处理器复位受控处理器,控制受控处理器重启,所述受控处理器启动后,受控处理器通过SPI接口向主控处理器发送加载引导程序的信号时序,而所述SPI接口为主控处理器通过GPIO接口模拟SPI Flash的接口,当主控处理器接收到所述的信号时序,主控处理器读取主引导程序文件,并通过模拟SPI Flash时序将所述主引导程序文件发送至受控处理器,给予受控处理器应答,当受控处理器接收到应答,便可通过所述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接口模拟SPI Flash的接口;当接收到所述信号时序,读取主引导程序文件,通过模拟SPI Flash时序将所述主引导程序文件发送至受控处理器,以使受控处理器启动所述主引导程序文件对应的引导程序,或,可实现接收主控处理器的复位信号,执行重启操作;通过SPI接口向主控处理器发送加载引导程序的信号时序,所述SPI接口为主控处理器通过GPIO接口模拟SPI Flash的接口;通过所述SPI接口读取主控处理器通过模拟SPI Flash时序发送的主引导程序文件,并启动所述主引导程序文件对应的引导程序。通过提供一种引导程序的加载、升级与恢复的方法,通过主控处理器复位受控处理器,控制受控处理器重启,所述受控处理器启动后,受控处理器通过SPI接口向主控处理器发送加载引导程序的信号时序,而所述SPI接口为主控处理器通过GPIO接口模拟SPIFlash的接口,当主控处理器接收到所述的信号时序,主控处理器读取主引导程序文件,并通过模拟SPI Flash时序将所述主引导程序文件发送至受控处理器,给予受控处理器应答,当受控处理器接收到应答,便可通过所述SPI接口读取所述主引导程序文件,启动所述主引导程序文件对应的引导程序,加载所述引导程序以完成受控处理器对应设备的初始化配置,既保障了受控处理器的引导程序能够正常加载及整体完整升级,又不需单独的存储器存放引导程序,降低加载引导程序的成本及提高加载引导程序的效率。
本申请实施例提供的嵌入式终端可以实现上述提供的引导程序的加载方法的实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种引导程序的加载方法,其特征在于,包括以下步骤:
向受控处理器发送复位信号,控制受控处理器重启;
接收当所述受控处理器启动后通过SPI接口发送的加载引导程序的信号时序,所述SPI接口为主控处理器通过GPIO接口模拟SPIFlash的接口;
当接收到所述信号时序,读取主引导程序文件,通过模拟SPI Flash时序将所述主引导程序文件发送至受控处理器,以使受控处理器启动所述主引导程序文件对应的引导程序。
2.根据权利要求1所述的方法,其特征在于,所述通过模拟SPIFlash时序将所述主引导程序文件发送至受控处理器之后,还包括:
判断是否在预设时间内接收到受控处理器发送的完成启动消息;
若是,确定所述受控处理器完成启动所述主引导程序文件对应的引导程序;
若否,确定所述受控处理器启动所述主引导程序文件对应的引导程序异常,将备用引导程序文件切换为主引导程序文件,重新向受控处理器发送复位信号。
3.根据权利要求2所述的方法,其特征在于,所述向受控处理器发送复位信号之后,还包括:
启动计时器,并配置计时器的计时时间为所述预设时间。
4.根据权利要求1所述的方法,其特征在于,所述向受控处理器发送复位信号,控制受控处理器重启之后,还包括:
接收升级引导程序的指令;
响应于所述指令,将当前的主程序文件切换为备用程序文件;
从远端服务器获取新下载的升级引导程序文件;
将所述新下载的升级引导程序文件保存为主引导程序文件。
5.根据权利要求1所述的方法,其特征在于,所述受控处理器包括至少两个受控处理器;所述主控处理器与至少两个受控处理器相连;
所述当接收到所述的信号时序,读取主引导程序文件,包括:
当主控处理器接收到所述信号时序,获取所述受控处理器的身份标识,根据所述身份标识确定受控处理器的目标主引导程序文件,读取所述目标主引导程序文件。
6.根据权利要求5所述的方法,其特征在于,所述主控处理器通过GPIO接口与受控处理器的复位信号连接,用于向受控处理器发送复位信号。
7.一种引导程序的加载方法,其特征在于,包括以下步骤:
接收主控处理器发送的复位信号,执行重启操作;
通过SPI接口向主控处理器发送加载引导程序的信号时序,所述SPI接口为主控处理器通过GPIO接口模拟SPIFlash的接口;
通过所述SPI接口读取主控处理器通过模拟SPI Flash时序发送的主引导程序文件,并启动所述主引导程序文件对应的引导程序。
8.根据权利要求7所述的方法,其特征在于,所述启动所述主引导程序文件对应的引导程序之后,还包括:
向主控处理器发送完成启动消息。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6或7-8任一项所述的引导程序的加载方法。
10.一种嵌入式终端,其特征在于,包括:
一个或多个处理器;所述处理器包括主控处理器和受控处理器;
存储器;所述存储器包括非易失存储器;
一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中;
所述嵌入式终端用于执行根据权利要求1-6或7-8任一项所述的引导程序的加载方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911420302.3A CN111240753A (zh) | 2019-12-31 | 2019-12-31 | 引导程序的加载方法、存储介质及嵌入式终端 |
PCT/CN2020/140308 WO2021136200A1 (zh) | 2019-12-31 | 2020-12-28 | 引导程序的加载方法、存储介质及嵌入式终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911420302.3A CN111240753A (zh) | 2019-12-31 | 2019-12-31 | 引导程序的加载方法、存储介质及嵌入式终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111240753A true CN111240753A (zh) | 2020-06-05 |
Family
ID=70864810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911420302.3A Pending CN111240753A (zh) | 2019-12-31 | 2019-12-31 | 引导程序的加载方法、存储介质及嵌入式终端 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111240753A (zh) |
WO (1) | WO2021136200A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112612524A (zh) * | 2020-12-22 | 2021-04-06 | 西人马(西安)测控科技有限公司 | Linux系统启动的方法、装置、设备及存储介质 |
CN112783692A (zh) * | 2021-01-12 | 2021-05-11 | 重庆海云捷迅科技有限公司 | 一种SoC数据恢复系统及方法 |
WO2021136200A1 (zh) * | 2019-12-31 | 2021-07-08 | 京信网络系统股份有限公司 | 引导程序的加载方法、存储介质及嵌入式终端 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115081035B (zh) * | 2022-08-22 | 2022-11-01 | 成都远望科技有限责任公司 | 一种基于处理器和fpga芯片的程序加密升级电路及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631674A (zh) * | 2012-08-24 | 2014-03-12 | 京信通信系统(中国)有限公司 | 嵌入cpu的fpga及其启动方法 |
KR101671645B1 (ko) * | 2015-09-25 | 2016-11-01 | 주식회사 엘지씨엔에스 | 전자 장치 및 그것의 동작 방법 |
CN108279935A (zh) * | 2016-12-30 | 2018-07-13 | 北京中科晶上科技股份有限公司 | 一种针对片上系统的操作系统启动引导方法 |
CN110187923A (zh) * | 2019-05-10 | 2019-08-30 | 杭州迪普科技股份有限公司 | 一种应用于多cpu板卡的cpu启动方法和装置 |
US20200175169A1 (en) * | 2020-02-07 | 2020-06-04 | Intel Corporation | Boot code load system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677416A (zh) * | 2016-01-07 | 2016-06-15 | 上海斐讯数据通信技术有限公司 | 一种Uboot的升级控制系统及方法 |
US10534618B2 (en) * | 2016-09-27 | 2020-01-14 | American Megatrends International, Llc | Auto bootloader recovery in BMC |
CN108205443B (zh) * | 2016-12-16 | 2019-02-05 | 视联动力信息技术股份有限公司 | 一种多核设备引导程序和文件系统的烧写方法和装置 |
CN111240753A (zh) * | 2019-12-31 | 2020-06-05 | 京信通信系统(中国)有限公司 | 引导程序的加载方法、存储介质及嵌入式终端 |
-
2019
- 2019-12-31 CN CN201911420302.3A patent/CN111240753A/zh active Pending
-
2020
- 2020-12-28 WO PCT/CN2020/140308 patent/WO2021136200A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631674A (zh) * | 2012-08-24 | 2014-03-12 | 京信通信系统(中国)有限公司 | 嵌入cpu的fpga及其启动方法 |
KR101671645B1 (ko) * | 2015-09-25 | 2016-11-01 | 주식회사 엘지씨엔에스 | 전자 장치 및 그것의 동작 방법 |
CN108279935A (zh) * | 2016-12-30 | 2018-07-13 | 北京中科晶上科技股份有限公司 | 一种针对片上系统的操作系统启动引导方法 |
CN110187923A (zh) * | 2019-05-10 | 2019-08-30 | 杭州迪普科技股份有限公司 | 一种应用于多cpu板卡的cpu启动方法和装置 |
US20200175169A1 (en) * | 2020-02-07 | 2020-06-04 | Intel Corporation | Boot code load system |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021136200A1 (zh) * | 2019-12-31 | 2021-07-08 | 京信网络系统股份有限公司 | 引导程序的加载方法、存储介质及嵌入式终端 |
CN112612524A (zh) * | 2020-12-22 | 2021-04-06 | 西人马(西安)测控科技有限公司 | Linux系统启动的方法、装置、设备及存储介质 |
CN112783692A (zh) * | 2021-01-12 | 2021-05-11 | 重庆海云捷迅科技有限公司 | 一种SoC数据恢复系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2021136200A1 (zh) | 2021-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111240753A (zh) | 引导程序的加载方法、存储介质及嵌入式终端 | |
CN105745617B (zh) | 用于预启动固件更新的选择性功率管理 | |
US8136108B2 (en) | Updating firmware with multiple processors | |
CN106201563B (zh) | 启动参数的配置方法和装置、主板启动的方法和装置 | |
CN102945173A (zh) | 用户程序在线升级系统和升级方法 | |
CN103761088A (zh) | 一种适用于arm架构移动设备的多操作系统切换方法 | |
US11314665B2 (en) | Information processing system, information processing device, BIOS updating method for information processing device, and BIOS updating program for information processing device | |
CN112612524A (zh) | Linux系统启动的方法、装置、设备及存储介质 | |
CN105468390B (zh) | Boot在线升级装置及方法 | |
CN114090107A (zh) | 计算机和系统启动方法 | |
WO2015196479A1 (zh) | 程序数据的更新方法及设备 | |
CN101505331A (zh) | 升级智能手机系统软件的方法和装置 | |
CN102081526B (zh) | 基本输入/输出系统架构 | |
US20230133270A1 (en) | Bios updates | |
CN110908733B (zh) | 工作模式确定方法及装置、控制方法及装置 | |
CN113703914A (zh) | 测试方法和测试系统 | |
CN108108314B (zh) | 交换器系统 | |
WO2017121077A1 (zh) | 一种双引导文件的切换方法及装置 | |
CN116560678A (zh) | 固件更新方法、装置、存储介质及电子装置 | |
CN110609695A (zh) | 一种光模块的固件升级方法,系统及光模块 | |
CN113821265B (zh) | 操作系统控制方法、装置、计算机主板和可读存储介质 | |
CN211427090U (zh) | 微控制单元设备 | |
CN113778485A (zh) | 电子芯片的系统运行方法、装置、电子芯片和存储介质 | |
CN112667444A (zh) | 一种系统升级方法、存储介质及终端设备 | |
CN106445571B (zh) | 主机板及开机的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 510663 Shenzhou Road 10, Science City, Guangdong, Guangzhou Applicant after: Jingxin Network System Co.,Ltd. Address before: 510663 Shenzhou Road 10, Science City, Guangdong, Guangzhou Applicant before: COMBA TELECOM SYSTEMS (CHINA) Ltd. |
|
CB02 | Change of applicant information | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200605 |
|
RJ01 | Rejection of invention patent application after publication |