CN116382745A - 一种固件加载升级的方法和装置 - Google Patents
一种固件加载升级的方法和装置 Download PDFInfo
- Publication number
- CN116382745A CN116382745A CN202310658852.9A CN202310658852A CN116382745A CN 116382745 A CN116382745 A CN 116382745A CN 202310658852 A CN202310658852 A CN 202310658852A CN 116382745 A CN116382745 A CN 116382745A
- Authority
- CN
- China
- Prior art keywords
- firmware
- main control
- control chip
- data
- package
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000004891 communication Methods 0.000 claims abstract description 138
- 238000012795 verification Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- 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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种固件加载升级的方法和装置,包括固件加载流程和固件升级流程,固件加载流程包括主控芯片根据开机指令和预存工作模式标志确定设备将要运行的工作模式,主控芯片从通信模组的存储区中读取固件包和固件包的应用数据包,加载固件包和应用数据包;固件升级流程包括主控芯片通过通信模组从远程服务器获取设备各工作模式对应的固件包,主控芯片将固件包写入通信模组的存储区。本申请解决了当设备的主控芯片的存储空间有限,但设备因支持多种设备运行模式需要存储多个运行模式的固件包,更换设备运行模式时需要从外部服务器中获取固件包,导致设备更换固件包的效率低的问题,提高了升级效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种固件加载升级的方法和装置。
背景技术
当前,设备的固件包通常是存储在主控芯片中,主控芯片的存储空间有限,当设备可以支持多个工作模式时,每个工作模式需要不同的固件包时,更换设备的工作模式就需要重新烧录对应的固件包,或远程连接服务器升级固件包。在远程升级过程中,如果遇到异常或断电,出现升级失败,影响主控芯片的正常工作,重新升级时又需要再次下载固件包,升级效率低。
发明内容
本申请实施例提供了一种固件加载升级的方法和装置。所述技术方案如下:
第一方面,本申请提供了一种固件加载升级的方法,所述方法包括固件加载流程和固件升级流程:
所述固件加载流程包括:
S1:主控芯片上电时,确定设备将要运行的工作模式,判断所述主控芯片的程序区中是否存储有设备将要运行的工作模式对应的固件包;
若是,所述主控芯片加载所述固件包,并从所述通信模组的存储区中读取所述固件包的应用数据包,执行步骤S3;
否则,所述主控芯片从所述通信模组的存储区中读取所述固件包和所述固件包的应用数据包,执行步骤S2;
S2:所述主控芯片比较从所述通信模组中读取到的固件包的校验值和对读取到的所述固件包进行计算得到的校验值是否一致;
若一致,加载所述固件包和所述应用数据包,进入设备启动流程,执行步骤S3;
否则,加载固件失败,发出提示信息;
S3:设备启动完成后,所述主控芯片根据预置条件或接收到的升级指令,执行固件升级流程;
所述固件升级流程包括:
S4:所述主控芯片通过所述通信模组从远程服务器获取设备需要升级的固件包;
S5:所述主控芯片比较对从远程服务器获取的固件包进行计算得到固件校验值与从所述远程服务器获取固件包中的固件校验值是否相同;
若相同,所述主控芯片将所述固件包写入所述通信模组的存储区;
若不相同,升级失败,清除数据。
进一步地,所述主控芯片上电后还包括:
所述主控芯片读取上电标志,并根据所述上电标志判断所述设备是加电开机还是重启;
若所述设备是加电开启,所述主控芯片获取用户通过按键组合方式发出的开机指令;
若所述设备是重启,所述主控芯片获取联机设备发出的切换工作模式指令或用户通过按键组合方式发出的切换工作模式指令,根据所述切换工作模式指令设置预存工作模式标志后,重启设备。
进一步地,所述主控芯片上电时,确定设备将要运行的工作模式,具体包括:
所述主控芯片运行启动程序开始初始化,为所述通信模组上电;
若所述设备是加电开机,则根据获取到的开机指令确定所述设备的工作模式,其中,所述开机指令包括用户通过按键组合方式发出的开机指令或联机设备发出的带有工作模式的开机指令;
若所述设备是重启,则所述主控芯片根据预存工作模式标志确定所述设备的工作模式。
进一步地,从所述通信模组的存储区中读取所述固件包和所述固件包的应用数据包,具体包括:
S11:所述主控芯片对所述通信模组初始化,初始化第一数据计数器、第一数据读取地址和第一固件写入地址;
S12:所述主控芯片从所述通信模组中读取固件包数据长度,并将所述第一数据计数器设置为第一常数,第一常数小于所述固件包数据长度;
S13:所述主控芯片比较所述第一数据计数器是否小于已接收的固件包数据长度;
若是,所述主控芯片将从所述通信模组读取到的固件包数据写入所述主控芯片的程序区,更新所述第一数据计数器、所述第一数据读取地址和所述第一固件写入地址,返回步骤S12;
若否,所述主控芯片将已接收的固件包数据写入所述主控芯片的程序区,并写入所述固件包对应的固件信息,同时将所述固件包的应用数据包写入所述主控芯片的程序区。
进一步地,所述主控芯片比较所述第一数据计数器小于已接收的固件包的数据长度时,还包括:
所述主控芯片比较读取到的已接收的固件包数据中的校验值与根据已接收的固件包数据计算得到的校验值是否相同;
若相同,所述主控芯片将读取到的固件包数据保存到所述主控芯片的程序区。
进一步地,步骤S4具体包括:
S41:所述主控芯片通知所述通信模组连接远程服务器,所述通信模组与远程服务器建立连接,获取待确认升级固件个数;
S42:所述主控芯片设置固件计数器为所述待确认升级固件个数;
S43:所述主控芯片根据所述固件计数器判断是否升级完成;
若是,执行步骤S44,否则,执行步骤S45;
S44:所述主控芯片通知所述通信模组断开与所述远程服务器的连接;
S45:所述主控芯片通过所述通信模组从所述远程服务器获取固件包的固件版本;
S46、所述主控芯片比较获取到的所述固件版本是否与所述通信模组存储的相应固件的版本一致;
若一致,所述主控芯片更新所述固件计数器,返回步骤S43,否则,执行步骤S47;
S47、所述主控芯片通过所述通信模组从所述远程服务器读取固件数据长度;
S48、主控芯片初始化第二数据计数器、服务器数据读取地址、通信模组数据写入地址和固件校验值,并设置所述第二数据计数器为所述第二常数,所述第二常数小于所述固件数据长度;
S49、主控芯片比较所述第二数据计数器计数值是否小于固件数据长度;
若是,执行步骤S50,否则执行步骤S53;
S50、主控芯片通过通信模组从所述远程服务器读取固件包数据;
S51、主控芯片将读到的固件包数据写入通信模组的存储区;
S52、主控芯片更新所述第二数据计数器、服务器数据读取地址、通信模组数据写入地址,返回步骤S49;
S53、所述主控芯片将固件信息写入通信模组的存储区,更新所述固件计数器,返回步骤S43。
进一步地,步骤S51之前还包括:
所述主控芯片对读取到的固件数据计算固件校验值;
所述主控芯片比较对读取的固件数据计算得到的固件校验值是否与从所述固件包中获取到的固件校验值是否一致;
若是,执行步骤S51;
否则,升级失败,清除数据,返回步骤S43。
第二方面,本申请提供了一种固件加载升级的装置,所述装置应用于同时存在主控芯片和通信模组的设备,所述装置包括固件加载模块和固件升级模块:
所述固件加载模块包括第一读取单元、第一比较单元和第一判断单元;
所述第一读取单元,用于主控芯片上电时,确定设备将要运行的工作模式,判断所述主控芯片的程序区中是否存储有设备将要运行的工作模式对应的固件包;
若是,所述主控芯片加载所述固件包,并从所述通信模组的存储区中读取所述固件包的应用数据包,执行第一判断单元;
否则,所述主控芯片从所述通信模组的存储区中读取所述固件包和所述固件包的应用数据包,执行所述第一比较单元;
所述第一比较单元,用于所述主控芯片比较从所述通信模组中读取到的固件包的校验值和对读取到的所述固件包进行计算得到的校验值是否一致;
若一致,加载所述固件包和所述应用数据包,进入设备启动流程,执行第一判断单元;
否则,加载固件失败,发出提示信息;
所述第一判断单元,用于设备启动完成后,所述主控芯片根据预置条件或接收到的升级指令,执行固件升级模块;
所述固件升级模块包括第二读取单元和第二比较单元;
第二读取单元,用于所述主控芯片通过所述通信模组从远程服务器获取设备需要升级的固件包;
第二比较单元,用于所述主控芯片比较对从远程服务器获取的固件包进行计算得到固件校验值与从所述远程服务器获取固件包中的固件校验值是否相同;
若相同,所述主控芯片将所述固件包写入所述通信模组的存储区;
若不相同,升级失败,清除数据。
第三方面,本申请提供了一种终端设备,包括:处理器和存储器;
所述存储器,用于存储计算机程序;
所述处理器,用于通过调用所述计算机程序,执行如上述技术方案中任一项所述的固件加载升级的方法。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在计算机上运行时,使得计算机执行如上述技术方案中任一项所述的固件加载升级的方法。
与现有技术相比,本申请提供的固件加载升级方法解决了当设备的主控芯片的存储空间有限,但设备因支持多种设备运行模式需要存储多个运行模式的固件包,更换设备运行模式时需要从外部服务器获取固件包,导致设备更换固件包的效率低下的问题,实现了当设备更换运行模式无需一定要从外部服务器获取固件包,提高了升级效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种固件加载升级的方法的流程示意图;
图2是本申请实施例提供的一种固件加载升级的方法的流程示意图;
图3是本申请实施例提供的一种固件加载升级的方法的流程示意图;
图4是本申请实施例提供的一种固件加载升级的装置的模块示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
实施例一:
下面将结合附图1,对本申请实施例提供的一种固件加载升级的方法进行详细介绍。
本申请实施例一提供的一种固件加载升级的方法,应用于同时存在主控芯片和通信模组的设备,包括固件加载流程和固件升级流程:
固件加载流程包括:
S1:主控芯片上电时,确定设备将要运行的工作模式,判断所述主控芯片的程序区中是否存储有设备将要运行的工作模式对应的固件包;
若是,主控芯片加载所述固件包,并从通信模组的存储区中读取固件包的应用数据包,执行步骤S3;
否则,主控芯片从通信模组的存储区中读取固件包和固件包的应用数据包,执行步骤S2;
S2:主控芯片比较从通信模组中读取到的固件包的校验值和对读取到的固件包进行计算得到的校验值是否一致;
若一致,加载固件包和应用数据包,进入设备启动流程,执行步骤S3;
否则,加载固件失败,发出提示信息;
S3:设备启动完成后,主控芯片根据预置条件或接收到的升级指令,执行固件升级流程;
固件升级流程包括:
S4:主控芯片通过通信模组从远程服务器获取设备需要升级的固件包;
S5:主控芯片比较对从远程服务器获取的固件包进行计算得到固件校验值与从远程服务器获取固件包中的固件校验值是否相同;
若相同,主控芯片将固件包写入通信模组的存储区;
若不相同,升级失败,清除数据。
具体地从远程服务器获取的固件包进行计算得到固件校验值的方法有很多,本申请不再赘述。
进一步地,主控芯片上电后还包括:
主控芯片读取上电标志,并根据上电标志判断设备是加电开机还是重启;
若设备是加电开启,主控芯片获取用户通过按键组合方式发出的开机指令;
若设备是重启,主控芯片获取联机设备发出的切换工作模式指令或用户通过按键组合方式发出的切换工作模式指令,根据切换工作模式指令设置预存工作模式标志后,重启设备。
进一步地,主控芯片上电时,确定设备将要运行的工作模式,具体包括:
主控芯片运行启动程序开始初始化,为通信模组上电;
若设备是加电开机,则根据获取到的开机指令确定设备的工作模式,其中,开机指令包括用户通过按键组合方式发出的开机指令或联机设备发出的带有工作模式的开机指令;
若设备是重启,则主控芯片根据预存工作模式标志确定设备的工作模式。
进一步地,从通信模组的存储区中读取固件包和固件包的应用数据包,具体包括:
S11:主控芯片对通信模组初始化,初始化第一数据计数器、第一数据读取地址和第一固件写入地址;
S12:主控芯片从通信模组中读取固件包数据长度,并将第一数据计数器设置为第一常数,第一常数小于固件包数据长度;
具体地,第一常数可以是零或是其他数值。
S13:主控芯片比较第一数据计数器是否小于已接收的固件包数据长度;
若是,主控芯片将从通信模组读取到的固件包数据写入主控芯片的程序区,更新第一数据计数器、第一数据读取地址和第一固件写入地址,返回步骤S12;
若否,主控芯片将已接收的固件包数据写入主控芯片的程序区,并写入固件包对应的固件信息,同时将固件包的应用数据包写入主控芯片的程序区。
进一步地,主控芯片比较第一数据计数器小于已接收的固件包的数据长度时,还包括:
主控芯片比较读取到的已接收的固件包数据中的校验值与根据已接收的固件包数据计算得到的校验值是否相同;
若相同,主控芯片将读取到的固件包数据保存到主控芯片的程序区。
具体地根据已接收的固件包数据计算得到的校验值的方法有很多,本申请不再赘述。
进一步地,步骤S4具体包括:
S41:主控芯片通知通信模组连接远程服务器,通信模组与远程服务器建立连接,获取待确认升级固件个数;
S42:主控芯片设置固件计数器为待确认升级固件个数;
S43:主控芯片根据固件计数器判断是否升级完成;
若是,执行步骤S44,否则,执行步骤S45;
S44:主控芯片通知通信模组断开与远程服务器的连接;
S45:主控芯片通过通信模组从远程服务器获取固件包的固件版本;
S46、主控芯片比较获取到的固件版本是否与通信模组存储的相应固件的版本一致;
若一致,主控芯片更新固件计数器,返回步骤S43,否则,执行步骤S47;
S47、主控芯片通过通信模组从远程服务器读取固件数据长度;
S48、主控芯片初始化第二数据计数器、服务器数据读取地址、通信模组数据写入地址和固件校验值,并设置第二数据计数器为第二常数,第二常数小于固件数据长度;
其中,第二常数可以是零或是其他数值。
S49、主控芯片比较第二数据计数器计数值是否小于固件数据长度;
若是,执行步骤S50,否则执行步骤S53;
S50、主控芯片通过通信模组从远程服务器读取固件包数据;
S51、主控芯片将读到的固件包数据写入通信模组的存储区;
S52、主控芯片更新第二数据计数器、服务器数据读取地址、通信模组数据写入地址,返回步骤S49;
S53、主控芯片将固件信息写入通信模组的存储区,更新固件计数器,返回步骤S43。
进一步地,步骤S51之前还包括:
主控芯片对读取到的固件数据计算固件校验值;
主控芯片比较对读取的固件数据计算得到的固件校验值是否与从固件包中获取到的固件校验值是否一致;
若是,执行步骤S51;
否则,升级失败,清除数据,返回步骤S43。
本申请提供的固件加载升级方法使得设备能够在支持多个设备运行模式时,更换设备运行模式不需要远程连接服务器,解决了设备多应用场景下因主控芯片程序空间有限无法存储多个固件包的问题,同时,在升级过程中不需要设备重新启动进入Bootloader,且不影响当前固件运行,实现设备的无感升级。且当存储的固件包更新后,可以选择继续运行当前固件包,不影响用户使用,下次设备重启时加载新固件或设备重启加载新固件包,不影响主控芯片的正常工作,提高了升级效率。
实施例二:
下面将结合附图2,对本申请实施例提供的一种固件加载升级的方法进行详细介绍。
本申请实施例提供的一种固件加载升级的方法,应用于同时存在主控芯片和通信模组的设备,包括以下步骤:
110、主控芯片获取开机指令上电,运行boot启动程序开始初始化;
具体地,主控芯片对系统时钟、硬件IO以及定时器等进行初始化,并运行Bootloader程序。
120、主控芯片对通信模组上电初始化;
130、主控芯片根据开机指令和预存工作模式标志确定设备将要运行的工作模式;
具体地,开机指令包括设备从关机到开启时接收到的指令,以及设备已开启到重启时接收的指令。
设备从关机到开启时接收到的指令包括直接按电源键开机进入正常工作模式;先按第一功能键不放,再按电源键开机,设备进入测试工作模式;先按其它功能键不放,再按电源键,此时设备进入第3种工作模式,以上仅为一种确定开机后工作模式的方法,不局限于按键,也可以是其它接口,如判断其它接口是否连接或者接口所连接的其它设备类型或者数据等。
设备已开启到重启时接收的指令包括如果因场景变化而需要切换工作模式时,联机设备通过发指令通知设备切换到其它工作模式;或者通过按键操作通知设备切换到其它工作模式;设备存储操作模式标志,设备重启,设备启动后检查工作模式标志,比较工作模式标志与当前工作模式是否相同,相同则继续开机过程进入当前工作模式,不同则重新加载对应工作模式固件。
若是需要重新加载固件包,将当前工作模式下存储的应用数据读出,将读出的应用数据存储到通信模组存储区中,一般将通信模组的存储按工作模式分块,分别存储工作模式固件包及该模式下暂存的数据。
加载完成后,清除存储的切换工作模式标志,继续开机过程,运行加载后的工作模式固件。
140、主控芯片判断主控芯片的程序区是否存储该工作模式对应的固件包;
若是,执行步骤230,否则,执行步骤150。
150、主控芯片访问通信模组的非易失性存储区中存储的该工作模式对应的固件包和应用数据包;
160、主控芯片初始化数据计数器、数据读取地址和固件写入地址;
具体地,在本实施例中,主控芯片的存储区分为易失性存储区和非易失性存储区,交换存储区位于易失性存储区。
主控芯片在交换存储区中分配第一存储区和第二存储区,用于记录接收到的升级数据的信息及固件标识。
接收到的升级数据的信息包括固件包的部分数据和升级数据的校验值;第一存储区中保存接收到的固件包的部分数据、使用已接收到固件包数据计算出的校验值,第二存储区对应升级固件的数据长度、数据计数器、数据读取地址和固件写入地址。
主控芯片根据数据计数器,得到数据读取地址和固件数据存储地址。
170、主控芯片发送读取固件包数据长度指令到通信模组,通信模组将固件包数据长度和校验值发送到主控芯片;
180、主控芯片比较数据计数器与已接收的固件包的数据长度的大小;
若数据计数器和升级固件的数据长度相等,执行步骤200;
若数据计数器和升级固件的数据长度不相等,主控芯片发送读取固件包的指令到通信模组,通信模组将固件包的部分数据发送到主控芯片,执行步骤190;
190、主控芯片将固件包的部分数据写入主控芯片的交换存储区,更新数据计数器、数据读取地址和固件数据存储地址,返回步骤180;
其中,交换存储区包括易失性存储区和程序区。
具体地,主控芯片读取并判断升级固件的数据长度和数据计数器是否相同;
是,则升级固件的数据包接收完成;判断数据信息中的校验码是否与主控芯片计算的校验码相同,是则数据包接收成功;否则数据包接收失败。
否则,升级固件的数据包未接收完成。
200、主控芯片比较读取到的固件包数据中的校验值更新主控芯片的交换存储区中的校验值是否相同;
若不同,则升级失败,清理数据;
若相同,执行步骤210;
210、主控芯片将读取到的缓存数据保存到主控芯片的程序区,更新交换存储区中缓存数据的长度;
220、主控芯片将更新的存储编号对应的存储区中的备份校验值更新为校验值;
230、主控芯片加载该固件包,同时加载该固件包对应的数据包;
进入启动流程;
240、主控芯片通知通信模组连接远程服务器,通信模组与远程服务器建立连接;
250、主控芯片将读取固件包的版本的指令通过通信模组转发到服务器,通信模组接收服务器发送的固件版本信息,将固件版本信息转发到主控芯片;
260、主控芯片比较服务器上的应用场景的固件包的版本与通信模组存储的各应用场景的固件包的版本是否一致;
一致,则主控芯片通知通信模组断开与服务器的连接;
不一致,主控芯片确定需从服务器获取的应用场景的固件包,执行步骤270;
270、主控芯片将读取当前升级的固件包的数据长度指令通过通信模组转发到服务器,服务器返回固件包的数据长度到通信模组,通信模组将固件包的数据长度发送到主控芯片;
280、主控芯片初始化数据计数器、数据读取偏移量和通信模组的固件写入地址;
290、主控芯片比较数据计数器和固件包的数据长度的大小;
若数据计数器 > 固件包的数据长度,执行步骤300;
若数据计数器 < 固件包的数据长度,执行步骤360;
300、主控芯片将当前升级的固件包数据保存到通信模组的易失性存储区中,根据易失性存储区中的缓存数据更新第一校验值,并将缓存数据保存到非易失性存储区中;
310、主控芯片解析当前升级的固件包数据得到第二校验值,判断第二校验值与第一校验值是否相等;
若是,执行步骤320,否则,主控芯片发出错误码。
320、主控芯片将当前升级的固件包从通信模组的易失性存储区拷贝到非易失性存储区;
330、主控芯片判断当前升级的固件包是否是最后一个需升级的固件包;
是,执行步骤350,否,执行步骤340;
340、主控芯片确定要从服务器获取的下一个应用场景的固件包,返回步骤260;
350、主控芯片将与服务器断开的连接的指令通过通信模组发送到服务器,通信模组与服务器断开连接;
360、主控芯片发送读取固件版本的指令通过通信模组转发到服务器,服务器发送固件包的部分数据到通信模组;
370、主控芯片解析当前升级的固件包的数据包,得到当前升级数据长度,将数据包的数据保存到通信模组的非易失性存储区中;
380、主控芯片更新数据计数器、数据读取偏移量和通信模组的固件写入地址,返回步骤290。
本申请提供的固件加载升级方法使得设备能够在支持多个设备运行模式时,更换设备运行模式不需要远程连接服务器,解决了设备多应用场景下因主控芯片程序空间有限无法存储多个固件包的问题。同时,固件包更新过程中异常或断电时,无需再次全部重新下载固件包,提高了升级效率。
实施例三:
下面将结合附图3,对本申请实施例提供的一种固件加载升级的方法进行详细介绍。
本申请实施例提供的一种固件加载升级的方法应用于同时存在MCU和4G模组的设备,包括以下步骤:
S110、MCU上电,运行boot启动程序开始初始化,为4G模组上电;
具体地,MCU对系统时钟、硬件IO以及定时器等进行初始化,并运行Bootloader程序。
S120、MCU对4G模组初始化;
S130、MCU根据用户启动设备的方式,确定设备将要运行的工作模式;
具体地,用户可以同时按下功能键和电源键,或用户单独按下电源键启动。
S140、MCU判断MCU的程序区是否存储该工作模式对应的固件包;
若存在,MCU加载程序区存储的固件包;
否则,执行步骤S150;
S150、MCU初始化数据计数器、数据读取地址和固件写入地址;
S160、MCU发送读取固件包数据长度指令到4G模组,4G模组将固件包的数据长度发送到MCU;
S170、MCU比较数据计数器与固件包的数据长度的大小;
S180、MCU解密获取到的固件包的部分数据,将固件包的部分数据写入MCU的程序区,更新数据计数器、数据读取地址和固件写入地址,返回步骤S170。
S190、MCU加载该固件包完成后,设备进入启动流程。
当设备启动完成后,MCU收到服务器更新固件包的信息的通知或满足预设时间时,MCU发送连接服务器的指令到4G模组;
S200、4G模组接收连接服务器的指令,4G模组与服务器建立连接;
S210、MCU将读取固件包的版本的指令通过4G模组转发到服务器,4G模组接收服务器发送的固件版本信息,将固件版本信息转发到MCU;
S220、MCU比较服务器上的各设备运行模式的固件包的版本与4G模组存储的各设备运行模式的固件包的版本是否一致;
若服务器上的各设备运行模式的固件包的版本与4G模组存储的各设备运行模式的固件包的版本均一致,MCU通知4G模组断开与服务器的连接;
否则,MCU确定需从服务器获取的设备运行模式的固件包,执行步骤S230;
S230、MCU将读取当前升级的固件包的数据长度指令通过4G模组转发到服务器,服务器返回固件包的数据长度到4G模组,4G模组将固件包的数据长度发送到MCU;
S240、MCU初始化4G模组的数据计数器、4G模组的数据读取偏移量和4G模组的固件写入地址;
S250、MCU比较4G模组的数据计数器和固件包的数据长度的大小;
若4G模组的数据计数器 < 固件包的数据长度,MCU将读取固件版本的指令通过4G模组转发到服务器,执行步骤S260;
否则, 执行步骤S280。
S260、服务器发送固件包的部分数据到4G模组,4G模组将固件包的部分数据存储;
S270、MCU更新4G模组的数据计数器、4G模组的数据读取偏移量和4G模组的固件写入地址,返回步骤S250。
S280、MCU判断当前升级的固件包是否是最后一个需升级的固件包;
若是,MCU将与服务器断开的连接的指令通过4G模组发送到服务器,4G模组与服务器断开连接。
否则,当前MCU确定要从服务器获取的下一个设备运行模式的固件包,返回步骤S230。
本申请提供的固件加载升级方法使得设备能够在支持多个设备运行模式时,更换设备运行模式不需要远程连接服务器,解决了设备多应用场景下因MCU程序空间有限无法存储多个固件包的问题,同时,在升级过程中不需要设备重新启动进入Bootloader,且不影响当前固件运行,实现设备的无感升级。且当存储的固件包更新后,可以选择继续运行当前固件包,不影响用户使用,下次设备重启时加载新固件或设备重启加载新固件包,不影响主控芯片的正常工作,提高了升级效率。
实施例四:
下面将结合附图4,对本申请实施例提供的一种固件加载升级的装置进行详细介绍。
本申请实施例提供的一种固件加载升级的装置应用于同时存在主控芯片和通信模组的设备,包括固件加载模块和固件升级模块:
所述固件加载模块包括第一读取单元、第一比较单元和第一判断单元;
所述第一读取单元,用于主控芯片上电时,确定设备将要运行的工作模式,判断所述主控芯片的程序区中是否存储有设备将要运行的工作模式对应的固件包;
若是,所述主控芯片加载所述固件包,并从所述通信模组的存储区中读取所述固件包的应用数据包,执行第一判断单元;
否则,所述主控芯片从所述通信模组的存储区中读取所述固件包和所述固件包的应用数据包,执行所述第一比较单元;
所述第一比较单元,用于所述主控芯片比较从所述通信模组中读取到的固件包的校验值和对读取到的所述固件包进行计算得到的校验值是否一致;
若一致,加载所述固件包和所述应用数据包,进入设备启动流程,执行第一判断单元;
否则,加载固件失败,发出提示信息;
所述第一判断单元,用于设备启动完成后,所述主控芯片根据预置条件或接收到的升级指令,执行固件升级模块;
所述固件升级模块包括第二读取单元和第二比较单元;
第二读取单元,用于所述主控芯片通过所述通信模组从远程服务器获取设备需要升级的固件包;
第二比较单元,用于所述主控芯片比较对从远程服务器获取的固件包进行计算得到固件校验值与从所述远程服务器获取固件包中的固件校验值是否相同;
若相同,所述主控芯片将所述固件包写入所述通信模组的存储区;
若不相同,升级失败,清除数据。
进一步地,固件加载模块还包括第一预判单元;
第一预判单元,用于所述主控芯片读取上电标志,并根据所述上电标志判断所述设备是加电开机还是重启;
若所述设备是加电开启,所述主控芯片获取用户通过按键组合方式发出的开机指令;
若所述设备是重启,所述主控芯片获取联机设备发出的切换工作模式指令或用户通过按键组合方式发出的切换工作模式指令,根据所述切换工作模式指令设置预存工作模式标志后,重启设备。
进一步地,第一读取单元,具体用于所述主控芯片运行启动程序开始初始化,为所述通信模组上电;
若所述设备是加电开机,则根据获取到的开机指令确定所述设备的工作模式,其中,所述开机指令包括用户通过按键组合方式发出的开机指令或联机设备发出的带有工作模式的开机指令;
若所述设备是重启,则所述主控芯片根据预存工作模式标志确定所述设备的工作模式。
进一步地,第一读取单元包括第一初始化单元、第二初始化单元和第三初始化单元;
第一初始化单元,用于所述主控芯片对所述通信模组初始化,初始化第一数据计数器、第一数据读取地址和第一固件写入地址;
第二初始化单元,用于所述主控芯片从所述通信模组中读取固件包数据长度,并将所述第一数据计数器设置为第一常数,第一常数小于所述固件包数据长度;
第三初始化单元,用于所述主控芯片比较所述第一数据计数器是否小于已接收的固件包数据长度;
若是,所述主控芯片将从所述通信模组读取到的固件包数据写入所述主控芯片的程序区,更新所述第一数据计数器、所述第一数据读取地址和所述第一固件写入地址,返回第二初始化单元;
若否,所述主控芯片将已接收的固件包数据写入所述主控芯片的程序区,并写入所述固件包对应的固件信息,同时将所述固件包的应用数据包写入所述主控芯片的程序区。
进一步地,第三初始化单元,具体用于所述主控芯片比较读取到的已接收的固件包数据中的校验值与根据已接收的固件包数据计算得到的校验值是否相同;
若相同,所述主控芯片将读取到的固件包数据保存到所述主控芯片的程序区。
否则,升级失败,清除数据。
进一步地,第二读取单元还包括第一读取子单元、第二读取子单元、第三读取子单元、第四读取子单元、第五读取子单元、第一比较子单元、第二比较子单元和第三比较子单元。
第一读取子单元,用于所述主控芯片通知所述通信模组连接远程服务器,所述通信模组与远程服务器建立连接,获取待确认升级固件个数;
第一读取子单元,还用于所述主控芯片设置固件计数器为所述待确认升级固件个数;
第一比较子单元,用于所述主控芯片根据所述固件计数器判断是否升级完成;
若是,主控芯片通知通信模组断开与远程服务器的连接;
否则,主控芯片通过通信模组从远程服务器获取固件包的固件版本;
第二比较子单元,用于主控芯片比较获取到的固件版本是否与通信模组存储的相应固件版本一致;
若一致,主控芯片更新固件计数器,主控芯片通知通信模组断开与远程服务器的连接;
否则,主控芯片通过所述通信模组从远程服务器读取固件数据长度和固件校验值;
第二读取子单元,用于所述主控芯片通过所述通信模组从所述远程服务器读取固件数据长度,主控芯片初始化第二数据计数器、服务器数据读取地址、通信模组数据写入地址和固件校验值,并设置所述第二数据计数器为所述第二常数,所述第二常数小于所述固件数据长度;
第三比较子单元,用于所述主控芯片比较所述第二数据计数器计数值是否小于所述固件数据长度;
若是,主控芯片通过通信模组从服务器读取固件包数据;
否则,主控芯片将读到的固件包数据写入通信模组的存储区;
第三读取子单元,用于主控芯片通过通信模组从所述远程服务器读取固件包数据,将读到的固件包数据写入通信模组的存储区;
第四读取子单元,用于主控芯片将固件信息写入通信模组的存储区,升级完成,主控芯片通知通信模组断开与远程服务器的连接。
第五读取子单元,还用于主控芯片更新所述第二数据计数器、服务器数据读取地址、通信模组数据写入地址,返回第三比较子单元;
第六读取子单元,还用于所述主控芯片将固件信息写入通信模组的存储区,更新所述固件计数器,返回第一比较子单元。
进一步地,第四读取子单元,具体用于所述主控芯片对读取到的固件数据计算固件校验值;
所述主控芯片比较对读取的固件数据计算得到的固件校验值是否与从所述固件包中获取到的固件校验值是否一致;
若是,所述主控芯片将固件信息写入通信模组的存储区,升级完成,执行第四读取子单元;
否则,升级失败,清除数据,返回第一比较子单元。
本申请提供的固件加载升级装置使得设备能够在支持多个设备运行模式时,更换设备运行模式不需要远程连接服务器,解决了设备多应用场景下因MCU程序空间有限无法存储多个固件包的问题,同时,在升级过程中不需要设备重新启动进入Bootloader,且不影响当前固件运行,实现设备的无感升级。且当存储的固件包更新后,可以选择继续运行当前固件包,不影响用户使用,下次设备重启时加载新固件或设备重启加载新固件包,不影响主控芯片的正常工作,提高了升级效率。
此外,本申请提供了一种终端设备,包括:处理器和存储器;
所述存储器,用于存储计算机程序;
所述处理器,用于通过调用所述计算机程序,执行上述技术方案中任一项所述的固件加载升级的方法。
本申请提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,当其在计算机上运行时,使得计算机执行上述技术方案中任一项所述的固件加载升级的方法。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (10)
1.一种固件加载升级的方法,应用于同时存在主控芯片和通信模组的设备,其特征在于,所述方法包括固件加载流程和固件升级流程:
所述固件加载流程包括:
S1:主控芯片上电时,确定设备将要运行的工作模式,判断所述主控芯片的程序区中是否存储有设备将要运行的工作模式对应的固件包;
若是,所述主控芯片加载所述固件包,并从所述通信模组的存储区中读取所述固件包的应用数据包,执行步骤S3;
否则,所述主控芯片从所述通信模组的存储区中读取所述固件包和所述固件包的应用数据包,执行步骤S2;
S2:所述主控芯片比较从所述通信模组中读取到的固件包的校验值和对读取到的所述固件包进行计算得到的校验值是否一致;
若一致,加载所述固件包和所述应用数据包,进入设备启动流程,执行步骤S3;
否则,加载固件失败,发出提示信息;
S3:设备启动完成后,所述主控芯片根据预置条件或接收到的升级指令,执行固件升级流程;
所述固件升级流程包括:
S4:所述主控芯片通过所述通信模组从远程服务器获取设备需要升级的固件包;
S5:所述主控芯片比较对从远程服务器获取的固件包进行计算得到固件校验值与从所述远程服务器获取固件包中的固件校验值是否相同;
若相同,所述主控芯片将所述固件包写入所述通信模组的存储区;
若不相同,升级失败,清除数据。
2.根据权利要求1所述的固件加载升级的方法,其特征在于,所述主控芯片上电后还包括:
所述主控芯片读取上电标志,并根据所述上电标志判断所述设备是加电开机还是重启;
若所述设备是加电开启,所述主控芯片获取用户通过按键组合方式发出的开机指令;
若所述设备是重启,所述主控芯片获取联机设备发出的切换工作模式指令或用户通过按键组合方式发出的切换工作模式指令,根据所述切换工作模式指令设置预存工作模式标志后,重启设备。
3.根据权利要求2所述的固件加载升级的方法,其特征在于,所述主控芯片上电时,确定设备将要运行的工作模式,具体包括:
所述主控芯片运行启动程序开始初始化,为所述通信模组上电;
若所述设备是加电开机,则根据获取到的开机指令确定所述设备的工作模式,其中,所述开机指令包括用户通过按键组合方式发出的开机指令或联机设备发出的带有工作模式的开机指令;
若所述设备是重启,则所述主控芯片根据预存工作模式标志确定所述设备的工作模式。
4.根据权利要求1所述的固件加载升级的方法,其特征在于,从所述通信模组的存储区中读取所述固件包和所述固件包的应用数据包,具体包括:
S11:所述主控芯片对所述通信模组初始化,初始化第一数据计数器、第一数据读取地址和第一固件写入地址;
S12:所述主控芯片从所述通信模组中读取固件包数据长度,并将所述第一数据计数器设置为第一常数,第一常数小于所述固件包数据长度;
S13:所述主控芯片比较所述第一数据计数器是否小于已接收的固件包数据长度;
若是,所述主控芯片将从所述通信模组读取到的固件包数据写入所述主控芯片的程序区,更新所述第一数据计数器、所述第一数据读取地址和所述第一固件写入地址,返回步骤S12;
若否,所述主控芯片将已接收的固件包数据写入所述主控芯片的程序区,并写入所述固件包对应的固件信息,同时将所述固件包的应用数据包写入所述主控芯片的程序区。
5.根据权利要求4所述的固件加载升级的方法,其特征在于,所述主控芯片比较所述第一数据计数器小于已接收的固件包的数据长度时,还包括:
所述主控芯片比较读取到的已接收的固件包数据中的校验值与根据已接收的固件包数据计算得到的校验值是否相同;
若相同,所述主控芯片将读取到的固件包数据保存到所述主控芯片的程序区。
6.根据权利要求1所述的固件加载升级的方法,其特征在于,步骤S4具体包括:
S41:所述主控芯片通知所述通信模组连接远程服务器,所述通信模组与远程服务器建立连接,获取待确认升级固件个数;
S42:所述主控芯片设置固件计数器为所述待确认升级固件个数;
S43:所述主控芯片根据所述固件计数器判断是否升级完成;
若是,执行步骤S44,否则,执行步骤S45;
S44:所述主控芯片通知所述通信模组断开与所述远程服务器的连接;
S45:所述主控芯片通过所述通信模组从所述远程服务器获取固件包的固件版本;
S46、所述主控芯片比较获取到的所述固件版本是否与所述通信模组存储的相应固件的版本一致;
若一致,所述主控芯片更新所述固件计数器,返回步骤S43,否则,执行步骤S47;
S47、所述主控芯片通过所述通信模组从所述远程服务器读取固件数据长度;
S48、所述主控芯片初始化第二数据计数器、服务器数据读取地址、通信模组数据写入地址和固件校验值,并设置所述第二数据计数器为第二常数,所述第二常数小于所述固件数据长度;
S49、所述主控芯片比较所述第二数据计数器计数值是否小于所述固件数据长度;
若是,执行步骤S50,否则执行步骤S53;
S50、主控芯片通过通信模组从所述远程服务器读取固件包数据;
S51、主控芯片将读到的固件包数据写入通信模组的存储区;
S52、主控芯片更新所述第二数据计数器、服务器数据读取地址、通信模组数据写入地址,返回步骤S49;
S53、所述主控芯片将固件信息写入通信模组的存储区,更新所述固件计数器,返回步骤S43。
7.根据权利要求6所述的固件加载升级的方法,其特征在于,步骤S51之前还包括:
所述主控芯片对读取到的固件数据计算固件校验值;
所述主控芯片比较对读取的固件数据计算得到的固件校验值是否与从所述固件包中获取到的固件校验值是否一致;
若是,执行步骤S51;
否则,升级失败,清除数据,返回步骤S43。
8.一种固件加载升级的装置,所述装置应用于同时存在主控芯片和通信模组的设备,其特征在于,所述装置包括固件加载模块和固件升级模块:
所述固件加载模块包括第一读取单元、第一比较单元和第一判断单元;
所述第一读取单元,用于主控芯片上电时,确定设备将要运行的工作模式,判断所述主控芯片的程序区中是否存储有设备将要运行的工作模式对应的固件包;
若是,所述主控芯片加载所述固件包,并从所述通信模组的存储区中读取所述固件包的应用数据包,执行第一判断单元;
否则,所述主控芯片从所述通信模组的存储区中读取所述固件包和所述固件包的应用数据包,执行所述第一比较单元;
所述第一比较单元,用于所述主控芯片比较从所述通信模组中读取到的固件包的校验值和对读取到的所述固件包进行计算得到的校验值是否一致;
若一致,加载所述固件包和所述应用数据包,进入设备启动流程,执行第一判断单元;
否则,加载固件失败,发出提示信息;
所述第一判断单元,用于设备启动完成后,所述主控芯片根据预置条件或接收到的升级指令,执行固件升级模块;
所述固件升级模块包括第二读取单元和第二比较单元;
第二读取单元,用于所述主控芯片通过所述通信模组从远程服务器获取设备需要升级的固件包;
第二比较单元,用于所述主控芯片比较对从远程服务器获取的固件包进行计算得到固件校验值与从所述远程服务器获取固件包中的固件校验值是否相同;
若相同,所述主控芯片将所述固件包写入所述通信模组的存储区;
若不相同,升级失败,清除数据。
9.一种终端设备,其特征在于,包括:处理器和存储器;
所述存储器,用于存储计算机程序;
所述处理器,用于通过调用所述计算机程序,执行如权利要求1至权利要求7中任一项所述的固件加载升级的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在计算机上运行时,使得计算机执行如权利要求1至权利要求7中任一项所述的固件加载升级的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310658852.9A CN116382745B (zh) | 2023-06-06 | 2023-06-06 | 一种固件加载升级的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310658852.9A CN116382745B (zh) | 2023-06-06 | 2023-06-06 | 一种固件加载升级的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116382745A true CN116382745A (zh) | 2023-07-04 |
CN116382745B CN116382745B (zh) | 2023-09-19 |
Family
ID=86967906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310658852.9A Active CN116382745B (zh) | 2023-06-06 | 2023-06-06 | 一种固件加载升级的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116382745B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112364394A (zh) * | 2020-11-11 | 2021-02-12 | 中国信息安全测评中心 | 一种固态硬盘的安全防护方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105988843A (zh) * | 2015-02-15 | 2016-10-05 | 腾讯科技(深圳)有限公司 | 移动终端固件升级方法及固件升级装置 |
CN106027294A (zh) * | 2016-05-13 | 2016-10-12 | 广东欧珀移动通信有限公司 | 终端网络接入的固件加载方法和系统 |
CN106843942A (zh) * | 2016-12-31 | 2017-06-13 | 歌尔科技有限公司 | 穿戴式设备的固件升级方法及穿戴式设备 |
US20200193027A1 (en) * | 2018-12-18 | 2020-06-18 | Ubtech Robotics Corp Ltd | Firmware upgrade method, slave station of robot, and machine readable storage medium |
CN114268614A (zh) * | 2020-09-15 | 2022-04-01 | 松下家电(中国)有限公司 | 一种设备固件升级方法、装置及系统 |
-
2023
- 2023-06-06 CN CN202310658852.9A patent/CN116382745B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105988843A (zh) * | 2015-02-15 | 2016-10-05 | 腾讯科技(深圳)有限公司 | 移动终端固件升级方法及固件升级装置 |
CN106027294A (zh) * | 2016-05-13 | 2016-10-12 | 广东欧珀移动通信有限公司 | 终端网络接入的固件加载方法和系统 |
CN106843942A (zh) * | 2016-12-31 | 2017-06-13 | 歌尔科技有限公司 | 穿戴式设备的固件升级方法及穿戴式设备 |
US20200193027A1 (en) * | 2018-12-18 | 2020-06-18 | Ubtech Robotics Corp Ltd | Firmware upgrade method, slave station of robot, and machine readable storage medium |
CN114268614A (zh) * | 2020-09-15 | 2022-04-01 | 松下家电(中国)有限公司 | 一种设备固件升级方法、装置及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112364394A (zh) * | 2020-11-11 | 2021-02-12 | 中国信息安全测评中心 | 一种固态硬盘的安全防护方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116382745B (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105912356B (zh) | 一种支持版本回退的光模块固件程序在线升级方法 | |
EP2375323A1 (en) | Firmware image update and management | |
US8930931B2 (en) | Information processing apparatus using updated firmware and system setting method | |
US11314665B2 (en) | Information processing system, information processing device, BIOS updating method for information processing device, and BIOS updating program for information processing device | |
EP3879399B1 (en) | Method and apparatus for upgrading vehicle-mounted tbox, device, and storage medium | |
CN116382745B (zh) | 一种固件加载升级的方法和装置 | |
CN112328358B (zh) | 一种基于虚拟机的双系统启动方法及存储介质 | |
CN108345464A (zh) | 一种安卓系统的启动方法及安卓车机 | |
CN117130672A (zh) | 服务器启动流程控制方法、系统、终端及存储介质 | |
CN114064084A (zh) | Onu的升级管理方法、存储介质、电子装置和onu | |
CN116301973A (zh) | 固件升级方法、装置、设备及可读存储介质 | |
CN116185510A (zh) | 分区切换启动方法、阵列服务器和计算机可读存储介质 | |
CN114741119A (zh) | 系统的启动方法、装置、计算机设备和存储介质 | |
CN104834574B (zh) | 一种解决系统分区损坏的方法及装置 | |
CN114237722A (zh) | 一种系统的启动方法、装置、设备及工程车辆 | |
CN114995845A (zh) | Ota升级方法和设备 | |
CN107247642B (zh) | 用于系统开机时确定可执行映像文件的方法及装置 | |
CN113407217B (zh) | 芯片程序升级方法、通信设备及计算机可读存储介质 | |
CN117234544B (zh) | 服务器设备进行系统恢复的方法和装置 | |
CN100469001C (zh) | 可使用通用随插即用通信协议更新软件程序的系统及方法 | |
CN114064097B (zh) | 软件升级方法、终端设备及存储介质 | |
CN115469935A (zh) | 智能终端的启动方法及相关设备 | |
CN116089153A (zh) | Bmc异常因素确认方法、系统、终端及存储介质 | |
CN117389598A (zh) | 配置更新加固方法、装置、电子设备和存储介质 | |
CN115292085A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |