CN110825421A - 一种固件升级方法、系统及可读存储介质 - Google Patents
一种固件升级方法、系统及可读存储介质 Download PDFInfo
- Publication number
- CN110825421A CN110825421A CN201911204713.9A CN201911204713A CN110825421A CN 110825421 A CN110825421 A CN 110825421A CN 201911204713 A CN201911204713 A CN 201911204713A CN 110825421 A CN110825421 A CN 110825421A
- Authority
- CN
- China
- Prior art keywords
- ddr
- initialized
- embedded
- storage medium
- primary boot
- 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
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
-
- 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
Abstract
本申请公开了一种固件升级方法、系统及可读存储介质。本申请公开的方法包括:上位机获取嵌入式设备中DDR的初始化标志,判断DDR是否已初始化;若DDR未初始化,则嵌入式设备中的辅CPU烧录一级boot至嵌入式设备,并重启嵌入式设备;嵌入式设备中的主CPU利用嵌入式设备中烧录的一级boot初始化DDR,并将DDR的初始化标志调整为已完成;辅CPU获取分区文件,并将分区文件写入初始化后的DDR;控制嵌入式设备中的数据搬运器件将DDR中的分区文件烧录至嵌入式设备中的掉电存储介质。本申请中的主CPU在确定DDR未初始化时,利用一级boot对DDR进行初始化,能够避免DDR配置脚本的编写,减少技术人员的工作量,简化了固件升级流程,提高了固件升级效率。
Description
技术领域
本申请涉及软件升级技术领域,特别涉及一种固件升级方法、系统及可读存储介质。
背景技术
在现有技术中,当利用嵌入式设备中的辅CPU(Central Processing Unit,中央处理器)和DDR(Double Data Rate Synchronous Dynamic Random Access Memory,双倍速率同步动态随机存储器)进行固件升级时,需要技术人员根据DDR的型号和主板型号编写对应的DDR配置脚本,进而利用DDR配置脚本对DDR进行初始化。但由于DDR型号和主板型号众多,技术人员需要对每种DDR和主板都编写相应的DDR配置脚本,如此将增加技术人员的工作量。
并且,现有技术在利用嵌入式设备中的辅CPU和DDR进行固件升级时,不管当前嵌入式设备中的DDR是否需要初始化,都会利用DDR配置脚本对DDR进行初始化。因为现有技术无法判别嵌入式设备中的DDR是否需要初始化,而初始化DDR是利用辅CPU和DDR进行固件升级的必要操作。需要说明的是,有时嵌入式设备中的DDR已经是初始化状态,因而无需进行初始化。可见,现有的固件升级方法会增加无谓的初始化操作,从而降低了固件升级效率。
其中,辅CPU是相对于嵌入式设备中的主CPU而言的,例如:嵌入式设备中的ARM(ARM处理器)、MIPS(Microprocessor without interlocked piped stagesarchitecture)为MIPS架构的主CPU,而嵌入式设备中的电源管理CPU则为辅CPU。一般来说,能够为嵌入式设备提供最基础、最底层工作的软件可称之为固件。
因此,如何提高固件升级效率,减少技术人员的工作量,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种固件升级方法、系统及可读存储介质,以提高固件升级效率,减少技术人员的工作量。其具体方案如下:
第一方面,本申请提供了一种固件升级方法,包括:
上位机获取嵌入式设备中DDR的初始化标志,判断所述DDR是否已初始化;
若DDR未初始化,则嵌入式设备中的辅CPU烧录一级boot至嵌入式设备,并重启嵌入式设备;
嵌入式设备中的主CPU利用嵌入式设备中烧录的一级boot初始化DDR,并将DDR的初始化标志调整为已完成;
辅CPU获取分区文件,并将分区文件写入初始化后的DDR;控制嵌入式设备中的数据搬运器件将DDR中的分区文件烧录至嵌入式设备中的掉电存储介质。
优选地,判断所述DDR是否已初始化,包括:
上位机判断初始化标志是否为已完成。
优选地,嵌入式设备中的辅CPU烧录一级boot至嵌入式设备,包括:
辅CPU从上位机获取一级boot,并将获取到的一级boot加载至嵌入式设备中的sram;控制数据搬运器件将sram中的一级boot烧录至掉电存储介质。
优选地,控制数据搬运器件将sram中的一级boot烧录至掉电存储介质之后,还包括:
辅CPU将一级boot烧录完成的消息发送至上位机。
优选地,嵌入式设备中的主CPU利用嵌入式设备中烧录的一级boot初始化DDR,包括:
主CPU读取掉电存储介质中的一级boot,并将读取到的一级boot加载至sram,在sram中运行一级boot,以初始化DDR。
优选地,控制嵌入式设备中的数据搬运器件将DDR中的分区文件烧录至嵌入式设备中的掉电存储介质之后,还包括:
辅CPU将分区文件烧录完成的消息发送至上位机。
优选地,还包括:
若DDR已初始化,则辅CPU获取分区文件,并将分区文件写入初始化后的DDR;控制嵌入式设备中的数据搬运器件将DDR中的分区文件烧录至嵌入式设备中的掉电存储介质。
第二方面,本申请提供了一种固件升级系统,上位机和嵌入式设备,所述嵌入式设备包括:主CPU、辅CPU、数据搬运器件、DDR和掉电存储介质,其中:
上位机,用于获取嵌入式设备中DDR的初始化标志,判断所述DDR是否已初始化;
主CPU,利用嵌入式设备中烧录的一级boot初始化DDR,并将DDR的初始化标志调整为已完成;
辅CPU,用于若DDR未初始化,则烧录一级boot至嵌入式设备,并重启嵌入式设备;获取分区文件,并将分区文件写入初始化后的DDR;控制数据搬运器件将DDR中的分区文件烧录至掉电存储介质。
第三方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,计算机程序被处理器执行时实现前述公开的固件升级方法。
通过以上方案可知,本申请提供了一种固件升级方法,包括:上位机获取嵌入式设备中DDR的初始化标志,判断所述DDR是否已初始化;若DDR未初始化,则嵌入式设备中的辅CPU烧录一级boot至嵌入式设备,并重启嵌入式设备;嵌入式设备中的主CPU利用嵌入式设备中烧录的一级boot初始化DDR,并将DDR的初始化标志调整为已完成;辅CPU获取分区文件,并将分区文件写入初始化后的DDR;控制嵌入式设备中的数据搬运器件将DDR中的分区文件烧录至嵌入式设备中的掉电存储介质。
可见,该方法在上位机获取嵌入式设备中DDR的初始化标志后,首先判断所述DDR是否已初始化;若DDR未初始化,则嵌入式设备中的辅CPU烧录一级boot至嵌入式设备,并重启嵌入式设备,以便嵌入式设备中的主CPU利用一级boot初始化DDR,并将DDR的初始化标志调整为已完成;在DDR初始化后,辅CPU获取分区文件,并将分区文件写入初始化后的DDR;进而控制嵌入式设备中的数据搬运器件将DDR中的分区文件烧录至嵌入式设备中的掉电存储介质,从而完成固件升级。其中,本申请中的主CPU利用一级boot对DDR进行初始化,能够避免技术人员编写DDR配置脚本,从而减少了技术人员的工作量;同时,在确定DDR未初始化时,才进行DDR的初始化操作,如此将不会增加无谓的初始化操作,能够简化固件升级流程,提高固件升级效率。
相应地,本申请提供的一种固件升级系统及可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的第一种固件升级方法流程图;
图2为本申请公开的第二种固件升级方法流程图;
图3为本申请公开的第三种固件升级方法流程图;
图4为图3中的一级boot烧录流程图;
图5为图3中的初始化DDR和分区文件烧录流程图;
图6为本申请公开的一种固件升级系统示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了更清楚地说明本申请公开的方案,此处对于本申请针对的现有技术进行简要概述。在现有技术中,可以使用主CPU升级固件,具体过程可以为:嵌入式设备上电后,运行ROM程序,一级boot在sram中执行,完成DDR的初始化,二级boot在DDR中执行,二级boot通过网口、USB等接口升级。采用此种升级方式的前提条件是:一级boot和二级boot已经存在于系统的掉电存储介质中,并且一级boot和二级boot都能正确运行。
当然,还可以用辅CPU替换主CPU来升级固件。使用辅CPU升级固件,需要主板支持某一种外部调试方式(比如:I2C、UART、SPI、SBUS、DBUS等)访问辅CPU的寄存器,并且可以通过上述调试接口传输数据到sram和DDR中。而大多数外部调试方式都支持上述功能,因此可利用嵌入式设备中的辅CPU升级固件。用辅CPU升级固件的具体过程可以为:嵌入式设备上电后,停止系统主CPU,加载辅CPU升级程序,启动辅CPU,将升级文件写入内存,辅CPU完成升级。
在上述现有技术的基础上,本申请为解决固件升级效率慢的技术问题。提供了一种固件升级方案,能够减少技术人员的工作量,简化固件升级流程,提高固件升级效率。
参见图1所示,本申请实施例公开了第一种固件升级方法,包括:
S101、上位机获取嵌入式设备中DDR的初始化标志,判断所述DDR是否已初始化;
在一种具体实施方式中,判断DDR是否已初始化,包括:上位机判断初始化标志是否为已完成。因为本实施例在利用一级boot初始化DDR后,会将DDR的初始化标志调整为已完成,因此若初始化标志为已完成,则表明DDR已完成初始化,当前处于初始化状态。当然,若初始化后的DDR掉电,相应的初始化标志会被调整为未完成。其中,可以通过写寄存器来标记DDR初始化完成或未完成。
S102、若DDR未初始化,则嵌入式设备中的辅CPU烧录一级boot至嵌入式设备,并重启嵌入式设备;
S103、嵌入式设备中的主CPU利用嵌入式设备中烧录的一级boot初始化DDR,并将DDR的初始化标志调整为已完成;
S104、辅CPU获取分区文件,并将分区文件写入初始化后的DDR;控制嵌入式设备中的数据搬运器件将DDR中的分区文件烧录至嵌入式设备中的掉电存储介质。
需要说明的是,一级boot包括的数据量较小,一般只有几十到几百Kbytes,因此可在嵌入式设备中的sram中运行。而分区文件包括的数据量较大,一般是上百Mbytes,无法一次性放入sram。分区文件中一般包括:二级boot、boot.img、usrdata、system.img等。boot为CPU启动所需的引导程序。
若分区文件中的二级boot需要通过sram升级,则需要数据搬运器件(例如:DirectMemory Access,直接内存存取)首先将二级boot包括的部分数据写入sram(StaticRandom-Access Memory,静态随机存取存储器),待sram中数据的烧录至掉电存储介质,也就是sram清空后,再将二级boot包括的另一部分数据写入sram,如此反复直至二级boot全部被烧录至掉电存储介质。其中,掉电存储介质可以为EMMC(Embedded Multi Media Card,嵌入式多媒体控制器),也可以为NAND闪存。
sram的存储空间较小。若利用嵌入式设备中的辅CPU和sram进行固件升级,由于需要多次搬运二级boot,每次搬运之前,需要辅CPU配置数据搬运器件,这样会使升级流程复杂化,且辅CPU的运行效率比较慢,因此会降低升级效率。
本实施例可以避免多次搬运分区文件包括的数据。因为DDR的存储空间较大,一般为1Gbytes以上,整个分区文件可以一次性写入DDR。
其中,数据搬运器件是直接访问存储器的硬件设备,需要配置数据搬运器件的起始地址、目标地址、搬运的数据size,其搬运过程不需要CPU干预,不受CPU速率的影响,但搬运之前需要CPU配置起始地址、目标地址、搬运的数据size等内容。
在一种具体实施方式中,控制嵌入式设备中的数据搬运器件将DDR中的分区文件烧录至嵌入式设备中的掉电存储介质之后,还包括:辅CPU将分区文件烧录完成的消息发送至上位机,以便在上位机展示该消息,通知用户固件升级已完成。上位机可以是各种计算机,如笔记本电脑(Notebook或Laptop),台式机(Desktop)等。
在一种具体实施方式中,若DDR已初始化,则辅CPU获取分区文件,并将分区文件写入初始化后的DDR;控制嵌入式设备中的数据搬运器件将DDR中的分区文件烧录至嵌入式设备中的掉电存储介质。
可见,本实施例中的上位机在获取到嵌入式设备中DDR的初始化标志后,根据该初始化标志判断DDR是否已初始化;若DDR未初始化,则嵌入式设备中的辅CPU烧录一级boot至嵌入式设备,并重启嵌入式设备,以便嵌入式设备中的主CPU利用一级boot初始化DDR,并将DDR的初始化标志调整为已完成;在DDR初始化后,辅CPU获取分区文件,并将分区文件写入初始化后的DDR;进而控制嵌入式设备中的数据搬运器件将DDR中的分区文件烧录至嵌入式设备中的掉电存储介质,从而完成固件升级。其中,本申请中的主CPU利用一级boot对DDR进行初始化,能够避免技术人员编写DDR配置脚本,从而减少了技术人员的工作量;同时,在确定DDR未初始化时,才进行DDR的初始化操作,如此将不会增加无谓的初始化操作,能够简化固件升级流程,提高固件升级效率。
参见图2所示,本申请实施例公开了第二种固件升级方法,包括:
S201、上位机获取嵌入式设备中DDR的初始化标志,判断DDR是否已初始化;
S202、若DDR未初始化,则嵌入式设备中的辅CPU从上位机获取一级boot,并将获取到的一级boot加载至嵌入式设备中的sram;控制数据搬运器件将sram中的一级boot烧录至掉电存储介质,并重启嵌入式设备;
S203、嵌入式设备中的主CPU读取掉电存储介质中的一级boot,并将读取到的一级boot加载至sram,在sram中运行一级boot,以初始化DDR,并将DDR的初始化标志调整为已完成;
S204、辅CPU获取分区文件,并将分区文件写入初始化后的DDR;控制嵌入式设备中的数据搬运器件将DDR中的分区文件烧录至嵌入式设备中的掉电存储介质。
在一种具体实施方式中,控制数据搬运器件将sram中的一级boot烧录至掉电存储介质之后,还包括:辅CPU将一级boot烧录完成的消息发送至上位机。
在一种具体实施方式中,控制嵌入式设备中的数据搬运器件将DDR中的分区文件烧录至嵌入式设备中的掉电存储介质之后,还包括:辅CPU将分区文件烧录完成的消息发送至上位机。
在一种具体实施方式中,若DDR已初始化,则辅CPU获取分区文件,并将分区文件写入初始化后的DDR;控制嵌入式设备中的数据搬运器件将DDR中的分区文件烧录至嵌入式设备中的掉电存储介质。
需要说明的是,主CPU和辅CPU使用的是相同的DDR控制器和总线,所以辅CPU可以使用一级boot对DDR进行初始化。其中,一级boot的作用是初始化DDR以及引导分区文件中的二级boot的运行;二级boot的运行可引导系统启动。本实施例中的实现步骤与上述实施例相同或类似,必要时可相互参照,故本实施例不再赘述。
可见,本实施例中的上位机在获取到嵌入式设备中DDR的初始化标志后,根据该初始化标志判断DDR是否已初始化;若DDR未初始化,则嵌入式设备中的辅CPU烧录一级boot至嵌入式设备,并重启嵌入式设备,以便嵌入式设备中的主CPU利用一级boot初始化DDR,并将DDR的初始化标志调整为已完成;在DDR初始化后,辅CPU获取分区文件,并将分区文件写入初始化后的DDR;进而控制嵌入式设备中的数据搬运器件将DDR中的分区文件烧录至嵌入式设备中的掉电存储介质,从而完成固件升级。其中,本申请中的主CPU利用一级boot对DDR进行初始化,能够避免技术人员编写DDR配置脚本,从而减少了技术人员的工作量;同时,在确定DDR未初始化时,才进行DDR的初始化操作,如此将不会增加无谓的初始化操作,能够简化固件升级流程,提高固件升级效率。
按照本申请提供的固件升级方法,可设计如下升级流程,在此升级流程中,辅CPU为电源管理CPU:8051,简称PM51。主CPU为ARM cortex A53,简称A53。整体流程请参见图3,在图3中,主板指嵌入式设备;其他分区文件包括:内核和根文件系统镜像boot.img,android系统分区system.img,android数据分区userdata.img等。
具体的,一级boot烧录流程请参见图4。在图4中,停止A53、PM51,加载、启动PM51,运行升级程序等都是PC(personal computer,个人计算机)通过外部调试方式(比如:I2C、UART、SPI、SBUS、DBUS等)来实现。初始化DDR流程和分区文件烧录请参见图5。
需要说明的是,本实施例中的主CPU包括但不限于A53;数据搬运控制器包括但不限于DMA;辅CPU包括但不限于电源管理CPU,电源管理CPU包括但不限于8051;掉电存储介质包括但不限于EMMC。本实施例中的实现步骤与上述实施例相同或类似,必要时可相互参照,故本实施例不再赘述。
可见,按照本实施例示意的固件升级流程,无需编写DDR配置脚本,未增加额外成本,从而降低了技术人员的工作量和成本;相比于利用辅CPU和sram进行固件升级的方法,本实施例无需多次搬运数据,升级效率得到了提升;相比于利用主CPU升级固件的方法,本实施例无需手动使嵌入式设备的主控芯片支持各种外部调试方式,在主板变成砖头或者主板没有任何程序的情况下也能完成升级。
下面对本申请实施例提供的一种固件升级系统进行介绍,下文描述的一种固件升级系统与上文描述的一种固件升级方法可以相互参照。
参见图6所示,本申请实施例公开了一种固件升级系统,包括:上位机和嵌入式设备,嵌入式设备包括:主CPU、辅CPU、数据搬运器件、DDR和掉电存储介质,其中:
上位机,用于获取嵌入式设备中DDR的初始化标志,判断DDR是否已初始化;
主CPU,利用嵌入式设备中烧录的一级boot初始化DDR,并将DDR的初始化标志调整为已完成;
辅CPU,用于若DDR未初始化,则烧录一级boot至嵌入式设备,并重启嵌入式设备;获取分区文件,并将分区文件写入初始化后的DDR;控制数据搬运器件将DDR中的分区文件烧录至掉电存储介质。
在一种具体实施方式中,上位机具体用于:判断初始化标志是否为已完成。
在一种具体实施方式中,辅CPU具体用于:从上位机获取一级boot,并将获取到的一级boot加载至嵌入式设备中的sram;控制数据搬运器件将sram中的一级boot烧录至掉电存储介质。
在一种具体实施方式中,辅CPU具体用于:将一级boot烧录完成的消息发送至上位机。
在一种具体实施方式中,主CPU具体用于:读取掉电存储介质中的一级boot,并将读取到的一级boot加载至sram,在sram中运行一级boot,以初始化DDR。
在一种具体实施方式中,辅CPU具体用于:将分区文件烧录完成的消息发送至上位机。
在一种具体实施方式中,辅CPU具体用于:若DDR已初始化,则获取分区文件,并将分区文件写入初始化后的DDR;控制嵌入式设备中的数据搬运器件将DDR中的分区文件烧录至嵌入式设备中的掉电存储介质。
可见,本实施例提供了一种固件升级系统,在该系统中,嵌入式设备中的主CPU利用一级boot对DDR进行初始化,能够避免技术人员编写DDR配置脚本,从而减少了技术人员的工作量;同时,在确定DDR未初始化时,才进行DDR的初始化操作,如此将不会增加无谓的初始化操作,能够简化固件升级流程,提高固件升级效率。
下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种固件升级方法及系统可以相互参照。
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的固件升级方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种固件升级方法,其特征在于,包括:
上位机获取嵌入式设备中DDR的初始化标志,判断所述DDR是否已初始化;
若所述DDR未初始化,则所述嵌入式设备中的辅CPU烧录一级boot至所述嵌入式设备,并重启所述嵌入式设备;
所述嵌入式设备中的主CPU利用所述嵌入式设备中烧录的一级boot初始化所述DDR,并将所述DDR的初始化标志调整为已完成;
所述辅CPU获取分区文件,并将所述分区文件写入初始化后的所述DDR;控制所述嵌入式设备中的数据搬运器件将所述DDR中的分区文件烧录至所述嵌入式设备中的掉电存储介质。
2.根据权利要求1所述的固件升级方法,其特征在于,所述判断所述DDR是否已初始化,包括:
所述上位机判断所述初始化标志是否为已完成。
3.根据权利要求1所述的固件升级方法,其特征在于,所述嵌入式设备中的辅CPU烧录一级boot至所述嵌入式设备,包括:
所述辅CPU从上位机获取所述一级boot,并将获取到的所述一级boot加载至所述嵌入式设备中的sram;控制所述数据搬运器件将所述sram中的一级boot烧录至所述掉电存储介质。
4.根据权利要求3所述的固件升级方法,其特征在于,所述控制所述数据搬运器件将所述sram中的一级boot烧录至所述掉电存储介质之后,还包括:
所述辅CPU将所述一级boot烧录完成的消息发送至所述上位机。
5.根据权利要求3所述的固件升级方法,其特征在于,所述嵌入式设备中的主CPU利用所述嵌入式设备中烧录的一级boot初始化所述DDR,包括:
所述主CPU读取所述掉电存储介质中的一级boot,并将读取到的所述一级boot加载至所述sram,在所述sram中运行所述一级boot,以初始化所述DDR。
6.根据权利要求1所述的固件升级方法,其特征在于,所述控制所述嵌入式设备中的数据搬运器件将所述DDR中的分区文件烧录至所述嵌入式设备中的掉电存储介质之后,还包括:
所述辅CPU将所述分区文件烧录完成的消息发送至上位机。
7.根据权利要求1至6任一项所述的固件升级方法,其特征在于,还包括:
若所述DDR已初始化,则所述辅CPU获取分区文件,并将所述分区文件写入初始化后的所述DDR;控制所述嵌入式设备中的数据搬运器件将所述DDR中的分区文件烧录至所述嵌入式设备中的掉电存储介质。
8.一种固件升级系统,其特征在于,包括:上位机和嵌入式设备,所述嵌入式设备包括:主CPU、辅CPU、数据搬运器件、DDR和掉电存储介质,其中:
所述上位机,用于获取所述嵌入式设备中DDR的初始化标志,判断所述DDR是否已初始化;
所述主CPU,利用所述嵌入式设备中烧录的一级boot初始化所述DDR,并将所述DDR的初始化标志调整为已完成;
所述辅CPU,用于若所述DDR未初始化,则烧录一级boot至所述嵌入式设备,并重启所述嵌入式设备;获取分区文件,并将所述分区文件写入初始化后的所述DDR;控制所述数据搬运器件将所述DDR中的分区文件烧录至所述掉电存储介质。
9.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的固件升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911204713.9A CN110825421B (zh) | 2019-11-29 | 2019-11-29 | 一种固件升级方法、系统及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911204713.9A CN110825421B (zh) | 2019-11-29 | 2019-11-29 | 一种固件升级方法、系统及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110825421A true CN110825421A (zh) | 2020-02-21 |
CN110825421B CN110825421B (zh) | 2023-08-22 |
Family
ID=69542160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911204713.9A Active CN110825421B (zh) | 2019-11-29 | 2019-11-29 | 一种固件升级方法、系统及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110825421B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535238A (zh) * | 2020-04-15 | 2021-10-22 | 浙江宇视科技有限公司 | 一种针对ddr的兼容方法、装置、存储介质及设备 |
CN114661368A (zh) * | 2022-05-19 | 2022-06-24 | 中昊芯英(杭州)科技有限公司 | 一种芯片及其启动方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030110368A1 (en) * | 2001-12-10 | 2003-06-12 | Kartoz Michael F. | Method and system for initializing a hardware device |
JP2009217336A (ja) * | 2008-03-07 | 2009-09-24 | Nec Corp | 計算機システム、ネットワークブートロードシステム、及び、そのブートロード方法 |
CN103024547A (zh) * | 2012-12-28 | 2013-04-03 | 北京赛科世纪数码科技有限公司 | 一种启动控制方法、启动控制装置及数字电视机顶盒 |
CN104021014A (zh) * | 2014-05-23 | 2014-09-03 | 江苏兆伏新能源有限公司 | 一种基于双cpu系统的固件升级方法 |
US20140304497A1 (en) * | 2013-04-05 | 2014-10-09 | Samsung Electronics Co., Ltd. | Electronic device having function of booting operating system by bootloader, method of performing the same function, and storage medium |
WO2014183497A1 (zh) * | 2013-11-29 | 2014-11-20 | 中兴通讯股份有限公司 | 一种设备、设备启动方法及计算机存储介质 |
US20150277932A1 (en) * | 2014-03-28 | 2015-10-01 | Fujitsu Limited | Information processing apparatus and method for controlling information processing apparatus |
CN105608023A (zh) * | 2014-10-29 | 2016-05-25 | 梅特勒-托利多(常州)测量技术有限公司 | 嵌入式系统软件的dram存储数据保护方法及系统 |
CN106528213A (zh) * | 2016-10-31 | 2017-03-22 | 中冶华天南京工程技术有限公司 | 嵌入式终端设备固件升级方法及系统 |
CN109168088A (zh) * | 2018-09-14 | 2019-01-08 | 青岛海信传媒网络技术有限公司 | 一种智能电视系统的启动方法、装置及智能电视 |
CN109614798A (zh) * | 2017-09-30 | 2019-04-12 | 华为技术有限公司 | 安全启动方法、装置及终端设备 |
CN110347444A (zh) * | 2019-07-12 | 2019-10-18 | 深圳忆联信息系统有限公司 | 一种ssd多状态切换的启动方法及其系统 |
-
2019
- 2019-11-29 CN CN201911204713.9A patent/CN110825421B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030110368A1 (en) * | 2001-12-10 | 2003-06-12 | Kartoz Michael F. | Method and system for initializing a hardware device |
JP2009217336A (ja) * | 2008-03-07 | 2009-09-24 | Nec Corp | 計算機システム、ネットワークブートロードシステム、及び、そのブートロード方法 |
CN103024547A (zh) * | 2012-12-28 | 2013-04-03 | 北京赛科世纪数码科技有限公司 | 一种启动控制方法、启动控制装置及数字电视机顶盒 |
US20140304497A1 (en) * | 2013-04-05 | 2014-10-09 | Samsung Electronics Co., Ltd. | Electronic device having function of booting operating system by bootloader, method of performing the same function, and storage medium |
WO2014183497A1 (zh) * | 2013-11-29 | 2014-11-20 | 中兴通讯股份有限公司 | 一种设备、设备启动方法及计算机存储介质 |
US20150277932A1 (en) * | 2014-03-28 | 2015-10-01 | Fujitsu Limited | Information processing apparatus and method for controlling information processing apparatus |
CN104021014A (zh) * | 2014-05-23 | 2014-09-03 | 江苏兆伏新能源有限公司 | 一种基于双cpu系统的固件升级方法 |
CN105608023A (zh) * | 2014-10-29 | 2016-05-25 | 梅特勒-托利多(常州)测量技术有限公司 | 嵌入式系统软件的dram存储数据保护方法及系统 |
CN106528213A (zh) * | 2016-10-31 | 2017-03-22 | 中冶华天南京工程技术有限公司 | 嵌入式终端设备固件升级方法及系统 |
CN109614798A (zh) * | 2017-09-30 | 2019-04-12 | 华为技术有限公司 | 安全启动方法、装置及终端设备 |
CN109168088A (zh) * | 2018-09-14 | 2019-01-08 | 青岛海信传媒网络技术有限公司 | 一种智能电视系统的启动方法、装置及智能电视 |
CN110347444A (zh) * | 2019-07-12 | 2019-10-18 | 深圳忆联信息系统有限公司 | 一种ssd多状态切换的启动方法及其系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535238A (zh) * | 2020-04-15 | 2021-10-22 | 浙江宇视科技有限公司 | 一种针对ddr的兼容方法、装置、存储介质及设备 |
CN113535238B (zh) * | 2020-04-15 | 2024-02-02 | 浙江宇视科技有限公司 | 一种针对ddr的兼容方法、装置、存储介质及设备 |
CN114661368A (zh) * | 2022-05-19 | 2022-06-24 | 中昊芯英(杭州)科技有限公司 | 一种芯片及其启动方法 |
CN114661368B (zh) * | 2022-05-19 | 2022-09-06 | 中昊芯英(杭州)科技有限公司 | 一种芯片及其启动方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110825421B (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8484631B2 (en) | Supporting hardware configuration changes in a UEFI firmware component | |
US10216936B2 (en) | Method of preventing computer malfunction, computer program, and computer | |
US20080010446A1 (en) | Portable apparatus supporting multiple operating systems and supporting method therefor | |
US20030233534A1 (en) | Enhanced computer start-up methods | |
US20140325496A1 (en) | Apparatus and method for firmware upgrade using usb | |
US9239725B2 (en) | System and method for installing an OS via a network card supporting PXE | |
US20140325203A1 (en) | Backing up firmware during initialization of device | |
JP6399916B2 (ja) | 情報処理装置およびその制御方法 | |
JP2002244874A (ja) | 情報処理装置およびファームウェア更新方法 | |
JP2013520744A (ja) | 最小ブートイメージの生成方法及びその装置 | |
CN111857776A (zh) | Dsp板卡类的应用程序的在线升级方法 | |
CN105760191A (zh) | 嵌入式系统设备程序烧写量产方法 | |
CN103514015A (zh) | 一种从存储介质中启动操作系统的方法和装置 | |
JP2010500682A (ja) | フラッシュメモリアクセス回路 | |
CN110825421B (zh) | 一种固件升级方法、系统及可读存储介质 | |
US8291206B2 (en) | Method for booting computer system | |
US20050223209A1 (en) | Apparatus for fast booting computer and method for the same | |
TWI743480B (zh) | 電腦系統與其開機方法 | |
CN102760063B (zh) | 一种文件加载方法及装置 | |
JP2005182812A (ja) | コンピュータシステムにおいてイメージファイルを格納するシステムおよび方法 | |
JP2007299249A (ja) | Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 | |
CN108052337A (zh) | 一种eMMC量产工具的固件升级方法及装置 | |
WO2008048581A1 (en) | A processing device operation initialization system | |
JP4735765B2 (ja) | Linuxプログラム起動システム | |
KR101249831B1 (ko) | 컴퓨터 시스템 및 그 부팅 방법 |
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 |