CN118426845A - 嵌入式系统启动方法、装置、计算机设备及介质 - Google Patents

嵌入式系统启动方法、装置、计算机设备及介质 Download PDF

Info

Publication number
CN118426845A
CN118426845A CN202410519032.6A CN202410519032A CN118426845A CN 118426845 A CN118426845 A CN 118426845A CN 202410519032 A CN202410519032 A CN 202410519032A CN 118426845 A CN118426845 A CN 118426845A
Authority
CN
China
Prior art keywords
program
starting
subprogram
firmware
address
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
CN202410519032.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.)
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center 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 Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202410519032.6A priority Critical patent/CN118426845A/zh
Publication of CN118426845A publication Critical patent/CN118426845A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明涉及计算机技术领域,公开了嵌入式系统启动方法、装置、计算机设备及介质,该方法包括:当检测到设备上电后,运行启动引导程序,检测启动程序子程序的固件程序包是否存在;确定该包中的启动程序子程序有效,跳转至norflash起始地址运行该程序;将与该程序对应的PC指针的地址修改至启动程序的运行地址;生成启动程序;在预配置存储卡中运行启动程序,加载内核映像文件和文件系统完成嵌入式系统启动。保证启动程序的运行适用于对存储空间要求较高的场景。当norfalsh设备发生故障时,灵活切换为其他启动的方式,降低固件程序对于启动方式的依赖,保证系统成功启动。

Description

嵌入式系统启动方法、装置、计算机设备及介质
技术领域
本发明涉及计算机技术领域,具体涉及嵌入式系统启动方法、装置、计算机设备及介质。
背景技术
高级精简指令集计算机(Advanced Reduced Instruction Set ComputingMachine,简称ARM)处理器广泛应用于各个行业,如在服务器领域,ARM处理器作为主板管理控制器(Baseboard Management Controller,简称BMC)监控和管理服务器。随着ARM处理器设计杂度的提高,带来了嵌入式片上系统(System on a Chip,简称SOC)固件启动方式的多样性。其中一种启动方式例如是通过norflash完成启动,虽然可以提高启动效率,但是由于存储空间有限,对于存储空间要求较高的场景不适用。
发明内容
有鉴于此,本发明提供了一种嵌入式系统启动方法、装置、计算机设备及介质,以解决norflash不适用于对存储空间要求较高的场景的问题。
第一方面,本发明提供了一种嵌入式系统启动方法,该方法包括:
当检测到设备上电后,运行启动引导程序,用以检测norflash中启动程序子程序的固件程序包是否存在,其中,启动程序子程序的固件程序包中包括启动程序子程序;
当确定norflash中启动程序子程序的固件程序包存在,且确定启动程序子程序的固件程序包中的启动程序子程序有效时,跳转至norflash起始地址运行启动程序子程序;
将与启动程序子程序对应的PC指针的地址修改至启动程序的运行地址,其中,启动程序的运行地址,以及启动程序子程序的链接地址均为SRAM中的同一地址;
运行启动程序子程序生成启动程序;
在预配置存储卡中运行启动程序,加载内核映像文件和文件系统,用以完成嵌入式系统启动,其中,预配置存储卡包括如下中的一种或多种:嵌入式多媒体卡(EmbeddedMultiMediaCard,简称EMCC)或安全数字卡(Secure Digital,简称SD)。
本发明提供的一种嵌入式系统启动方法,具有如下优点:
当检测设备上电后,运行BootRoom程序,用以检测norfalsh中启动程序子程序的固件程序包是否存在,当确定norflash中启动程序子程序的固件程序包存在,且确定启动程序子程序的固件程序包中的启动程序子程序有效时,跳转至norflash起始地址运行启动程序子程序。启动程序子程序的启动依然是在norflash中,充分利用norflash可以提高启动效率的优势。但是,将启动程序子程序对应的PC指针的地址强制修改至启动程序的运行地址,其中,启动程序的运行地址,以及启动程序子程序的链接地址均为SRAM中的同一地址,也即是说启动程序子程序的链接地址和启动程序的运行地址保持一致,都在SRAM中,而后在预配置存储卡中运行启动程序,加载内核映像文件和文件系统,用以完成嵌入式系统启动。此时可以保证启动程序的运行可以适用于对存储空间要求较高的场景。且地址保持一致,当norfalsh设备发生故障时,也可以灵活切换为其他在SRAM中启动的方式完成启动,例如通过预配置存储卡的方式完成启动,该方法降低了固件程序对于启动方式的依赖,对于产品的存储介质选择提供了多种可能性,最重要的是可以保证系统成功启动。
在一种可选的实施方式中,当norflash中启动程序子程序的固件程序包不存在或norflash中的启动程序子程序无效时,该方法还包括:
确定预配置存储卡中是否存在启动程序子程序的固件程序包;
当确定预配置存储卡中存在启动程序子程序的固件程序包,且确定启动程序子程序的固件程序包中的启动程序子程序有效时,加载启动程序子程序至SRAM的起始地址;
运行启动程序子程序生成启动程序;
在预配置存储卡中运行启动程序,加载内核映像文件和文件系统,用以完成嵌入式系统启动;
拷贝启动程序子程序的固件程序包至norflash中;
周期性检测启动程序子程序是否存在更新;
当确定启动程序子程序存在更新时,按照固件更新策略同时更新预配置存储卡和norflash中的启动程序子程序,其中,固件更新策略中的控制更新因素包括如下中的一种或多种:更新时间计划、更新紧急程度。
具体的,当norflash中启动程序子程序的固件程序包不存在或norflash中的启动程序子程序无效时,可以确定预配置存储卡中是否存在启动程序子程序的固件程序包。当确定预配置存储卡中存在启动程序子程序的固件程序包,且确定启动程序子程序的固件程序包中的启动程序子程序有效时,加载启动程序子程序至SRAM的起始地址,完成后续一列的启动步骤。同时,还需要将启动程序子程序的固件程序包拷贝至norflash中。该步骤的用意在于启动程序子程序的固件程序包的搬运操作只执行一次,后续还是可以从norflash中完成启动,减少搬运启动程序子程序的固件程序包的频次,提高后续启动效率。在此之后,还需要周期性的检测启动程序子程序是否存在更新,如果存在更新时,则需要按照固件更新策略同时更新预配置存储卡和norflash中的启动程序子程序,以防止某个固件存储介质发生故障时,可以从其他固件存储介质中获取到最新的启动程序子程序。
在一种可选的实施方式中,当确定启动程序子程序存在更新时,按照固件更新策略同时更新预配置存储卡和norflash中的启动程序子程序的固件程序包括:
获取待更新内容;
当固件更新策略中的控制更新因素包括更新时间计划时,按照更新时间计划中的第一更新时间,定期根据待更新内容对预配置存储卡和norflash中的启动程序子程序进行更新;
或者,当固件更新策略中的控制更新因素包括更新紧急程度时,将待更新内容与预配置的更新紧急等级进行匹配,确定待更新内容的更新紧急等级;
根据更新紧急等级,确定待更新内容的第二更新时间;
根据第二更新时间和待更新内容,完成对预配置存储卡和norflash中的启动程序子程序的更新。
具体的,不同的应用场景,对于启动程序子程序的更新策略不同,例如有些可能需要在空闲时间更新,有些则需要根据待更新内容的紧急程度确定是否需要立即更新。所以,需要判断固件更新策略中的控制更新因素,进而根据控制更新因素确定对启动程序子程序的更新方式,最终按照规定的更新方式完成对预配置存储卡和norflash中的启动程序子程序的更新。
在一种可选的实施方式中,当确定预配置存储卡中未存在启动程序子程序的固件程序包,或确定预配置存储卡中的启动程序子程序无效时,方法还包括:
通过预设串口加载启动程序子程序的固件程序包至SRAM的起始地址;
运行启动程序子程序生成启动程序;
在预配置存储卡中运行启动程序,加载内核映像文件和文件系统,用以完成嵌入式系统启动。
具体的,当确定预配置存储卡中未存在启动程序子程序的固件程序包,或确定预配置存储卡中的启动程序子程序无效时,则说明当前norflash和预配置存储卡中的启动方式都不太适合当前应用场景,则可以灵活切换为预设串口加载启动程序子程序并完成后续的一系列启动操作。通过上述方式,保证多种启动方式同时存在,根据实际情况进行灵活切换,降低了固件程序对于启动方式的依赖,有效保证系统成功启动。而且启动程序的运行地址,以及启动程序子程序的链接地址均为SRAM中的同一地址,使得固件的不同启动方式的维护复杂度大大降低。
在一种可选的实施方式中,通过预设串口加载启动程序子程序的固件程序包至SRAM的起始地址之后,方法还包括:
分别拷贝预设串口加载的启动程序子程序的固件程序包至norflash以及预配置存储卡中。
具体的,如前文所介绍的,将启动程序子程序的固件程序包拷贝至norflash中的目的都是希望后期针对启动程序子程序的启动过程实在norflash中完成,避免启动程序子程序因为串口烧录或者搬运而提高启动时间,降低启动效率的情况发生。而同时将启动程序子程序拷贝预配置存储卡中,则是为了多增加一份备份,并可以实现多种启动方式的灵活切换。
在一种可选的实施方式中,启动程序子程序的固件程序包中还包括:启动程序子程序的签名公钥和签名;验证启动程序子程序是否有效,包括:
对启动程序子程序进行哈希计算,获取第一哈希值;
利用签名公钥对签名进行解签,获取与启动程序子程序对应的第二哈希值;
将第一哈希值和第二哈希值进行比较;
当确定第一哈希值和第二哈希值相同时,确定启动程序子程序有效;
否则,当确定第一哈希值和第二哈希值不同时,确定启动程序子程序无效。
在一种可选的实施方式中,更新时间计划中的第一更新时间根据设备的运行状态和性能指标确定。
具体的,通过监测设备的运行状态和性能指标,进而可以选择在设备处于空闲状态或性能负载较低时进行固件更新,避免了在设备处于高负载或用户操作频繁时进行更新可能带来的干扰和影响。还可以减少更新过程中可能出现的错误和中断,提高更新的成功率。与此同时,也能够最大程度地减少对用户正常使用的干扰。
第二方面,本发明提供了一种嵌入式系统启动装置,该装置包括:
检测模块,用于检查设备是否上电;
处理模块,用于检测模块检测到设备上电后,运行启动引导程序,用以检测norflash中启动程序子程序的固件程序包是否存在,其中,启动程序子程序的固件程序包中包括启动程序子程序;
验证模块,用于当确定norflash中启动程序子程序的固件程序包存在时,验证启动程序子程序的固件程序包中的启动程序子程序是否有效;
地址跳转模块,用于当确定norflash中启动程序子程序的固件程序包存在,且确定启动程序子程序的固件程序包中的启动程序子程序有效时,跳转至norflash起始地址运行启动程序子程序;
地址修改模块,用于将与启动程序子程序对应的PC指针的地址修改至启动程序的运行地址,其中,启动程序的运行地址,以及启动程序子程序的链接地址均为SRAM中的同一地址;
处理模块,还用于运行启动程序子程序生成启动程序;在预配置存储卡中运行启动程序,加载内核映像文件和文件系统,用以完成嵌入式系统启动,其中,预配置存储卡包括如下中的一种或多种:EMCC或SD。
本发明提供的一种嵌入式系统启动装置,具有如下优点:
当检测设备上电后,运行BootRoom程序,用以检测norfalsh中启动程序子程序的固件程序包是否存在,当确定norflash中启动程序子程序的固件程序包存在,且确定启动程序子程序的固件程序包中的启动程序子程序有效时,跳转至norflash起始地址运行启动程序子程序。启动程序子程序的启动依然是在norflash中,充分利用norflash可以提高启动效率的优势。但是,将启动程序子程序对应的PC指针的地址强制修改至启动程序的运行地址,其中,启动程序的运行地址,以及启动程序子程序的链接地址均为SRAM中的同一地址,也即是说启动程序子程序的链接地址和启动程序的运行地址保持一致,都在SRAM中,而后在预配置存储卡中运行启动程序,加载内核映像文件和文件系统,用以完成嵌入式系统启动。此时可以保证启动程序的运行可以适用于对存储空间要求较高的场景。且地址保持一致,当norfalsh设备发生故障时,也可以灵活切换为其他在SRAM中启动的方式完成启动,例如通过预配置存储卡的方式完成启动,该方法降低了固件程序对于启动方式的依赖,对于产品的存储介质选择提供了多种可能性,最重要的是可以保证系统成功启动。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的嵌入式系统启动方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的嵌入式系统启动方法。
第五方面,本发明提供了一种计算机程序产品,包括计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的嵌入式系统启动方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种嵌入式系统启动方法的流程示意图;
图2是本发明实施例提供的另一种嵌入式系统启动方法的流程示意图;
图3是本发明实施例提供的另一种嵌入式系统启动方法的流程示意图;
图4是本发明实施例提供的另一种嵌入式系统启动方法的流程示意图;
图5是本发明提供的嵌入式系统启动方法的整体流程示意图;
图6是本发明实施例提供的一种嵌入式系统启动装置结构框图;
图7是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
ARM处理器广泛应用于各个行业,如在服务器领域,ARM处理器作为BMC监控和管理服务器。随着ARM处理器设计杂度的提高,带来了SOC固件启动方式的多样性。其中一种启动方式例如是通过norflash完成启动,虽然可以提高启动效率,但是由于存储空间有限,对于存储空间要求较高的场景不适用。且norflash一旦损坏,也很难完成设备启动。
相关技术中虽然也包括支持从EMMC/SD卡启动。该方式需要启动引导将启动程序子程序固件搬运到SRAM地址空间,启动程序子程序需要链接起始地址为芯片内部SRAM地址空间。该方式虽然存储空间变大了,因为涉及程序的搬运,对于启动时间有所增加。
又例如包括支持从uart启动。该方式需要启动引导将启动程序子程序固件通过串口传送到内部SRAM地址空间,启动程序子程序需要链接起始地址为芯片内部SRAM地址空间。上述方式虽然可以保证无存储启动成功,但是每次需要借助串口工具烧录程序,使用不便。
本发明实施例,提供了一种嵌入式系统启动实施例,需要说明的是,在附图的流程图示出的步骤可以在包括诸如一组计算机可执行指令的计算机系统(计算机设备)中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种嵌入式系统启动方法,可用于上述的终端机设备,如手机、平板电脑等,图1是本发明实施例提供的一种嵌入式系统启动方法的流程示意图,如图1所示,该流程包括如下步骤:
步骤S101,当检测到设备上电后,运行启动引导程序,用以检测norflash中启动程序子程序的固件程序包是否存在。
其中,启动引导程序例如是Boot-Rom,启动程序子程序的固件程序包中包括启动程序子程序,启动程序例如为u-boot(下文中启动程序皆以u-boot为例进行说明),启动程序子程序例如为u-boot-spl(下文中启动程序子程序皆以u-boot为例进行说明)。
具体的,设备上电后,运行BootRoom程序进行基本硬件初始化后,首先检测的就是norflash中的u-boot-spl固件程序包是否存在,其主要原因在于norflash中的启动速度最快,效率最高。所以,首先判断norflash中是否存在u-boot-spl固件程序包。
步骤S102,当确定norflash中启动程序子程序的固件程序包存在,且确定启动程序子程序的固件程序包中的启动程序子程序有效时,跳转至norflash起始地址运行启动程序子程序。
具体的,当确定norflash中u-boot-spl固件程序包存在,且确定u-boot-spl固件程序包中的u-boot-spl固件程序有效时,则可以在norflash中运行u-boot-spl固件程序。因为u-boot-spl固件程序的运行不需要运行地址和链接地址在同一存储空间,因此u-boot-spl固件程序的链接地址不存在norflash中,而是存储在SRAM中。具体原由将在下文中做详细介绍。
步骤S103,将与启动程序子程序对应的PC指针的地址修改至启动程序的运行地址。
具体的,因为norflash中的存储空间比较小,不能将所有的启动程序都加载到norflash中运行,而且还需要预防norflash发生故障时,处于被动状态无法灵活切换为其他方式启动。因此,在本申请实施例中,将u-boot-spl固件程序的链接地址存放于SRAM中。同时,考虑到在运行uboot时,需要u-boot-spl固件程序的链接地址和uboot的运行地址一致,因此,需要将与u-boot-spl固件程序对应的PC指针的地址修改至uboot的运行地址,其中,uboot的运行地址,以及u-boot-spl固件程序的链接地址均为SRAM中的同一地址。
步骤S104,运行启动程序子程序生成启动程序。
步骤S105,在预配置存储卡中运行启动程序,加载内核映像文件和文件系统,用以完成嵌入式系统启动。
具体的,为了克服norflash自身的弊端,可以将uboot在预配置存储卡中运行,并通过uboot加载内核映像文件和文件系统,用以完成嵌入式系统启动其中,预配置存储卡包括如下中的一种或多种:EMCC卡或SD卡。内核映像文件例如为kernel文件。
本实施例提供的嵌入式系统启动方法,当检测设备上电后,运行BootRoom程序,用以检测norfalsh中启动程序子程序的固件程序包是否存在,当确定norflash中启动程序子程序的固件程序包存在,且确定启动程序子程序的固件程序包中的启动程序子程序有效时,跳转至norflash起始地址运行启动程序子程序。启动程序子程序的启动依然是在norflash中,充分利用norflash可以提高启动效率的优势。但是,将启动程序子程序对应的PC指针的地址强制修改至启动程序的运行地址,其中,启动程序的运行地址,以及启动程序子程序的链接地址均为SRAM中的同一地址,也即是说启动程序子程序的链接地址和启动程序的运行地址保持一致,都在SRAM中,而后在预配置存储卡中运行启动程序,加载内核映像文件和文件系统,用以完成嵌入式系统启动。此时可以保证启动程序的运行可以适用于对存储空间要求较高的场景。且地址保持一致,当norfalsh设备发生故障时,也可以灵活切换为其他在SRAM中启动的方式完成启动,例如通过预配置存储卡的方式完成启动,该方法降低了固件程序对于启动方式的依赖,对于产品的存储介质选择提供了多种可能性,最重要的是可以保证系统成功启动。
在本实施例中提供了一种嵌入式系统启动方法,可用于上述的移动终端,如手机、平板电脑等,图2是本发明实施例提供的另一种嵌入式系统启动方法的流程示意图,如图2所示,当norflash中启动程序子程序的固件程序包不存在或norflash中的启动程序子程序无效时,该方法流程还包括如下步骤:
步骤S201,确定预配置存储卡中是否存在启动程序子程序的固件程序包。
步骤S202,当确定预配置存储卡中存在启动程序子程序的固件程序包,且确定启动程序子程序的固件程序包中的启动程序子程序有效时,加载启动程序子程序至SRAM的起始地址。
具体的,如前文,因为之前已经将与u-boot-spl固件程序对应的PC指针的地址修改至uboot的运行地址,使得u-boot-spl的链接地址和uboot的运行地址保持一致,都在SRAM中。所以,当norflash中u-boot-spl固件程序包不存在或norflash中的u-boot-spl固件程序无效时,可以直接切换为通过预配置存储卡完成启动操作。不过,在切换为该方式启动之前,同样需要确定预配置存储卡中是否存在u-boot-spl固件程序包,以及在确定预配置存储卡中存在u-boot-spl固件程序包时,确定u-boot-spl固件程序包中的u-boot-spl固件程序是否有效。并且,只有在确定预配置存储卡中存在u-boot-spl固件程序包,且确定u-boot-spl固件程序包中的u-boot-spl固件程序有效时,才可以将启动方式从norflash启动切换为预配置存储卡启动。
其中,如果预配置存储卡中存在u-boot-spl固件程序包,则该u-boot-spl固件程序包是通过加载预配置存储卡分区中u-boot-spl固件程序包到SRAM起始地址的。
步骤S203,运行启动程序子程序生成启动程序。
步骤S204,在预配置存储卡中运行启动程序,加载内核映像文件和文件系统,用以完成嵌入式系统启动。
步骤S203和步骤S204中的操作同前述实施例中的操作过程,具体可以参见前文,因此这里不再赘述。
步骤S205,拷贝启动程序子程序的固件程序包至norflash中。
具体的,将u-boot-spl固件程序至norflash中。该步骤的用意在于u-boot-spl的搬运操作只执行一次,后续还是可以从norflash中完成启动,减少搬运u-boot-spl的频次,提高后续启动效率。
步骤S206,周期性检测启动程序子程序是否存在更新。
步骤S207,当确定启动程序子程序存在更新时,按照固件更新策略同时更新预配置存储卡和norflash中的启动程序子程序。
其中,固件更新策略中的控制更新因素包括如下中的一种或多种:更新时间计划、更新紧急程度。
具体的,在日常应用中,u-boot-spl固件程序可能会存在更新操作,因此需要周期性的检测u-boot-spl固件程序是否存在更新,并在确定u-boot-spl固件程序存在更新时,按照固件更新策略同时更新预配置存储卡和norflash中的u-boot-spl固件程序。以此来防止某个固件存储介质发生故障时,可以从其他固件存储介质中获取到最新的u-boot-spl固件程序。
在一个可选的实施方式中,确定启动程序子程序存在更新时,按照固件更新策略同时更新预配置存储卡和norflash中的启动程序子程序的固件程序包括如下方法步骤:
步骤a1,获取待更新内容。
具体的,待更新内容可以是一个新的启动程序子程序代码,也可以通过固件差分方式获取的部分启动程序子程序代码。
步骤a2,当固件更新策略中的控制更新因素包括更新时间计划时,按照更新时间计划中的第一更新时间,定期根据待更新内容对预配置存储卡和norflash中的启动程序子程序进行更新。
具体的,更新时间例如包括每天、每个月或者每个季度等,可以根据实际情况确定。当达到规定的更新时间时,则定期获取待更新内容,并根据待更新内容对预配置存储卡和norflash中的启动程序子程序进行更新。
进一步可选的,更新时间计划中的第一更新时间除了可以是上述规律性的固定时间以外,还可以根据设备的运行状态和性能指标实时确定。
例如,通过监测设备的运行状态和性能指标,进而选择在设备处于空闲状态或性能负载较低时进行固件更新。由此,可以避免在设备处于高负载或用户操作频繁时进行更新可能带来的干扰和影响。还可以减少更新过程中可能出现的错误和中断,提高更新的成功率。与此同时,也能够最大程度地减少对用户正常使用的干扰。
或者,
步骤a3,当固件更新策略中的控制更新因素包括更新紧急程度时,将待更新内容与预配置的更新紧急等级进行匹配,确定待更新内容的更新紧急等级。
步骤a4,根据更新紧急等级,确定待更新内容的第二更新时间。
步骤a5,根据第二更新时间和待更新内容,完成对预配置存储卡和norflash中的启动程序子程序的更新。
具体的,在某些特定的应用场景中,可能需要判断待更新内容的重要程度,例如如果原有的启动程序子程序存在一定的故障,而且故障比较严重。那么待更新内容将会非常重要,需要立即更新。或者,更新的内容对于业务的影响不是很大,则可以不用立即更新,而是找一个设备空闲时间完成更新。
因此,基于待更新内容的不同,可以先判断更新紧急等级,然后根据更新紧急等级,确定第二更新时间,并根据第二更新时间和待更新内容,完成对预配置存储卡和norflash中的启动程序子程序的更新。
也即是,不同的应用场景,对于启动程序子程序的更新策略不同,例如有些可能需要在空闲时间更新,有些则需要根据待更新内容的紧急程度确定是否需要立即更新。需要判断固件更新策略中的控制更新因素,进而根据控制更新因素确定对启动程序子程序的更新方式,最终按照规定的更新方式完成对预配置存储卡和norflash中的启动程序子程序的更新。
在本实施例中提供了一种嵌入式系统启动方法,可用于上述的移动终端,如手机、平板电脑等,图3是本发明实施例提供的另一种嵌入式系统启动方法的流程示意图,如图3所示,当确定预配置存储卡中未存在启动程序子程序的固件程序包,或确定预配置存储卡中的启动程序子程序无效时,方法流程还包括如下步骤:
步骤S301,通过预设串口加载启动程序子程序的固件程序包至SRAM的起始地址。
具体的,该方式就是当前两种方式都不能顺利完成系统启动时,则可以灵活切换为第三种启动方式,也即是通过预设串口加载u-boot-spl固件程序包至SRAM的起始地址。其中,预设串口例如可以包括但不限于uart。
步骤S302,运行启动程序子程序生成启动程序。
步骤S303,在预配置存储卡中运行启动程序,加载内核映像文件和文件系统,用以完成嵌入式系统启动。
步骤S302和步骤S303中的内容均与前文中已经介绍的内容相同或者类似,因此这里不再过多赘述。
在一个可选的实施方式中,通过预设串口加载启动程序子程序的固件程序包至SRAM的起始地址之后,方法还包括:
分别拷贝启动程序子程序的固件程序包至norflash以及预配置存储卡中。
具体的,当确定预配置存储卡中未存在u-boot-spl固件程序包,或确定预配置存储卡中的u-boot-spl固件程序无效时,则说明当前norflash和预配置存储卡中的启动方式都不太适合当前应用场景,则可以灵活切换为预设串口加载u-boot-spl固件程序并完成后续的一系列启动操作。通过上述方式,保证多种启动方式同时存在,根据实际情况进行灵活切换,降低了固件程序对于启动方式的依赖,有效保证系统成功启动。而且uboot的运行地址,以及u-boot-spl固件程序的链接地址均为SRAM中的同一地址,保证固件的不同启动方式的维护复杂度大大降低。将u-boot-spl固件程序包拷贝至norflash中的目的都是希望后期针对u-boot-spl的启动过程实在norflash中完成,避免u-boot-spl固件程序因为串口烧录或者搬运而提高启动时间,降低启动效率的情况发生。而同时将u-boot-spl固件程序拷贝预配置存储卡中,则是为了多增加一份备份,并可以实现多种启动方式的灵活切换。
在本实施例中提供了一种嵌入式系统启动方法,可用于上述的移动终端,如手机、平板电脑等,图4是本发明实施例提供的另一种嵌入式系统启动方法的流程示意图,在前述任意实施例的基础上,启动程序子程序的固件程序包中还包括:启动程序子程序的签名公钥和签名;验证启动程序子程序是否有效,包括如下方法步骤,具体参加图4所示:
步骤S401,对启动程序子程序进行哈希计算,获取第一哈希值。
步骤S402,利用签名公钥对签名进行解签,获取与启动程序子程序对应的第二哈希值。
具体的,签名公钥例如为RSA2048公钥。通过RSA2048公钥对签名进行解签名,获取与启动程序子程序对应的第二哈希值。
步骤S403,将第一哈希值和第二哈希值进行比较。
步骤S404,当确定第一哈希值和第二哈希值相同时,确定启动程序子程序有效。
或者,
步骤S405,当确定第一哈希值和第二哈希值不同时,确定启动程序子程序无效。
图5中示意出上述实施例的整体实现流程示意图,因为该附图中的内容均已在前文中做了详细介绍,因此这里不在过多介绍说明。
进一步可选的,在上述任一实施例的基础上,在获取待更新内容时,可以实现从远程服务器下载最新的启动程序子程序,或者待更新的部分内容。而在固件更新过程中,需要记录每个固件版本的详细信息,包括但不限于版本号、更新说明、作者等等。如此以来,即使后续某个版本出现问题时,也可以最快回滚到之前的版本,确保系统稳定性。
进一步可选的,在上述实施例的基础上,该方法还可以包括,周期性统计每一种启动方式启动成功的次数。如果在任一周期内norflash启动成功次数低于其他方式启动成功次数时,则自检测或发出告警信息,用以尽快识别norflash中是否存在某些异常导致norflash启动失败,例如包括数据损坏或丢失、编程错误、阴道选项设置错误、芯片兼容性问题、芯片损坏或故障等。及时发现问题并解决问题后,方便后续首先还是通过norflash启动该启动程序子程序,提高启动效率。
再者,该方法还可以包括周期性统计每一种启动方式的启动失败的次数,并在当任一种启动方式启动失败的次数大于或者等于预设次数阈值时,则自检测或者发出告警信息,用以检测该启动方式启动失败的原因。
在本实施例中还提供了一种嵌入式系统启动装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种嵌入式系统启动装置,如图6示,包括:检测模块601、处理模块602、验证模块603,以及地址修改模块604。
检测模块601,用于检查设备是否上电;
处理模块602,用于检测模块601检测到设备上电后,运行启动引导程序,用以检测norflash中启动程序子程序的固件程序包是否存在,其中,启动程序子程序的固件程序包中包括启动程序子程序;
验证模块603,用于当确定norflash中启动程序子程序的固件程序包存在时,验证启动程序子程序的固件程序包中的启动程序子程序是否有效;
地址跳转模块,用于当确定norflash中启动程序子程序的固件程序包存在,且确定启动程序子程序的固件程序包中的启动程序子程序有效时,跳转至norflash起始地址运行启动程序子程序;
地址修改模块604,用于将与启动程序子程序对应的PC指针的地址修改至启动程序的运行地址,其中,启动程序的运行地址,以及启动程序子程序的链接地址均为SRAM中的同一地址;
处理模块602,还用于运行启动程序子程序生成启动程序;在预配置存储卡中运行启动程序,加载内核映像文件和文件系统,用以完成嵌入式系统启动。
在一个可选的实施方式中,装置还包括:拷贝模块605;
当norflash中启动程序子程序的固件程序包不存在或norflash中的启动程序子程序无效时,处理模块602,还用于:
确定预配置存储卡中是否存在启动程序子程序的固件程序包;当确定预配置存储卡中存在启动程序子程序的固件程序包,且确定启动程序子程序的固件程序包中的启动程序子程序有效时,加载启动程序子程序至SRAM的起始地址;运行启动程序子程序生成启动程序;在预配置存储卡中运行启动程序,加载内核映像文件和文件系统,用以完成嵌入式系统启动;
拷贝模块605,用于拷贝启动程序子程序的固件程序包至norflash中;
检测模块601,还用于周期性检测启动程序子程序是否存在更新;
处理模块602,还用于当确定启动程序子程序存在更新时,按照固件更新策略同时更新预配置存储卡和norflash中的启动程序子程序,其中,固件更新策略中的控制更新因素包括如下中的一种或多种:更新时间计划、更新紧急程度。
在一个可选的实施方式中,处理模块602,具体用于:
获取待更新内容;
当固件更新策略中的控制更新因素包括更新时间计划时,按照更新时间计划中的第一更新时间,定期根据待更新内容对预配置存储卡和norflash中的启动程序子程序进行更新;
或者,当固件更新策略中的控制更新因素包括更新紧急程度时,将待更新内容与预配置的更新紧急等级进行匹配,确定待更新内容的更新紧急等级;
根据更新紧急等级,确定待更新内容的第二更新时间;
根据第二更新时间和待更新内容,完成对预配置存储卡和norflash中的启动程序子程序的更新。
在一个可选的实施方式中,当确定预配置存储卡中未存在启动程序子程序的固件程序包,或确定预配置存储卡中的启动程序子程序无效时,处理模块602,还用于通过预设串口加载启动程序子程序的固件程序包至SRAM的起始地址;
运行启动程序子程序生成启动程序;
在预配置存储卡中运行启动程序,加载内核映像文件和文件系统,用以完成嵌入式系统启动。
在一个可选的实施方式中,拷贝模块605,还用于分别拷贝启动程序子程序的固件程序包至norflash以及预配置存储卡中。
在一个可选的实施方式中,启动程序子程序的固件程序包中还包括:启动程序子程序的签名公钥和签名;验证模块603,具体用于:
对启动程序子程序进行哈希计算,获取第一哈希值;
利用签名公钥对签名进行解签,获取与启动程序子程序对应的第二哈希值;
将第一哈希值和第二哈希值进行比较;
当确定第一哈希值和第二哈希值相同时,确定启动程序子程序有效;
否则,当确定第一哈希值和第二哈希值不同时,确定启动程序子程序无效。
在一种可选的实施方式中,更新时间计划中的第一更新时间根据设备的运行状态和性能指标确定。
本实施例中的嵌入式系统启动装置是以功能模块的形式来呈现,这里的模块是指专用集成电路(Application Specific Integrated Circuit,简称ASIC),执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例提供的一种嵌入式系统启动装置,当检测设备上电后,运行BootRoom程序,用以检测norfalsh中启动程序子程序的固件程序包是否存在,当确定norflash中启动程序子程序的固件程序包存在,且确定启动程序子程序的固件程序包中的启动程序子程序有效时,跳转至norflash起始地址运行启动程序子程序。启动程序子程序的启动依然是在norflash中,充分利用norflash可以提高启动效率的优势。但是,将启动程序子程序对应的PC指针的地址强制修改至启动程序的运行地址,其中,启动程序的运行地址,以及启动程序子程序的链接地址均为SRAM中的同一地址,也即是说启动程序子程序的链接地址和启动程序的运行地址保持一致,都在SRAM中,而后在预配置存储卡中运行启动程序,加载内核映像文件和文件系统,用以完成嵌入式系统启动。此时可以保证启动程序的运行可以适用于对存储空间要求较高的场景。且地址保持一致,当norfalsh设备发生故障时,也可以灵活切换为其他在SRAM中启动的方式完成启动,例如通过预配置存储卡的方式完成启动,该方法降低了固件程序对于启动方式的依赖,对于产品的存储介质选择提供了多种可能性,最重要的是可以保证系统成功启动。
本发明实施例还提供一种计算机设备,具有上述图6所示的嵌入式系统启动装置。
请参阅图7,图7是本发明可选实施例提供的一种计算机设备的结构示意图,如图7所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据一种小程序落地页的展现的计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括输入装置30和输出装置40。处理器10、存储器20、输入装置30和输出装置40可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置30可接收输入的数字或字符信息,以及产生与该计算机设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等。输出装置40可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。上述显示设备包括但不限于液晶显示器,发光二极管,显示器和等离子体显示器。在一些可选的实施方式中,显示设备可以是触摸屏。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (10)

1.一种嵌入式系统启动方法,其特征在于,所述方法包括:
当检测到设备上电后,运行启动引导程序,用以检测norflash中启动程序子程序的固件程序包是否存在,其中,所述启动程序子程序的固件程序包中包括启动程序子程序;
当确定所述norflash中启动程序子程序的固件程序包存在,且确定所述启动程序子程序的固件程序包中的启动程序子程序有效时,跳转至所述norflash起始地址运行所述启动程序子程序;
将与所述启动程序子程序对应的PC指针的地址修改至启动程序的运行地址,其中,所述启动程序的运行地址,以及所述启动程序子程序的链接地址均为SRAM中的同一地址;
运行所述启动程序子程序生成所述启动程序;
在预配置存储卡中运行所述启动程序,加载内核映像文件和文件系统,用以完成嵌入式系统启动,其中,所述预配置存储卡包括如下中的一种或多种:嵌入式多媒体卡或安全数字卡。
2.根据权利要求1所述的方法,其特征在于,当所述norflash中启动程序子程序的固件程序包不存在或所述norflash中的所述启动程序子程序无效时,所述方法还包括:
确定所述预配置存储卡中是否存在所述启动程序子程序的固件程序包;
当确定所述预配置存储卡中存在所述启动程序子程序的固件程序包,且确定所述启动程序子程序的固件程序包中的启动程序子程序有效时,加载所述启动程序子程序至所述SRAM的起始地址;
运行所述启动程序子程序生成所述启动程序;
在所述预配置存储卡中运行所述启动程序,加载内核映像文件和文件系统,用以完成嵌入式系统启动;
拷贝所述预配置存储卡中启动程序子程序的固件程序包至所述norflash中;
周期性检测所述启动程序子程序是否存在更新;
当确定所述启动程序子程序存在更新时,按照固件更新策略同时更新所述预配置存储卡和所述norflash中的启动程序子程序,其中,所述固件更新策略中的控制更新因素包括如下中的一种或多种:更新时间计划、更新紧急程度。
3.根据权利要求2所述的方法,其特征在于,所述当确定所述启动程序子程序存在更新时,按照固件更新策略同时更新所述预配置存储卡和所述norflash中的启动程序子程序的固件程序包括:
获取待更新内容;
当所述固件更新策略中的控制更新因素包括所述更新时间计划时,按照所述更新时间计划中的第一更新时间,定期根据所述待更新内容对所述预配置存储卡和所述norflash中的启动程序子程序进行更新;
或者,当所述固件更新策略中的控制更新因素包括所述更新紧急程度时,将所述待更新内容与预配置的更新紧急等级进行匹配,确定所述待更新内容的更新紧急等级;
根据所述更新紧急等级,确定所述待更新内容的第二更新时间;
根据所述第二更新时间和所述待更新内容,完成对所述预配置存储卡和所述norflash中的启动程序子程序的更新。
4.根据权利要求2所述的方法,其特征在于,当确定所述预配置存储卡中未存在所述启动程序子程序的固件程序包,或确定所述预配置存储卡中的启动程序子程序无效时,所述方法还包括:
通过预设串口加载所述启动程序子程序的固件程序包至所述SRAM的起始地址;
运行所述启动程序子程序生成所述启动程序;
在所述预配置存储卡中运行所述启动程序,加载内核映像文件和文件系统,用以完成嵌入式系统启动。
5.根据权利要求4所述的方法,其特征在于,所述通过预设串口加载所述启动程序子程序的固件程序包至所述SRAM的起始地址之后,所述方法还包括:
分别拷贝所述预设串口加载的启动程序子程序的固件程序包至所述norflash以及所述预配置存储卡中。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述启动程序子程序的固件程序包中还包括:启动程序子程序的签名公钥和签名;验证所述启动程序子程序是否有效,包括:
对所述启动程序子程序进行哈希计算,获取第一哈希值;
利用所述签名公钥对所述签名进行解签,获取与所述启动程序子程序对应的第二哈希值;
将所述第一哈希值和所述第二哈希值进行比较;
当确定所述第一哈希值和所述第二哈希值相同时,确定所述启动程序子程序有效;
否则,当确定所述第一哈希值和所述第二哈希值不同时,确定所述启动程序子程序无效。
7.根据权利要求2或3所述的方法,其特征在于,所述更新时间计划中的第一更新时间根据所述设备的运行状态和性能指标确定。
8.一种嵌入式系统启动装置,其特征在于,所述装置包括:
检测模块,用于检查设备是否上电;
处理模块,用于所述检测模块检测到设备上电后,运行启动引导程序,用以检测norflash中启动程序子程序的固件程序包是否存在,其中,所述启动程序子程序的固件程序包中包括启动程序子程序;
验证模块,用于当确定所述norflash中启动程序子程序的固件程序包存在时,验证所述启动程序子程序的固件程序包中的启动程序子程序是否有效;
地址跳转模块,用于当确定所述norflash中启动程序子程序的固件程序包存在,且确定所述启动程序子程序的固件程序包中的启动程序子程序有效时,跳转至所述norflash起始地址运行所述启动程序子程序;
地址修改模块,用于将与所述启动程序子程序对应的PC指针的地址修改至启动程序的运行地址,其中,所述启动程序的运行地址,以及所述启动程序子程序的链接地址均为SRAM中的同一地址;
所述处理模块,还用于运行所述启动程序子程序生成所述启动程序;在预配置存储卡中运行所述启动程序,加载内核映像文件和文件系统,用以完成嵌入式系统启动,其中,所述预配置存储卡包括如下中的一种或多种:嵌入式多媒体卡或安全数字卡。
9.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至7中任一项所述的嵌入式系统启动方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的嵌入式系统启动方法。
CN202410519032.6A 2024-04-26 2024-04-26 嵌入式系统启动方法、装置、计算机设备及介质 Pending CN118426845A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410519032.6A CN118426845A (zh) 2024-04-26 2024-04-26 嵌入式系统启动方法、装置、计算机设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410519032.6A CN118426845A (zh) 2024-04-26 2024-04-26 嵌入式系统启动方法、装置、计算机设备及介质

Publications (1)

Publication Number Publication Date
CN118426845A true CN118426845A (zh) 2024-08-02

Family

ID=92324129

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410519032.6A Pending CN118426845A (zh) 2024-04-26 2024-04-26 嵌入式系统启动方法、装置、计算机设备及介质

Country Status (1)

Country Link
CN (1) CN118426845A (zh)

Similar Documents

Publication Publication Date Title
US9665469B2 (en) System and method of runtime downloading of debug code and diagnostics tools in an already deployed baseboard management controller (BMC) devices
US9910664B2 (en) System and method of online firmware update for baseboard management controller (BMC) devices
US9205809B2 (en) Vehicle unit and method for operating the vehicle unit
US10303459B2 (en) Electronic system with update control mechanism and method of operation thereof
WO2016206514A1 (zh) 启动处理方法及装置
CN107102871A (zh) 嵌入式系统升级的方法和装置
US10824517B2 (en) Backup and recovery of configuration files in management device
CN110780942A (zh) 系统启动方法、装置、节点设备及计算机可读存储介质
CN112015447B (zh) 电子设备的系统更新方法及装置、电子设备及存储介质
CN113805925A (zh) 分布式集群管理软件的在线升级方法、装置、设备及介质
CN117130672A (zh) 服务器启动流程控制方法、系统、终端及存储介质
CN113703823A (zh) 一种bmc固件升级方法、装置、电子设备及存储介质
CN114265603A (zh) 基于不对称分区的系统升级方法、装置和电子设备
WO2024148863A1 (zh) 镜像的编译方法、装置、非易失性可读存储介质及电子设备
CN106909382B (zh) 输出不同类型系统启动信息的方法及装置
CN113032183A (zh) 系统管理方法、装置、计算机设备和存储介质
CN109002317B (zh) 一种pcba固件升级方法及系统、pcba
CN104636574A (zh) 终端设备升级方法及终端设备
CN113377425B (zh) Bmc固件生成方法和装置、bmc启动方法和装置及存储介质
CN118426845A (zh) 嵌入式系统启动方法、装置、计算机设备及介质
US11354109B1 (en) Firmware updates using updated firmware files in a dedicated firmware volume
KR20130040636A (ko) 빠른 부팅을 위한 부트 이미지를 생성하는 방법 및 이를 수행하는 화상형성장치, 부트 이미지를 이용하여 빠른 부팅을 수행하는 방법 및 이를 수행하는 화상형성장치
CN113297010A (zh) 基于片上系统的固件恢复方法、装置、系统及存储介质
CN112667444A (zh) 一种系统升级方法、存储介质及终端设备
CN115543399A (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