CN115599449A - 处理器启动系统及方法 - Google Patents

处理器启动系统及方法 Download PDF

Info

Publication number
CN115599449A
CN115599449A CN202110769734.6A CN202110769734A CN115599449A CN 115599449 A CN115599449 A CN 115599449A CN 202110769734 A CN202110769734 A CN 202110769734A CN 115599449 A CN115599449 A CN 115599449A
Authority
CN
China
Prior art keywords
processor
flash chip
chip
flash
programmable logic
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
Application number
CN202110769734.6A
Other languages
English (en)
Inventor
韩毅宏
成萌
谷延军
赵洪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Datang Mobile Communications Equipment Co Ltd
Original Assignee
Datang Mobile Communications Equipment Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Datang Mobile Communications Equipment Co Ltd filed Critical Datang Mobile Communications Equipment Co Ltd
Priority to CN202110769734.6A priority Critical patent/CN115599449A/zh
Publication of CN115599449A publication Critical patent/CN115599449A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供了一种处理器启动系统及方法,其中该系统包括:可编程逻辑器件、处理器、第一Flash芯片以及第二Flash芯片,第二Flash芯片为禁止写操作的状态,可编程逻辑器件用于在处理器通过第一Flash芯片启动失败时,复位处理器,控制第二Flash芯片与处理器连接;处理器用于通过第二Flash芯片启动,并在启动后根据第二Flash芯片内的引导程序对第一Flash芯片进行修复;在第一Flash芯片修复后,可编程逻辑器件用于控制第一Flash芯片连接处理器,并复位处理器。本申请可以基于未经更改的原始数据保证处理器的正常启动,并实现优先选用第一Flash芯片保证处理器的正常启动。

Description

处理器启动系统及方法
技术领域
本申请涉及计算机技术领域,尤其涉及一种处理器启动系统及方法。
背景技术
嵌入式设备在硬件设计中,处理器复位地址通常指向Flash芯片,这样嵌入式设备在上电或复位过程中,处理器会自动跳转到Flash芯片内执行和加载系统文件来启动设备。Flash芯片通常存放Uboot(Universal Boot Loader)引导程序、Linux内核、根文件系统以及用户程序等关键数据,如果发生Flash芯片读写数据出错、Flash数据升级流程异常或者要升级的文件本身不正确等情况,都将可能导致嵌入式设备无法正常启动。
现有的技术是,针对串行外设接口(Serial Peripheral Interface,SPI)进行了双Flash芯片自动翻转设计,此种设计可以使得设备基于主用Flash芯片或者备用Flash芯片进行启动,在基于主用Flash芯片启动失败时,采用备用Flash芯片进行启动。
上述过程中,在备用Flash芯片上的数据也被破坏后无法保证设备的正常启动,由于在对Flash芯片上的内容进行更新时,会同时升级两个芯片上的数据,若升级的内容本身不正确,将导致两个Flash芯片都不能正常启动,进而导致设备无法通过Flash芯片启动。
由此可见,现有技术中在通过Flash芯片进行设备启动时,若备用Flash芯片上的数据也被破坏、升级的内容不正确,会出现设备无法启动的问题。
发明内容
本申请实施例提供一种处理器启动系统及方法,以解决现有技术中在通过Flash芯片进行设备启动时,若备用Flash芯片上的数据被破坏、升级的内容不正确,所出现的设备无法启动的问题。
第一方面,本申请实施例提供一种处理器启动系统,包括:可编程逻辑器件,处理器、第一Flash芯片以及第二Flash芯片,所述可编程逻辑器件的第一端通过第一片选信号线连接所述第一Flash芯片或者所述第二Flash芯片,所述可编程逻辑器件的第二端通过第二片选信号线连接所述处理器;所述第二Flash芯片为禁止写操作的状态,所述可编程逻辑器件用于:
在所述处理器通过所述第一Flash芯片启动失败时,复位所述处理器,控制所述第二Flash芯片通过所述第一片选信号线与所述处理器连接;
所述处理器用于通过所述第二Flash芯片启动,并在启动后根据所述第二Flash芯片内的引导程序对所述第一Flash芯片进行修复;
在所述第一Flash芯片修复后,所述可编程逻辑器件用于控制所述第一Flash芯片通过所述第一片选信号线与所述处理器连接,并复位所述处理器。
第二方面,本申请实施例提供一种处理器启动方法,应用于可编程逻辑器件,所述可编程逻辑器件的第一端通过第一片选信号线连接第一Flash芯片或者第二Flash芯片,所述可编程逻辑器件的第二端通过第二片选信号线连接处理器,所述第二Flash芯片为禁止写操作的状态,所述方法包括:
在所述处理器通过所述第一Flash芯片启动失败时,复位所述处理器;
控制所述第二Flash芯片通过所述第一片选信号线与所述处理器连接,以使所述处理器通过所述第二Flash芯片启动;
在所述第一Flash芯片根据所述第二Flash芯片内的引导程序修复后,控制所述所述第一Flash芯片通过所述第一片选信号线与所述处理器连接,并复位所述处理器。
在本申请实施例中,通过设置第二Flash芯片为禁止写操作的状态,可以避免任何异常情况导致的第二Flash芯片上的数据被损坏或不可用,在处理器通过第一Flash芯片启动失败时,可编程逻辑器件复位处理器,控制处理器通过第二Flash芯片进行启动,可以实现基于未经更改的原始数据保证处理器的正常启动,并在处理器根据第二Flash芯片修复第一Flash芯片之后,可编程逻辑器件控制第一Flash芯片与处理器连接并复位处理器,使得处理器通过第一Flash芯片启动,以实现优先选用第一Flash芯片保证处理器的正常启动。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1表示现有技术针对SPI进行双Flash芯片自动翻转设计的示意图;
图2表示本申请实施例提供的处理器启动系统的示意图之一;
图3表示本申请实施例提供的处理器启动系统的示意图之二;
图4表示本申请实施例提供的处理器启动系统的示意图之三;
图5表示本申请实施例提供的处理器启动方法的示意图;
图6表示本申请实施例提供的处理器启动方法的一整体流程图;
图7表示本申请实施例提供的升级引导程序、基于升级后的引导程序启动处理器的示意图。
具体实施方式
本申请实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本申请实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1所示,为针对SPI进行了双Flash芯片自动翻转设计的示意图,两个Flash芯片共享串行时钟SCK线、主机输入/从机输出(Master Input/Slave Output,MISO)数据线、主机输出/从机输入(Master Output/Slave Input,MOSI)数据线,并与处理器的SPIFlash控制器相连,而处理器的CS线(片选信号线)则通过可编程门阵列(FieldProframmable Gate Array,FPGA)后,再与两个Flash芯片相连,实现片选信号的切换,以便由FPGA决定处理器启动时从哪个Flash芯片来启动。其中FPGA可替换为可擦可编程逻辑器件(Erasable Programmable Logic Device,EPLD)。其中,Flash0芯片上的Uboot引导程序以及Flash1芯片上的Uboot引导程序均为正常可用状态,将Flash0芯片上的Uboot引导程序作为主用引导程序,Flash1芯片上的Uboot引导程序作为备用引导程序。当嵌入式设备上电或复位之后,FPGA先启动,优先切换片选信号到Flash0芯片,并启动定时器,这样处理器将从Flash0芯片执行和加载引导程序。如果某种异常原因导致Flash0芯片上的引导程序不能正常工作,则定时器超时后,FPGA控制嵌入式设备复位,FPGA切换片选信号到Flash1芯片,使得处理器从Flash1芯片执行和加载引导程序。而当Flash芯片上的内容需要进行版本更新时,会同时升级Flash0芯片和Flash1芯片上的数据,使两个Flash芯片的版本数据同步。
因此,现有技术中在通过Flash芯片进行设备启动时,存在若备用Flash芯片上的数据被破坏、升级的内容不正确时,设备无法启动的问题。针对上述问题本申请实施例提供一种处理器启动系统及方法,通过在备用Flash芯片上存放一份可以正常启动的文件,同时处理器不可对备用Flash芯片执行写操作,保证了备用Flash芯片的始终可用,进行可以保证处理器的正常启动。
下面对本申请实施例提供的处理器启动系统进行介绍,参见图2至图4,本申请实施例提供了一种处理器启动系统,包括:可编程逻辑器件11,处理器12、第一Flash芯片13以及第二Flash芯片14,可编程逻辑器件11的第一端通过第一片选信号线连接第一Flash芯片13或者第二Flash芯片14,可编程逻辑器件11的第二端通过第二片选信号线连接处理器12;第二Flash芯片14为禁止写操作的状态,可编程逻辑器件11用于:
在处理器12通过第一Flash芯片13启动失败时,复位处理器12,控制第二Flash芯片14通过第一片选信号线与处理器12连接;
处理器12用于通过第二Flash芯片14启动,并在启动后根据第二Flash芯片14内的引导程序对第一Flash芯片13进行修复;
在第一Flash芯片13修复后,可编程逻辑器件11用于控制第一Flash芯片13通过第一片选信号线连接处理器12,并复位处理器12。
本申请实施例提供的处理器启动系统包括:可编程逻辑器件11,处理器12、第一Flash芯片13以及第二Flash芯片14,其中,可编程逻辑器件11的第二端通过第二片选信号线连接处理器12,可编程逻辑器件11的第一端连接第一Flash芯片13或者第二Flash芯片14,具体为:可编程逻辑器件11可以控制第一片选信号线连接第一Flash芯片13或者第二Flash芯片14。
处理器12可以通过与可编程逻辑器件11的连接、可编程逻辑器件11与第一Flash芯片13或者第二Flash芯片14的连接,从第一Flash芯片13或者第二Flash芯片14上执行和加载引导程序,实现处理器12的启动。这里的第一Flash芯片13可以理解为主用Flash芯片,第二Flash芯片14可以理解为备用Flash芯片。在可编程逻辑器件11的第一端通过第一片选信号线连接第一Flash芯片13时,可以实现处理器12与第一Flash芯片13的连接,在处理器12从第一Flash芯片13上执行和加载引导程序失败时,确定处理器12基于第一Flash芯片13启动失败,此时可编程逻辑器件11可以控制处理器12复位。可编程逻辑器件11可以为FPGA或者EPLD。
可编程逻辑器件11在控制处理器12复位之后,可以控制第二Flash芯片14与处理器12连接,即,可编程逻辑器件11的第一端通过第一片选信号线连接第二Flash芯片14,以基于可编程逻辑器件11的第二端通过第二片选信号线与处理器12的连接,实现处理器12与第二Flash芯片14的连接。通过控制第二Flash芯片14连接处理器12,可以使得处理器12从第二Flash芯片14上执行和加载引导程序,实现处理器12的启动。其中,第二Flash芯片14上存放一份可以正常启动的文件,同时第二Flash芯片14为禁止写操作的状态,保证了第二Flash芯片14的始终可用,避免出现第二Flash芯片14上的数据被损坏的情况。
在处理器12通过第二Flash芯片14启动成功后,处理器12可以根据第二Flash芯片14内的引导程序对第一Flash芯片13进行修复,这里的修复即为将第二Flash芯片14内的引导程序复制至第一Flash芯片13,实现Flash芯片内引导程序的更新。在完成修复之后,可编程逻辑器件11可以控制第一Flash芯片13与处理器12连接,在实现第一Flash芯片13与处理器12的连接之后,可编程逻辑器件11复位处理器12,可以使得处理器12通过第一Flash芯片13实现启动,且可以为后续可能存在的Flash芯片上的内容的版本升级做准备,以对第一Flash芯片13上的内容进行更新,保证第二Flash芯片14不受影响。
本申请上述实施例,通过设置第二Flash芯片为禁止写操作的状态,可以避免任何异常情况导致的第二Flash芯片上的数据被损坏或不可用,在处理器通过第一Flash芯片启动失败时,可编程逻辑器件复位处理器,控制处理器通过第二Flash芯片进行启动,可以实现基于未经更改的原始数据保证处理器的正常启动,并在处理器根据第二Flash芯片修复第一Flash芯片之后,可编程逻辑器件控制第一Flash芯片与处理器连接并复位处理器,使得处理器通过第一Flash芯片启动,以实现优先选用第一Flash芯片保证处理器的正常启动。
在本申请一可选实施例中,参见图2至图4所示,在处理器12通过第一Flash芯片13启动失败,可编程逻辑器件11复位处理器12时,可编程逻辑器件11进一步用于:
在处理器12上电或复位的情况下,控制第一片选信号线连接第一Flash芯片13,并启动定时器,以使处理器12通过执行和加载第一Flash芯片13内的引导程序进行启动;
若在预设时长内未接收到关闭定时器的关闭指令,确定处理器12通过第一Flash芯片13启动失败,复位处理器12。
在处理器12上电或者复位之后,可编程逻辑器件11先启动,优先将第一片选信号线切换至第一Flash芯片13,实现第一Flash芯片13与处理器12的连接。可编程逻辑器件11将第一片选信号线切换至第一Flash芯片13时启动定时器,此时处理器12可通过第一Flash芯片13启动。
在处理器12基于第一Flash芯片13正常启动后,可以向可编程逻辑器件11发送关闭指令,可编程逻辑器件11根据关闭指令关闭定时器,其中,这里的定时器为可编程逻辑器件11内部的定时器,且可编程逻辑器件11在定时器启动后的预设时长内接收关闭指令。此时,可编程逻辑器件11保持与第一Flash芯片13的连接,为后续可能出现的引导程序的版本升级做准备,保证第一Flash芯片13为进行版本升级的芯片。
若可编程逻辑器件11在预设时长内未接收到关闭定时器的关闭指令,说明第一Flash芯片13上的引导程序被破坏或者不可用(版本不可用),处理器12通过第一Flash芯片启动失败,此时可编程逻辑器件11复位处理器12。这里的预设时长的起始时刻即为启动定时器的时刻,例如,在启动定时器后,若5s内可编程逻辑器件11未接收到关闭指令,则确定处理器12启动失败。
本申请上述实施例,在可编程逻辑器件与第一Flash芯片连接时启动定时器,在预设时长内接收到关闭指令时确定处理器正常启动,在预设时长内未接收到关闭指令时确定处理器启动失败,实现基于预设时长内关闭指令的接收情况判定处理器是否正常启动。
在本申请一可选实施例中,参见图2至图4所示,在处理器12通过第一Flash芯片13启动失败时,可编程逻辑器件11用于记录处理器12通过第一Flash芯片13启动失败的第一信息;
在控制第二Flash芯片14通过第一片选信号线与处理器12连接时,可编程逻辑器件11用于根据第一信息,控制第一片选信号线连接第二Flash芯片14,并启动定时器;
处理器12用于通过与第二Flash芯片14的连接,执行和加载第二Flash芯片14内的引导程序进行启动;
在处理器12对第二Flash芯片14内的引导程序执行和加载成功后,可编程逻辑器件11用于根据接收到的关闭指令关闭定时器。
处理器12在通过第一Flash芯片13启动失败时,可编程逻辑器件11可以记录第一信息。可编程逻辑器件11在控制第二Flash芯片14通过第一片选信号线与处理器12连接时,可以基于第一信息确定处理器12通过第一Flash芯片13启动失败,因此可以控制第一片选信号线连接第二Flash芯片14,控制处理器12与第二Flash芯片14连接,在控制第一片选信号线连接第二Flash芯片14时,启动定时器。由于第二Flash芯片14上的数据不可更改,处理器12可以通过执行和加载第二Flash芯片14内的引导程序进行正常启动。
在处理器12通过第二Flash芯片14正常启动时,处理器12向可编程逻辑器件11发送关闭指令,可编程逻辑器件11在接收到关闭指令之后,可以基于接收到的关闭指令关闭定时器。
其中,由于第二Flash芯片14作为备用Flash芯片,处理器12在通过备用Flash芯片正常启动后,可以根据备用Flash芯片对第一Flash芯片13(主用Flash芯片)进行修复,以保证第一Flash芯片13的可用性
本申请上述实施例,在处理器通过第一Flash芯片启动失败时,可编程逻辑器件记录第一信息,根据记录的第一信息,控制第一片选信号线连接第二Flash芯片,可以使得处理器通过执行和加载第二Flash芯片内的引导程序进行启动,以保证处理器基于原始数据正常启动。
在本申请一可选实施例中,参见图2至图4所示,在控制第一Flash芯片13通过第一片选信号线与处理器12连接,并复位处理器12时,可编程逻辑器件11用于控制第一片选信号线连接第一Flash芯片13;第一Flash芯片13用于通过第一片选信号线连接处理器12;在第一Flash芯片13连接处理器12后,可编程逻辑器件11用于复位处理器12;处理器12用于执行和加载第一Flash芯片13内的引导程序进行启动。
可编程逻辑器件11在控制第一Flash芯片13连接处理器12时,可以控制第一片选信号线连接第一Flash芯片13,并基于可编程逻辑器件11的第二端通过第二片选信号线与处理器12的连接,实现处理器12与第一Flash芯片13的连接。在第一Flash芯片13连接处理器12后,可编程逻辑器件11可以复位处理器12,使得处理器12通过第一Flash芯片13进行启动,实现优先保证处理器12通过第一Flash芯片13启动,且可以为后续可能存在的Flash芯片上的内容的版本升级做准备,以对第一Flash芯片13上的内容进行更新,保证第二Flash芯片14不受影响。
本申请上述实施例,在处理器基于第二Flash芯片修复第一Flash芯片之后,可编程逻辑器件控制第一Flash芯片连接处理器,处理器基于第一Flash芯片进行启动,可以实现优先选用主用Flash芯片保证处理器的正常启动。
在本申请一可选实施例中,参见图2至图4所示,在第一Flash芯片13、第二Flash芯片14内的引导程序与服务器中最新版本的引导程序的版本不一致时,处理器12用于将服务器中最新版本的引导程序写入第一Flash芯片13;可编程逻辑器件11用于复位处理器12;处理器12用于执行和加载第一Flash芯片13内最新版本的引导程序进行启动;其中,服务器为处理器12上运行的目标应用对应的应用服务器。
当需升级Flash芯片上的引导程序时,由于第二Flash芯片14禁止写操作,因此仅可以对第一Flash芯片13上的引导程序进行版本升级,通过设置第二Flash芯片14为禁止写操作的状态,可以避免由于写操作出错或者要升级的内容存在错误导致的处理器12无法启动的问题。
当第一Flash芯片13上的引导程序与服务器中最新版本的引导程序的版本不一致,处理器12将服务器中最新版本的引导程序写入第一Flash芯片13,实现第一Flash芯片13内的引导程序的升级,在升级完成后(即处理器12完成写操作后),可编程逻辑器件11复位处理器12,处理器12可以通过执行和加载第一Flash芯片13内最新版本的引导程序进行启动。其中,这里的服务器为应用服务器,且应用服务器所对应的目标应用在处理器12上运行。
本申请上述实施例,通过由处理器基于服务器中最新版本的引导程序对第一Flash芯片内的引导程序进行更新,并在完成更新后可编程逻辑器件复位处理器,可以使得处理器基于最新版本的引导程序进行启动。
在本申请一可选实施例中,如图3所示,处理器12包括串行外设接口SPI Flash控制器121;
第一Flash芯片13通过串行时钟SCK线、主机输入/从机输出MISO数据线、主机输出/从机输入MOSI数据线连接SPI Flash控制器121,第二Flash芯片14通过串行SCK线、MISO数据线连接SPI Flash控制器121;
SPI Flash控制器121通过第二片选信号线连接可编程逻辑器件11的第二端。
本实施例中,第一Flash芯片13和第二Flash芯片14共享串行SCK线和MISO数据线,并与SPI Flash控制器121相连,SPI Flash控制器12通过第二片选信号线连接可编程逻辑器件11,可编程逻辑器件11可以为FPGA或者EPLD,可编程逻辑器件11通过第一片选信号线连接第一Flash芯片13或者第二Flash芯片14,以便于通过可编程逻辑器件11确定处理器12启动时从哪个Flash芯片来启动。其中,第一Flash芯片13通过MOSI数据线连接SPI Flash控制器121,第二Flash芯片14不与MOSI数据线连接,即保证第二Flash芯片14禁止写操作,避免第二Flash芯片14的数据被破坏。
针对第二Flash芯片14而言,其通过烧写器烧写一份可正常启动的引导程序后,然后再贴片到设备板卡上,由于改进的硬件设计未连接MOSI数据线,软件将不能对其进行写操作,避免各种异常情况下的数据被破坏或版本不可用。通过本申请实施例的上述设计,可以保证第二Flash芯片14的始终可用性。
在本申请一可选实施例中,如图4所示,处理器12包括并行Flash接口122;
第一Flash芯片13、第二Flash芯片14通过数据总线和地址总线连接并行Flash接口122,第一Flash芯片13通过写使能信号线连接并行Flash接口122;
并行Flash接口122通过第二片选信号线连接可编程逻辑器件11的第二端。
第一Flash芯片13、第二Flash芯片14共享数据总线Data[0…8/16]和地址总线[0~19],且与分别与处理器12的并行Flash接口122相连,而并行Flash接口122通过第二片选信号线连接可编程逻辑器件11,可编程逻辑器件11连接第一Flash芯片13或者第二Flash芯片14,以便于决定处理器12从哪个Flash芯片来启动。WE(写使能信号线)仅与第一Flash芯片13相连,不与第二Flash芯片14连接,即备用Flash芯片禁止写操作,避免备用Flash芯片的数据被破坏。
针对第二Flash芯片14而言,其通过烧写器烧写一份可正常启动的引导程序后,然后再贴片到设备板卡上,由于改进的硬件设计未连接WE,软件将不能对其进行写操作,避免各种异常情况下的数据被破坏或版本不可用。通过本申请实施例的上述设计,可以保证第二Flash芯片14的始终可用性,且针对并行接口的主备Flash芯片设计进行了保护。
以上为本申请实施例提供的处理器启动系统,通过设置第二Flash芯片为禁止写操作的状态,可以避免任何异常情况导致的第二Flash芯片上的数据被损坏或不可用,在处理器通过第一Flash芯片启动失败时,可编程逻辑器件复位处理器,控制处理器通过第二Flash芯片进行启动,可以实现基于未经更改的原始数据保证处理器的正常启动,并在根据第二Flash芯片修复第一Flash芯片之后,可编程逻辑器件复位处理器,处理器通过第一Flash芯片启动,实现优先选用第一Flash芯片保证处理器的正常启动,且可以为后续可能存在的Flash芯片内的引导程序的升级做准备。
进一步的,可以实现通过预设时长内关闭指令的接收情况判定处理器是否正常启动;通过在处理器通过第一Flash芯片启动失败时,可编程逻辑器件记录第一信息,根据记录的第一信息,控制处理器通过第二Flash芯片启动,可以保证处理器基于原始数据正常启动;通过处理器控制第一Flash芯片内的引导程序进行升级,可以在处理器复位后保证处理器基于最新引导程序启动。
下面对本申请实施例提供的处理器启动方法进行介绍,本申请实施例提供的处理器启动方法应用于可编程逻辑器件,可编程逻辑器件的第一端通过第一片选信号线连接第一Flash芯片或者第二Flash芯片,可编程逻辑器件的第二端通过第二片选信号线连接处理器,第二Flash芯片为禁止写操作的状态,如图5所示,该方法包括:
步骤501、在处理器通过第一Flash芯片启动失败时,复位处理器。
处理器可以从第一Flash芯片或者第二Flash芯片上执行和加载引导程序,实现处理器的启动。这里的第一Flash芯片可以理解为主用Flash芯片,第二Flash芯片可以理解为备用Flash芯片。在可编程逻辑器件的第一端通过第一片选信号线连接第一Flash芯片时,可以基于可编程逻辑器件的第二端通过第二片选信号线与处理器的连接,实现处理器与第一Flash芯片的连接,在处理器从第一Flash芯片上执行和加载引导程序失败时,确定处理器通过第一Flash芯片启动失败,此时可编程逻辑器件可以控制处理器复位。可编程逻辑器件可以为可编程门阵列FPGA或者可擦可编程逻辑器件EPLD。
步骤502、控制第二Flash芯片通过第一片选信号线与处理器连接,以使处理器通过第二Flash芯片启动。
可编程逻辑器件在控制处理器复位之后,可以控制第二Flash芯片通过第一片选信号线与处理器连接,即,可编程逻辑器件的第一端通过第一片选信号线连接第二Flash芯片,以基于可编程逻辑器件的第二端通过第二片选信号线与处理器的连接,实现处理器与第二Flash芯片的连接。通过控制第二Flash芯片连接处理器,可以使得处理器从第二Flash芯片上执行和加载引导程序,实现处理器的启动。其中,第二Flash芯片上存放一份可以正常启动的文件,同时第二Flash芯片为禁止写操作的状态,保证了第二Flash芯片的始终可用,避免出现第二Flash芯片上的数据被损坏的情况。
步骤503、在第一Flash芯片根据第二Flash芯片内的引导程序修复后,控制第一Flash芯片通过第一片选信号线与处理器连接,并复位处理器。
在处理器通过第二Flash芯片启动成功后,处理器可以根据第二Flash芯片内的引导程序对第一Flash芯片进行修复,这里的修复即为将第二Flash芯片内的引导程序复制至第一Flash芯片,实现第一Flash芯片内引导程序的更新。在完成对第一Flash芯片的修复之后,可编程逻辑器件可以控制第一Flash芯片与处理器连接,即,可编程逻辑器件的第一端通过第一片选信号线连接第一Flash芯片,以基于可编程逻辑器件的第二端通过第二片选信号线与处理器的连接,实现处理器与第一Flash芯片的连接。在实现第一Flash芯片与处理器的连接之后,复位处理器,可以使得处理器基于第一Flash芯片实现启动,且可以为后续可能存在的Flash芯片上的内容的版本升级做准备,以对第一Flash芯片上的内容进行更新,保证第二Flash芯片不受影响。
本申请上述实施过程,通过设置第二Flash芯片为禁止写操作的状态,可以避免任何异常情况导致的第二Flash芯片上的数据被损坏或不可用,在处理器通过第一Flash芯片启动失败时,可编程逻辑器件复位处理器,控制处理器通过第二Flash芯片进行启动,可以实现基于未经更改的原始数据保证处理器的正常启动,并在处理器根据第二Flash芯片修复第一Flash芯片之后,可编程逻辑器件控制第一Flash芯片与处理器连接并复位处理器,使得处理器通过第一Flash芯片启动,以实现优先选用第一Flash芯片保证处理器的正常启动。
在本申请一可选实施例中,在处理器通过第一Flash芯片启动失败时,复位处理器,包括:
在处理器上电或复位的情况下,控制第一片选信号线连接第一Flash芯片,并启动定时器,以使处理器通过执行和加载第一Flash芯片内的引导程序进行启动;
若在预设时长内未接收到关闭定时器的关闭指令,确定处理器通过第一Flash芯片启动失败,复位处理器。
在处理器上电或者复位之后,可编程逻辑器件先启动,可编程逻辑器件在启动之后,优先将第一片选信号线切换至第一Flash芯片,实现可编程逻辑器件与第一Flash芯片的连接。在可编程逻辑器件与第一Flash芯片的连接时,启动定时器,以使得处理器通过执行和加载第一Flash芯片内的引导程序进行启动。
在处理器基于第一Flash芯片正常启动后,可以向可编程逻辑器件发送关闭指令,可编程逻辑器件根据关闭指令关闭定时器,其中,这里的定时器为可编程逻辑器件内部的定时器,且可编程逻辑器件在定时器启动后的预设时长内接收关闭指令。此时,可编程逻辑器件保持与第一Flash芯片的连接,为后续可能出现的引导程序的版本升级做准备,保证第一Flash芯片为进行版本升级的芯片。
若可编程逻辑器件在预设时长内未接收到关闭定时器的关闭指令,说明第一Flash芯片上的引导程序被破坏或者不可用(版本不可用),处理器通过第一Flash芯片启动失败,此时需要复位处理器。这里的预设时长的起始时刻即为启动定时器的时刻,例如,在启动定时器后,若5s内未接收到关闭指令,则确定处理器启动失败。
本申请上述实施过程,在可编程逻辑器件与第一Flash芯片连接时启动定时器,在预设时长内接收到关闭指令时确定处理器正常启动,在预设时长内未接收到关闭指令时确定处理器启动失败,实现基于预设时长内关闭指令的接收情况判定处理器是否正常启动。
在本申请一可选实施例中,在处理器通过第一Flash芯片启动失败时,还包括:
记录处理器通过第一Flash芯片启动失败的第一信息;
控制第二Flash芯片通过第一片选信号线与处理器连接,包括:
根据第一信息,控制第一片选信号线连接第二Flash芯片,并启动定时器,以使处理器通过执行和加载第二Flash芯片内的引导程序进行启动;
其中,在处理器对第二Flash芯片内的引导程序执行和加载成功后,根据接收到的关闭指令关闭定时器。
处理器在通过第一Flash芯片启动失败时,可编程逻辑器件可以记录处理器通过第一Flash芯片启动失败的第一信息。在控制第二Flash芯片通过第一片选信号线与处理器连接时,可以基于记录的第一信息确定处理器通过第一Flash芯片启动失败,因此可以控制第一片选信号线连接第二Flash芯片,实现处理器与第二Flash芯片的连接,在控制第一片选信号线连接第二Flash芯片时,启动定时器。由于第二Flash芯片上的数据不可更改,处理器可以通过执行和加载第二Flash芯片内的引导程序进行正常启动。
在处理器对第二Flash芯片内的引导程序执行和加载成功后,处理器可实现正常启动,此时处理器向可编程逻辑器件发送关闭指令,可编程逻辑器件在接收到关闭指令之后,可以基于接收到的关闭指令关闭定时器。
其中,由于第二Flash芯片作为备用Flash芯片,处理器在通过备用Flash芯片正常启动后,可以根据备用Flash芯片对第一Flash芯片(主用Flash芯片)进行修复,以保证第一Flash芯片的可用性。
本申请上述实施过程,在处理器通过第一Flash芯片启动失败时,可编程逻辑器件记录第一信息,根据记录的第一信息,控制第一片选信号线连接第二Flash芯片,可以使得处理器通过执行和加载第二Flash芯片内的引导程序进行启动,以保证处理器基于原始数据正常启动。
在本申请一可选实施例中,控制第一Flash芯片通过第一片选信号线与处理器连接,并复位处理器,包括:
控制第一片选信号线连接第一Flash芯片,以使第一Flash芯片连接处理器;
在第一Flash芯片连接处理器后,复位处理器,以使处理器通过执行和加载第一Flash芯片内的引导程序进行启动。
在控制第一Flash芯片连接处理器时,可以控制第一片选信号线连接第一Flash芯片,并基于可编程逻辑器件的第二端通过第二片选信号线与处理器的连接,实现处理器与第一Flash芯片的连接。在第一Flash芯片连接处理器后,可以复位处理器,以基于第一Flash芯片启动处理器,实现优先选用第一Flash芯片保证处理器的正常启动,且可以为后续可能存在的Flash芯片上的内容的版本升级做准备,以对第一Flash芯片上的内容进行更新,保证第二Flash芯片不受影响。
本申请上述实施过程,在处理器基于第二Flash芯片修复第一Flash芯片之后,可编程逻辑器件控制第一Flash芯片连接处理器,处理器基于第一Flash芯片进行启动,可以实现优先选用主用Flash芯片保证处理器的正常启动。
下面通过一整体实施流程对上述处理器的启动方法进行介绍,参见图6所示,包括如下步骤。
步骤601、处理器上电或者复位之后,可编程逻辑器件启动,控制第一片选信号线连接第一Flash芯片,并启动定时器,使得处理器通过第一Flash芯片启动。在启动成功时执行步骤602,否则执行步骤603。
步骤602、处理器向可编程逻辑器件发送关闭指令,可编程逻辑器件根据关闭指令关闭定时器,可编程逻辑器件保持与第一Flash芯片连接,为后续的第一Flash芯片的引导程序升级做准备。至此该流程结束。
步骤603、可编程逻辑器件记录处理器基于第一Flash芯片启动失败的第一信息,复位处理器。
步骤604、可编程逻辑器件启动,根据第一信息确定处理器基于第一Flash芯片启动失败,控制第一片选信号线连接第二Flash芯片,并启动定时器。
步骤605、处理器通过第二Flash芯片正常启动,向可编程逻辑器件发送关闭指令,可编程逻辑器件基于关闭指令关闭定时器。
步骤606、处理器根据第二Flash芯片的引导程序修复第一Flash芯片的引导程序。
步骤607、在处理器完成第一Flash芯片的修复后,可编程逻辑器件控制第一Flash芯片与处理器连接,并复位处理器。
上述实施流程,可编程逻辑器件首先控制第一Flash芯片连接处理器,在处理器通过第一Flash芯片启动失败时,可编程逻辑器件控制第二Flash芯片与处理器连接,在处理器通过第二Flash芯片启动成功且对第一Flash芯片进行修复后,控制第一Flash芯片与处理器连接,使得处理器优先选用第一Flash芯片实现启动。
在本申请一可选实施例中,在第一Flash芯片、第二Flash芯片内的引导程序与服务器中最新版本的引导程序的版本不一致时,还包括:
在处理器将服务器中最新版本的引导程序写入第一Flash芯片后,复位处理器,以使处理器通过执行和加载第一Flash芯片内最新版本的引导程序进行启动;
其中,服务器为处理器上运行的目标应用对应的应用服务器。
当需升级Flash芯片上的引导程序时,由于第二Flash芯片禁止写操作,因此仅可以对第一Flash芯片上的引导程序进行版本升级,通过设置第二Flash芯片为禁止写操作的状态,可以避免由于写操作出错或者要升级的内容存在错误导致的处理器无法启动的问题。
当第一Flash芯片上的引导程序与服务器中最新版本的引导程序的版本不一致,处理器将服务器中最新版本的引导程序写入第一Flash芯片,实现第一Flash芯片内的引导程序的升级,在升级完成后(即处理器完成写操作后),复位处理器,处理器可以通过执行和加载第一Flash芯片内最新版本的引导程序进行启动。其中,这里的服务器为应用服务器,且应用服务器所对应的目标应用在处理器上运行。
下面通过一具体实例对上述升级引导程序基于升级后的引导程序启动处理器的过程进行阐述,参见图7所示,可包括如下步骤。
步骤701、处理器基于第一Flash芯片正常启动。
步骤702、在第一Flash芯片内的引导程序与服务器中最新版本的引导程序的版本不一致时,处理器将服务器中最新版本的引导程序写入第一Flash芯片。
步骤703、可编程逻辑器件复位处理器。
步骤704、处理器通过执行和加载第一Flash芯片内最新版本的引导程序进行启动。
需要说明的是,针对处理器基于第一Flash芯片启动失败的情况,处理器可以首先通过第二Flash芯片进行启动,在启动成功后,处理器根据第二Flash芯片修复第一Flash芯片,在第一Flash芯片修复完成后,基于第一Flash芯片正常启动。若此时第一Flash芯片内的引导程序与服务器中最新版本的引导程序的版本不一致,处理器将服务器中最新版本的引导程序写入第一Flash芯片,实现第一Flash芯片内引导程序的升级,然后可编程逻辑器件复位处理器,处理器基于第一Flash芯片内最新版本的引导程序进行启动。
本申请上述实施过程,通过由处理器基于服务器中最新版本的引导程序对第一Flash芯片内的引导程序进行更新,并在完成更新后复位处理器,可以使得处理器基于最新版本的引导程序进行启动。
以上为本申请实施例提供的处理器启动方法的整体实施流程,通过设置第二Flash芯片为禁止写操作的状态,可以避免任何异常情况导致的第二Flash芯片上的数据被损坏或不可用,在处理器通过第一Flash芯片启动失败时,可编程逻辑器件复位处理器,控制处理器通过第二Flash芯片进行启动,可以实现基于未经更改的原始数据保证处理器的正常启动,并在处理器根据第二Flash芯片修复第一Flash芯片之后,可编程逻辑器件复位处理器,处理器通过第一Flash芯片启动,以实现优先选用第一Flash芯片保证处理器的正常启动,且可以为后续可能存在的Flash芯片内的引导程序的升级做准备。
进一步的,可以实现通过预设时长内关闭指令的接收情况判定处理器是否正常启动;通过在处理器通过第一Flash芯片启动失败时,可编程逻辑器件记录第一信息,根据记录的第一信息,控制处理器通过第二Flash芯片启动,可以保证处理器基于原始数据正常启动;通过处理器控制第一Flash芯片内的引导程序进行升级,可以在复位处理器后保证处理器基于最新引导程序启动。
基于上述阐述可知,本申请的核心思想为,备用Flash芯片存放一份可以正常启动的文件,同时处理器不可写备用Flash芯片上的数据,这样就保证了备用Flash芯片的始终可用,数据内容不会被破坏。当主用Flash芯片上的数据被破坏后,定时器超时,可编程逻辑器件控制处理器重启后,连接处理器与备用Flash芯片,使得处理器通过备用Flash芯片启动。另外,当处理器通过备用Flash芯片启动后,关闭定时器,可编程逻辑器件连接处理器与主用Flash芯片,这样当Flash芯片上的内容需要升级时,只会更新主用Flash芯片上的内容,备用Flash芯片不受影响,可以解决升级内容本身不正确,导致的主备Flash芯片同时升级后处理器不能正常启动的问题,以及备用Flash芯片上的数据损坏后无法启动处理器的问题。
本申请实施例提供的处理器启动系统及方法,通过硬件设计上的备用Flash芯片禁止写操作,来达到备用Flash芯片无论任何情况下都可以正常使用的目的。同时在软件设计上优化了处理器启动、主用Flash芯片故障修复以及主用Flash芯片引导程序升级,保证处理器无论任何情况下都可以正常启动。解决了现有技术存在的备用Flash芯片写出错、数据被破坏以及要升级的引导程序本身存在Bug导致处理器无法启动的问题,且在对SPIFlash控制器进行了主备保护的情况下,也兼顾了并行接口的Flash主备问题。
本领域内的技术人员应明白,本申请的实施例可提供为系统、方法。本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。
以上对本申请所提供的处理器启动系统及方法进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (12)

1.一种处理器启动系统,包括:可编程逻辑器件,处理器、第一Flash芯片以及第二Flash芯片,所述可编程逻辑器件的第一端通过第一片选信号线连接所述第一Flash芯片或者所述第二Flash芯片,所述可编程逻辑器件的第二端通过第二片选信号线连接所述处理器;其特征在于,所述第二Flash芯片为禁止写操作的状态,所述可编程逻辑器件用于:
在所述处理器通过所述第一Flash芯片启动失败时,复位所述处理器,控制所述第二Flash芯片通过所述第一片选信号线与所述处理器连接;
所述处理器用于通过所述第二Flash芯片启动,并在启动后根据所述第二Flash芯片内的引导程序对所述第一Flash芯片进行修复;
在所述第一Flash芯片修复后,所述可编程逻辑器件用于控制所述第一Flash芯片通过所述第一片选信号线与所述处理器连接,并复位所述处理器。
2.根据权利要求1所述的处理器启动系统,其特征在于,在所述处理器通过所述第一Flash芯片启动失败,所述可编程逻辑器件复位所述处理器时,所述可编程逻辑器件进一步用于:
在所述处理器上电或复位的情况下,控制所述第一片选信号线连接所述第一Flash芯片,并启动定时器,以使所述处理器通过执行和加载所述第一Flash芯片内的引导程序进行启动;
若在预设时长内未接收到关闭所述定时器的关闭指令,确定所述处理器通过所述第一Flash芯片启动失败,复位所述处理器。
3.根据权利要求1所述的处理器启动系统,其特征在于,在所述处理器通过所述第一Flash芯片启动失败时,所述可编程逻辑器件用于记录所述处理器通过所述第一Flash芯片启动失败的第一信息;
在控制所述第二Flash芯片通过所述第一片选信号线与所述处理器连接时,所述可编程逻辑器件用于根据所述第一信息,控制所述第一片选信号线连接所述第二Flash芯片,并启动定时器;
所述处理器用于通过与所述第二Flash芯片的连接,执行和加载所述第二Flash芯片内的引导程序进行启动;
在所述处理器对所述第二Flash芯片内的引导程序执行和加载成功后,所述可编程逻辑器件用于根据接收到的关闭指令关闭所述定时器。
4.根据权利要求1所述的处理器启动系统,其特征在于,在控制所述所述第一Flash芯片通过所述第一片选信号线与所述处理器连接,并复位所述处理器时,所述可编程逻辑器件用于控制所述第一片选信号线连接所述第一Flash芯片;
所述第一Flash芯片用于通过所述第一片选信号线连接所述处理器;
在所述第一Flash芯片连接所述处理器后,所述可编程逻辑器件用于复位所述处理器;
所述处理器用于执行和加载所述第一Flash芯片内的引导程序进行启动。
5.根据权利要求1所述的处理器启动系统,其特征在于,在所述第一Flash芯片、所述第二Flash芯片内的引导程序与服务器中最新版本的引导程序的版本不一致时,所述处理器用于将所述所述服务器中最新版本的引导程序写入所述第一Flash芯片;
所述可编程逻辑器件用于复位所述处理器;
所述处理器用于执行和加载所述第一Flash芯片内最新版本的引导程序进行启动;
其中,所述服务器为所述处理器上运行的目标应用对应的应用服务器。
6.根据权利要求1至5任一项所述的处理器启动系统,其特征在于,所述处理器包括串行外设接口SPI Flash控制器;
所述第一Flash芯片通过串行时钟SCK线、主机输入/从机输出MISO数据线、主机输出/从机输入MOSI数据线连接所述SPI Flash控制器,所述第二Flash芯片通过所述串行SCK线、所述MISO数据线连接所述SPI Flash控制器;
所述SPI Flash控制器通过所述第二片选信号线连接所述可编程逻辑器件的第二端。
7.根据权利要求1至5任一项所述的处理器启动系统,其特征在于,所述处理器包括并行Flash接口;
所述第一Flash芯片、所述第二Flash芯片通过数据总线和地址总线连接所述并行Flash接口,所述第一Flash芯片通过写使能信号线连接所述并行Flash接口;
所述并行Flash接口通过所述第二片选信号线连接所述可编程逻辑器件的第二端。
8.一种处理器启动方法,应用于可编程逻辑器件,所述可编程逻辑器件的第一端通过第一片选信号线连接第一Flash芯片或者第二Flash芯片,所述可编程逻辑器件的第二端通过第二片选信号线连接处理器,其特征在于,所述第二Flash芯片为禁止写操作的状态,所述方法包括:
在所述处理器通过所述第一Flash芯片启动失败时,复位所述处理器;
控制所述第二Flash芯片通过所述第一片选信号线与所述处理器连接,以使所述处理器通过所述第二Flash芯片启动;
在所述第一Flash芯片根据所述第二Flash芯片内的引导程序修复后,控制所述所述第一Flash芯片通过所述第一片选信号线与所述处理器连接,并复位所述处理器。
9.根据权利要求8所述的处理器启动方法,其特征在于,所述在所述处理器通过所述第一Flash芯片启动失败时,复位所述处理器,包括:
在所述处理器上电或复位的情况下,控制所述第一片选信号线连接所述第一Flash芯片,并启动定时器,以使所述处理器通过执行和加载所述第一Flash芯片内的引导程序进行启动;
若在预设时长内未接收到关闭所述定时器的关闭指令,确定所述处理器通过所述第一Flash芯片启动失败,复位所述处理器。
10.根据权利要求8所述的处理器启动方法,其特征在于,在所述处理器通过所述第一Flash芯片启动失败时,还包括:
记录所述处理器通过所述第一Flash芯片启动失败的第一信息;
所述控制所述第二Flash芯片通过所述第一片选信号线与所述处理器连接,包括:
根据所述第一信息,控制所述第一片选信号线连接所述第二Flash芯片,并启动定时器,以使所述处理器通过执行和加载所述第二Flash芯片内的引导程序进行启动;
其中,在所述处理器对所述第二Flash芯片内的引导程序执行和加载成功后,根据接收到的关闭指令关闭所述定时器。
11.根据权利要求8所述的处理器启动方法,其特征在于,所述控制所述所述第一Flash芯片通过所述第一片选信号线与所述处理器连接,并复位所述处理器,包括:
控制所述第一片选信号线连接所述第一Flash芯片,以使所述第一Flash芯片连接所述处理器;
在所述第一Flash芯片连接所述处理器后,复位所述处理器,以使所述处理器通过执行和加载所述第一Flash芯片内的引导程序进行启动。
12.根据权利要求8所述的处理器启动方法,其特征在于,在所述第一Flash芯片、所述第二Flash芯片内的引导程序与服务器中最新版本的引导程序的版本不一致时,还包括:
在所述处理器将所述所述服务器中最新版本的引导程序写入所述第一Flash芯片后,复位所述处理器,以使所述处理器通过执行和加载所述第一Flash芯片内最新版本的引导程序进行启动;
其中,所述服务器为所述处理器上运行的目标应用对应的应用服务器。
CN202110769734.6A 2021-07-07 2021-07-07 处理器启动系统及方法 Pending CN115599449A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110769734.6A CN115599449A (zh) 2021-07-07 2021-07-07 处理器启动系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110769734.6A CN115599449A (zh) 2021-07-07 2021-07-07 处理器启动系统及方法

Publications (1)

Publication Number Publication Date
CN115599449A true CN115599449A (zh) 2023-01-13

Family

ID=84840817

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110769734.6A Pending CN115599449A (zh) 2021-07-07 2021-07-07 处理器启动系统及方法

Country Status (1)

Country Link
CN (1) CN115599449A (zh)

Similar Documents

Publication Publication Date Title
KR101427755B1 (ko) Usb를 이용한 펌웨어 업그레이드 장치 및 방법
US8181007B2 (en) Electronic device and method for secure operating system update in embedded system
KR100506203B1 (ko) 부팅 및 부트 코드 업데이트 방법 및 시스템
TWI384367B (zh) 韌體更新系統及方法
JP3372964B2 (ja) コンピュータシステム
TWI382346B (zh) 保護雙基本輸出入系統程式之電腦系統及其控制方法
US5864698A (en) Disk based bios
US6317827B1 (en) Method and apparatus for fault tolerant flash upgrading
CN101373451B (zh) 保护双基本输出入系统程序的计算机系统及其控制方法
US9329959B2 (en) Device and method for performing regression testing on bios boot information
WO2020062887A1 (zh) 基于闪存微控制器的固件升级方法和系统及闪存微控制器
CN108304282B (zh) 一种双bios的控制方法及相关装置
US20090254898A1 (en) Converting a device from one system to another
TWI404054B (zh) 處理微碼程式更新錯誤的裝置及其方法
CN102023908A (zh) 一种引导程序备份方法及装置
US20100058316A1 (en) Updating Firmware with Multiple Processors
CN106775674B (zh) 一种基于通用引导加载程序的设备及其启动方法
WO2012071852A1 (zh) 引导程序的升级方法和装置
CN105468390B (zh) Boot在线升级装置及方法
CN115718610A (zh) 一种可靠的单片机应用程序更新的方法
JP2023035930A (ja) コンピュータシステム及びコンピュータシステムのブート方法
JP2005284902A (ja) 端末装置、その制御方法及び制御プログラム、ホスト装置、その制御方法及び制御プログラム、遠隔更新システム、方法及びプログラム
EP2733612A1 (en) Information processing device, method, and program
US20090138865A1 (en) Performing an operating system upgrade without multiple system interruptions
CN117130672A (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