CN101770372B - 固件更新系统、方法以及固件更新系统的固件建构方法 - Google Patents
固件更新系统、方法以及固件更新系统的固件建构方法 Download PDFInfo
- Publication number
- CN101770372B CN101770372B CN 200810187737 CN200810187737A CN101770372B CN 101770372 B CN101770372 B CN 101770372B CN 200810187737 CN200810187737 CN 200810187737 CN 200810187737 A CN200810187737 A CN 200810187737A CN 101770372 B CN101770372 B CN 101770372B
- Authority
- CN
- China
- Prior art keywords
- firmware
- information
- judge
- update
- reflection
- 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.)
- Expired - Fee Related
Links
Images
Abstract
一种固件更新系统、方法以及固件更新系统的固件建构方法,是于电子装置中设置具有第一固件及第二固件的固件储存模块,且该第一固件及第二固件具有至少包含循环冗余校验总和信息及映像标头文件建置时间信息的标头文件数据,以于执行新固件的更新时,分别依据该第一固件及第二固件中的循环冗余校验总和信息判断两者是否异常,若其中之一经判断为异常时,则将异常的固件替换为该新固件,若经判断两者均正常,则比对两者中的映像标头文件建置时间信息,以将建置时间较早的固件替换为该新固件,藉此确保即使固件更新作业失败,也可以保留一个正常的固件进行后续的固件更新作业。
Description
技术领域
本发明关于一种固件更新技术,更详而言之,是关于一种能确保固件更新作业失败时,也可以保留一个正常的固件进行后续的固件更新作业的固件更新系统、方法以及固件更新系统的固件建构方法。
背景技术
于现今各种电脑应用设备中,许多硬件的运作均由固件(Firmware)来负责启动及执行,例如光碟机、数据机等等,而固件的储存装置也由早期无法更新的装置逐步发展为可更新的装置,例如快闪唯读内存(以下简称Flash ROM)、电子可抹除式唯读内存(EEPROM)等非挥发性内存,由是,固件更新作业亦已由早期必须将设备送回原厂以执行固件更新的方式,逐渐转变为使用者可透过网络系统自行下载更新程式以进行固件更新的方式。
目前使用者自行将固件更新的通用做法是由原制造厂商于网络服务器端提供固件的更新文件,而后使用者透过网络系统下载该固件的更新文件,并经由固件更新程式将该固件更新文件写入至用于储存固件的内存中,以覆盖原先的固件,进而完成固件的更新作业。
采用上述方式执行固件更新作业时,必须确定使用者电脑端已呈开机状态且处于诸如DOS、Window或Linux等作业系统环境之中,方可正常执行该固件更新作业。
然而,前述由使用者操作控制的固件在更新时可能发生无法预期的异常状况,例如,在固件更新的过程中,发生系统断电的状况,而使固件更新产生无法预期的错误,或者如windows或Linux等作业系统自身存在一些错误(bug),而在固件更新过程中突显出来(如系统突然重启),从而导致固件在更新时产生错误。
当固件更新的过程中发生异常情形时,因原有的固件已于固件更新过程中被覆盖而清除,则使得固件所在的设备(例如光碟机等)或系统无法继续运行,如此使用者则无法再次写入由网络上下载的更新文件至该设备或系统中,导致固件所在的设备或系统必须送回原厂进行维修及更新,造成使用者的不便以及原制造厂商处理上的困扰。
因此,在固件由使用者自行进行更新的必然趋势下,如何提供一种固件更新技术以及固件更新的固件建构技术,于固件更新时,即使发生固件更新异常的状况仍可使设备或系统得以于后续执行固件更新作业,实为目前亟欲解决的技术问题。
发明内容
鉴于上述现有技术的缺点,本发明的一目的在于提一种固件更新系统、方法以及固件更新系统的固件建构方法,于固件更新时,即使发生固件更新异常的状况仍可使设备或系统得以于后续执行固件更新作业。
为达上述目的及其他相关目的,本发明提供一种固件更新系统,用以对具有固件的电子装置执行固件的更新作业,该固件更新系统包括:固件储存模块、接收模块、判断模块、以及更新模块。其中,该固件储存模块设置于该电子装置中,至少用以储存第一固件以及第二固件,该第一固件及该第二固件具有映像标头文件数据,且该映像标头文件数据至少包含循环冗余校验总和信息以及映像标头文件建置时间信息;该接收模块用于接收固件更新执行指令,以获取新固件;该判断模块用以接收固件更新执行指令,以依据该接收模块获取的新固件中的循环冗余校验总和信息判断该新固件是否异常,若判断为异常则结束该固件的更新程序,若判断为正常则分别依据该固件储存模块所储存的该第一固件以及该第二固件中的循环冗余校验总和信息判断该第一固件以及该第二固件是否异常,若判断该第一固件以及该第二固件的其中之一发生异常,则锁定该发生异常的固件为目标固件,若判断该第一固件以及该第二固件均为正常,则比对该固件储存模块所储存的该第一固件以及该第二固件中的映像标头文件建置时间信息,以锁定映像标头文件建置时间较早的固件为目标固件,若该第一固件以及该第二固件均发生异常,则结束该固件更新程序;该更新模块用以将该判断模块所锁定的目标固件替换为该新固件,以完成该电子装置的固件更新作业。
此外,本发明的该固件更新系统还包括固件执行模块,该固件执行模块用以重新执行该电子装置中的可执行固件。
需要特别指明的是,该判断模块还用以于该固件执行模块重新启动执行该固件前,分别依据该固件储存模块所储存的该第一固件以及该第二固件中的循环冗余校验总和信息判断经固件更新后的该第一固件或该第二固件是否异常,若判断该第一固件以及该第二固件的其中之一发生异常,则锁定正常的固件为可执行固件,若判断该第一固件以及该第二固件均为正常,则比对该固件储存模块所储存的该第一固件以及该第二固件中的映像标头文件建置时间信息,锁定映像标头文件建置时间较晚的固件为可执行固件,若判断该第一固件以及该第二固件均发生异常,则结束该系统启动。
为达上述相同目的,本发明还提供固件更新方法,用以对具有固件的电子装置执行固件的更新作业,该电子装置中具有固件储存模块,该固件储存模块储存有第一固件以及第二固件,其中,该第一固件及第二固件中分别至少具有包含循环冗余校验总和信息以及映像标头文件建置时间信息的映像标头文件数据,该固件更新方法包括:首先,于接收到固件更新执行指令时,获取该新固件;其次,对该新固件中的循环冗余校验总和信息进行判断,于该循环冗余校验总和信息吻合时,进至下一步骤;再次,分别依据该第一固件以及该第二固件中的循环冗余校验总和信息判断该第一固件以及该第二固件是否异常,若判断该第一固件以及该第二固件的其中之一发生异常,则锁定该发生异常的固件为目标固件,若判断该第一固件以及该第二固件均为正常,则比对该第一固件以及该第二固件中的映像标头文件建置时间信息,以锁定映像标头文件建置时间较早的固件为目标固件,若判断该第一固件以及该第二固件均发生异常,则结束该固件更新过程;最后,将锁定的目标固件替换为该新固件,以完成该电子装置的固件更新作业。
于本发明的固件更新方法,还包括以下步骤:将该目标固件替换为新固件后重启,并分别依据该第一固件以及该第二固件中的循环冗余校验总和信息判断该第一固件以及该第二固件是否异常,若判断该第一固件以及该第二固件的其中之一发生异常,则执行正常的固件,若判断该第一固件以及该第二固件均为正常,则比对该第一固件以及该第二固件中的映像标头文件建置时间信息,以执行该映像标头文件建置时间较晚的固件,若判断该第一固件以及该第二固件均发生异常,则结束该固件启动程序。
于本发明的固件更新方法,于识别码信息比对步骤之前还包括:依据该新固件中的循环冗余校验总和信息判断该新固件是否异常,若是,则结束该固件更新程序,若否,则进至该识别码信息比对步骤。
再者,本发明亦提供一种固件更新系统的固件建构方法,包括:首先,设定固件存储的最大文件长度;其次,合并内核文件数据与文件系统数据为临时文件数据;再次,建置映像标头文件数据,其中,该映像标头文件数据至少包含循环冗余校验总和信息以及该映像标头文件建置时间信息;接着,加入该映像标头文件数据至该临时文件数据,以生成固件;最后,判断该固件实际文件长度是否小于该设定固件存储的最大文件长度,若是,则增加该临时文件数据的文件长度至该固件实际文件长度符合设定固件存储的最大文件长度。
相较于现有技术,本发明提供一种固件更新系统、方法以及固件更新系统的固件建构方法,主要接收到固件更新执行指令时,获取该新固件,对该新固件中的循环冗余校验总和信息判断,以于该循环冗余校验总和信息吻合时,分别依据该第一固件以及该第二固件中的循环冗余校验总和信息判断该第一固件以及该第二固件是否异常,若判断该第一固件以及该第二固件的其中之一发生异常,则锁定该发生异常的固件为目标固件,若判断该第一固件以及该第二固件均为正常,则比对该第一固件以及该第二固件中的映像标头文件建置时间信息,并锁定映像标头文件建置时间较早的固件为目标固件,若判断该第一固件以及该第二固件均发生异常,则结束该固件的更新程序,最后将锁定的目标固件替换为该新固件,藉此以在固件更新时,确保电子装置中有一个正常的固件,得以于后续再次执行固件更新作业时能防止因固件更新失败所造成系统无法启动的情事,即有效克服了现有技术中的种种缺失。
附图说明
图1为本发明的固件更新系统的基本架构方块的示意图;
图2A及图2B为本发明的固件更新方法的实施例流程示意图;以及
图3显示本发明的固件更新系统的固件建构方法的流程示意图。
主要元件符号说明
1 电子装置 10 固件更新系统
100 固件储存模块 110 接收模块
120 判断模块 130 更新模块
140 固件执行模块 2 服务器端
S100~S150、S300~S318 步骤
具体实施方式
以下是藉由特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其他优点与功效。本发明也可以藉由其他不同的具体实例加以施行或应用,本说明书中的各项细节也可以基于不同观点与应用,在不悖离本发明的精神下进行各种修饰与变更。
请参阅图1,为本发明的固件更新系统的基本架构方块的示意图。如图所示,本创作提供一种固件更新系统10,用以对具有固件的电子装置执行固件的更新作业,具体地,应用于例如路由器的电子装置1中,用以依据前述固件更新文件的建构方法于服务器端2所生成的固件更新文件对电子装置1执行固件的更新作业。
如图所示,本发明的固件更新系统10包括固件储存模块100、接收模块110、判断模块120、更新模块130、以及固件执行模块140,以下即对上揭各物件进行详细的说明。
该固件储存模块100设置于该电子装置1中,至少用以储存第一固件以及第二固件,该第一固件及该第二固件具有映像标头文件数据,且该映像标头文件数据至少包含循环冗余校验总和信息、以及映像标头文件建置时间信息;在本实施例中,该循环冗余校验总和信息包括标头校验总和信息、文件长度信息、以及数据校验总和信息,在本实施例中,该固件储存模块100为快闪唯读内存(Flash ROM),但不以此为限,该固件储存模块100也可以为电子可抹除式唯读内存(EEPROM)或者其他非挥发性内存。
该接收模块110用以接收固件更新执行指令,而获取新固件,在本实施例中,该接收模块110透过网络传输方式自该服务器端2下载该固件更新文件,但不以此为限,该接收模块110也可以透过光碟读取方式或USB读取方式等数据传输方式予以下载。
该判断模块120用以接收固件更新执行指令,对该接收模块110获取的新固件中的循环冗余校验总和信息判断该新固件是否异常时,若异常则结束该固件更新过程,若正常则分别依据该固件储存模块100所储存的该第一固件以及该第二固件中的循环冗余校验总和信息判断该第一固件以及该第二固件是否异常,若判断该第一固件以及该第二固件的其中之一发生异常,则锁定该发生异常的固件为目标固件,若判断该第一固件以及该第二固件均为正常,则比对该固件储存模块100所储存的该第一固件以及该第二固件中的映像标头文件建置时间信息,并锁定映像标头文件建置时间较早的固件为目标固件,若判断该第一固件以及该第二固件均发生异常,则结束该固件更新程序。
该更新模块130用以依据该判断模块120所锁定的目标固件,以将该固件储存模块100中的目标固件替换为该新固件,以完成该电子装置1的固件更新作业。
该固件执行模块140用以重新执行该电子装置1中可执行固件。
在本实施例中,该判断模块120还用以于该固件执行模块140重新启动执行该固件前,分别依据该固件储存模块140所储存的该第一固件以及该第二固件中的循环冗余校验总和信息判断经固件更新后的该第一固件或该第二固件是否异常,若判断该第一固件以及该第二固件的其中之一发生异常,则锁定正常的固件为可执行固件,若判断该第一固件以及该第二固件均为正常,则比对该固件储存模块100所储存的该第一固件以及该第二固件中的映像标头文件建置时间信息,锁定映像标头文件建置时间较晚的固件为可执行固件,若判断该第一固件以及该第二固件均发生异常,则结束该系统启动。
因此,应用本发明的固件更新系统,则可在固件更新过程中选择异常或文件建置时间最早的固件进行更新,从而可让电子装置中始终都具有一个较新版本的固件,倘若固件更新的作业成功,电子装置则会依据固件的文件建置时间信息执行最新的固件,反之,若固件更新的作业失败,则执行原先建置时间较早的(即旧的)固件,亦不会因固件更新的作业失败而让电子装置无法启用,而需送回原制造厂商进行维修及更新,如此,本发明即可避免使用者的不便及原制造厂商处理上的困扰。
透过上述固件更新系统,执行本发明的固件更新方法的实施例流程,呈如图2A及图2B所示。该固件更新方法用以对具有固件的电子装置1执行固件的更新作业,该电子装置1中具有固件储存模块100,该固件储存模块100储存有第一固件以及第二固件,其中,该第一固件及第二固件中分别至少具有包含循环冗余校验总和信息以及映像标头文件建置时间信息的映像标头文件数据,该固件更新方法包括以下步骤:
首先进行步骤S300,于该电子装置1接收到固件更新执行指令时,透过网络传输方式自该服务器端2获取该新固件,并产生启动讯号,而该新固件的获取方式并不局限于网络传输方式,在其他实施例中,也可以透过光碟读取方式、USB读取方式或其他数据传输方式予以进行。接着进至步骤S301。
在步骤S301中,由于获取新固件过程中,可能会因网络传输故障造成新固件下载不完全等异常,则需依据该新固件中的循环冗余校验总和信息判断该新固件是否异常,若是,则进至步骤S302,若否,则进至步骤S303。
在步骤S302中,判断是否重新获取该新固件,若是,返回步骤S301。若否,则结束。在本实施例中,即重新透过网络传输方式自该服务器端2下载该新固件。
在步骤S303中,由于在服务器端2提供的新固件的版本可能不止一种(即同时提供多种对应不同制造厂商的固件更新文件),使用者可能在下载该新固件前未详尽了解该新固件的应用对象,而下载错误版本的新固件,于此判断对该新固件中的循环冗余校验总和信息是否吻合,若是,则进至步骤S305,若否,则进至步骤S304。
在步骤S304中,重新获取另一版本的新固件,在本实施例中,即重新透过网络传输方式自该服务器端2下载另一版本的新固件。接着,返回至步骤S301。
在步骤S305中,依据该第一固件中的循环冗余校验总和信息判断该第一固件是否异常,若是,则进至步骤S306,若否,则进至步骤S308。
在步骤S306中,依据该第二固件中的循环冗余校验总和信息判断该第二固件是否异常,若是(表示该第一固件以及该第二固件均发生异常),则结束该固件更新过程,若否(表示仅该第一固件发生异常),则进至步骤S307。
在步骤S307中,锁定该第一固件为目标固件。接着进行步骤S311。
在步骤S308中,依据该第二固件中的循环冗余校验总和信息判断该第二固件是否异常,若是(表示仅该第二固件发生异常),则进至步骤S310,若否(表示该第一固件以及该第二固件均正常),则进至步骤S309。
在步骤S309中,比对该第一固件中的文件建置时间信息是否早于该第二固件中的文件建置时间信息,若是,则进至S307,若否,则进至步骤S310。
在步骤S310中,锁定该第二固件为目标固件。接着进行步骤S311。
在步骤S311中,依据所锁定的目标固件,将该目标固件替换为该新固件,以完成该电子装置的固件更新作业。接着进行步骤S312。
在步骤S312中,启动该电子装置,以使固件更新作业生效。接着进行步骤S313。
在步骤S313中,依据该第一固件中的循环冗余校验总和信息判断该第一固件是否异常,若是,则进至步骤S317,若否,则进至步骤S314。
在步骤S314中,依据该第二固件中的循环冗余校验总和信息判断该第二固件是否异常,若是(表示仅该第二固件发生异常),则进至步骤S315,若否(表示该第一固件以及该第二固件均正常),则进至步骤S316。
在步骤S315中,执行该第一固件,此时,即完成该固件更新过程。
在步骤S316中,比对该第一固件中的文件建置时间信息是否早于该第二固件中的文件建置时间信息,若是,则进至S318,若否,则进至步骤S315。
在步骤S317中,依据该第二固件中的循环冗余校验总和信息判断该第二固件是否异常,若是(表示该第一固件以及该第二固件均发生异常),则结束该固件更新过程,若否(表示仅该第一固件发生异常),则进至步骤S318。
在步骤S318中,执行该第二固件,此时,即完成该固件更新过程。
此处须予以说明的是,上述步骤S305、S306、S308与步骤S313、S314、S317中关于第一固件以及第二固件是否异常的判断次序以第一固件作为优先判断对象,但并非以此为限,也可以以第二固件作为优先判断对象,而以第一固件作为第二判断对象。
请参阅图3,图3显示本发明的固件更新系统的固件建构方法的流程示意图;在本实施例中,本发明的固件更新系统的固件建构方法搭建于服务器端并由制造厂商构建完成,以生成新固件供使用者于电子装置自行更新使用,如图所示,首先执行步骤S100,设定固件存储的最大文件长度;接着进行步骤S110。
在步骤S110中,合并内核文件数据与文件系统数据为临时文件数据;接着进至步骤S120。
在步骤S120中,建置映像标头文件数据,其中,该映像标头文件数据至少包含循环冗余校验总和信息、以及该映像标头文件建置时间信息;在本实施例中,该映像标头文件数据还包括识别码信息;该循环冗余校验总和信息包括标头校验总和(header CRC checksum)信息、文件长度(data size)信息、以及数据校验总和(data CRC checksum)信息。接着进至步骤S130。
需要说明的是,该固件更新文件至少包含内核(kernel)文件数据以及文件系统(file system)数据;该识别码信息为包含制造厂商信息的产品序列号,该循环冗余校验总和信息用以提供验证该信息所在文件是否发生异常之用,惟,以循环冗余校验总和信息验证文件是否异常的技术应为所属领域熟知的技术,在此不再为文赘述,此外,由于内核文件数据的实际文件长度会因编译时间以及版本的不同而有不同的长度,如此,则会影响后续欲与该内核文件数据合并的文件系统数据的起始位元位址的配置,而且,通常该文件系统数据的执行从固定的起始位址开始,是故,在该步骤中还设定该内核文件数据的最大文件长度,以确保该文件系统数据的起始位址在固定位址段,即为(内核文件数据起始位址)+(最大文件长度)+1的位址。
在步骤S130中,加入该映像标头文件数据至该临时文件数据,以生成固件,以供电子装置的使用者自行依需求来使用;接着进至步骤S140。
在步骤S140中,判断该固件实际长度是否小于该设定固件存储的最大长度,若是,接着进至步骤S150;若否,则完成构建。
在步骤S150中,则增加该临时文件数据的长度至该固件实际长度符合设定固件存储的最大长度,即可完成构建作业。
承上所述,本发明提供一固件更新系统、方法以及固件更新系统的固件建构方法,本发明提供一种固件更新系统、方法以及固件更新系统的固件建构方法,主要接收到固件更新执行指令时,获取该新固件,对该新固件中的循环冗余校验总和信息判断,并于该循环冗余校验总和信息吻合时,分别依据该第一固件以及该第二固件中的循环冗余校验总和信息判断该第一固件以及该第二固件是否异常,若判断该第一固件以及该第二固件的其中之一发生异常,则锁定该发生异常的固件为目标固件,若判断该第一固件以及该第二固件均为正常,则比对该第一固件以及该第二固件中的映像标头文件建置时间信息,并锁定映像标头文件建置时间较早的固件为目标固件,若判断该第一固件以及该第二固件均发生异常,则结束对该固件的更新程序,最后依据锁定的目标固件,将该目标固件替换为该新固件。
藉此,本发明可在固件更新过程中选择异常或文件建置时间较早的固件进行更新,从而可让电子装置中始终都具有一个较新版本的固件,倘若固件更新的作业成功,电子装置则会依据固件的文件建置时间信息执行最新的固件,反之,若固件更新的作业失败,则执行原先建置时间较早的固件,亦不会因固件更新的作业失败而让电子装置无法启用,更无法再次进行固件更新的作业,而需送回原制造厂商进行维修及更新,如此,本发明即可避免现有技术中,因客户端无法自行排除在固件更新的作业中所产生的错误,而导致使用者的不便及原制造厂商处理上的困扰。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。本领域技术人员可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修改或改变,仍应由权利要求书所涵盖。
Claims (10)
1.一种固件更新系统,用以对具有固件的电子装置执行固件的更新作业,其特征在于,该固件更新系统包括:
固件储存模块,设置于该电子装置中,至少用以储存第一固件以及第二固件,该第一固件及该第二固件具有映像标头文件数据,且该映像标头文件数据至少包含循环冗余校验总和信息以及映像标头文件建置时间信息;
接收模块,用于接收固件更新执行指令,以获取新固件;
判断模块,用以接收固件更新执行指令,以依据该接收模块获取的新固件中的循环冗余校验总和信息判断该新固件是否异常,若经判断为异常则结束该固件更新程序,若经判断为正常则分别依据该固件储存模块所储存的该第一固件以及该第二固件中的循环冗余校验总和信息判断该第一固件以及该第二固件是否异常,若判断该第一固件以及该第二固件的其中之一发生异常,则锁定该发生异常的固件为目标固件,若判断该第一固件以及该第二固件均为正常,则比对该固件储存模块所储存的该第一固件以及该第二固件中的映像标头文件建置时间信息,以锁定映像标头文件建置时间较早的固件为目标固件,若判断该第一固件以及该第二固件均发生异常,则结束该固件更新程序;以及
更新模块,用以将该判断模块所锁定的目标固件替换为该新固件,以完成该电子装置的固件更新作业。
2.如权利要求1所述的固件更新系统,其特征在于:还包括固件执行模块,用以重新执行该电子装置中的可执行固件。
3.如权利要求2所述的固件更新系统,其特征在于:该判断模块还用以于该固件执行模块重新执行该可执行固件前,分别依据该固件储存模块所储存的该第一固件以及该第二固件中的循环冗余校验总和信息判断经固件更新后的该第一固件或该第二固件是否异常,若判断该第一固件以及该第二固件的其中之一发生异常,则锁定正常的固件为可执行固件,若判断该第一固件以及该第二固件均为正常,则比对该固件储存模块所储存的该第一固件以及该第二固件中的映像标头文件建置时间信息,锁定映像标头文件建置时间较晚的固件为可执行固件,若判断该第一固件以及该第二固件均发生异常,则结束该系统启动。
4.如权利要求1所述的固件更新系统,其特征在于:该循环冗余校验总和信息包括标头校验总和信息、文件长度信息、以及数据校验总和信息。
5.如权利要求1所述的固件更新系统,其特征在于:该新固件的获取方式是透过网络传输方式、光碟读取方式以及USB读取方式的其中之一。
6.一种固件更新方法,用以对具有固件的电子装置执行固件的更新作业,该电子装置中具有固件储存模块,该固件储存模块储存有第一固件以及第二固件,其中,该第一固件及第二固件中分别至少具有包含循环冗余校验总和信息以及映像标头文件建置时间信息的映像标头文件数据,该固件更新方法包括:
于接收到固件更新执行指令时,获取该新固件;
对该新固件中的循环冗余校验总和信息判断,并于该循环冗余校验总和信息吻合时,进至下一步骤;
分别依据该第一固件以及该第二固件中的循环冗余校验总和信息判断该第一固件以及该第二固件是否异常,若判断该第一固件以及该第二固件的其中之一发生异常,则锁定该发生异常的固件为目标固件,若判断该第一固件以及该第二固件均为正常,则比对该第一固件以及该第二固件中的映像标头文件建置时间信息,并锁定映像标头文件建置时间较早的固件为目标固件,若判断该第一固件以及该第二固件均发生异常,则结束该固件更新程序;以及
依据所锁定的目标固件,将该目标固件替换为该新固件,以完成该电子装置的固件更新作业。
7.如权利要求6所述的固件更新方法,其特征在于:在该电子装置启动后还包括:
分别依据该第一固件以及该第二固件中的循环冗余校验总和信息判断该第一固件以及该第二固件是否异常,若判断该第一固件以及该第二固件的其中之一发生异常,则执行正常的固件,若判断该第一固件以及该第二固件均为正常,则比对该第一固件以及该第二固件中的映像标头文件建置时间信息,以执行该映像标头文件建置时间较晚的固件,若判断该第一固件以及该第二固件均发生异常,则结束该固件启动程序。
8.如权利要求6所述的固件更新方法,其特征在于:该映像标头文件数据还包括识别码信息,提供于识别码信息比对步骤,用以判断该新固件中的识别码信息与该第一固件或该第二固件中的识别码信息不相同时,则重新获取另一版本的新固件。
9.如权利要求8所述的固件更新方法,其特征在于:于该识别码信息比对步骤之前还包括:
依据该新固件中的循环冗余校验总和信息判断该新固件是否异常,若是,则结束该固件更新程序,若否,则进至该识别码信息比对步骤。
10.一种固件更新系统的固件建构方法,其特征在于,包括:
设定固件存储的最大文件长度;
合并内核文件数据与文件系统数据为临时文件数据;
建置映像标头文件数据,其中,该映像标头文件数据至少包含循环冗余校验总和信息以及该映像标头文件建置时间信息;
加入该映像标头文件数据至该临时文件数据,以生成固件;
判断该固件实际长度是否小于该设定固件存储的最大长度,若是,则增加该临时文件数据的长度至该固件实际长度符合设定固件存储的最大长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810187737 CN101770372B (zh) | 2008-12-31 | 2008-12-31 | 固件更新系统、方法以及固件更新系统的固件建构方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810187737 CN101770372B (zh) | 2008-12-31 | 2008-12-31 | 固件更新系统、方法以及固件更新系统的固件建构方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101770372A CN101770372A (zh) | 2010-07-07 |
CN101770372B true CN101770372B (zh) | 2012-12-05 |
Family
ID=42503251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810187737 Expired - Fee Related CN101770372B (zh) | 2008-12-31 | 2008-12-31 | 固件更新系统、方法以及固件更新系统的固件建构方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101770372B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI570592B (zh) * | 2015-07-01 | 2017-02-11 | 廣達電腦股份有限公司 | 更新電腦韌體的系統、方法與電腦可讀取儲存媒體 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857358A (zh) * | 2011-06-29 | 2013-01-02 | 环旭电子股份有限公司 | 可修复固件的客户端设备及其固件修复方法 |
CN103136127B (zh) * | 2011-11-28 | 2016-03-09 | 启碁科技股份有限公司 | 电子装置、电子装置识别系统及电子装置的识别方法 |
CN103455354B (zh) * | 2013-09-06 | 2017-04-12 | 南京南自信息技术有限公司 | 一种防止固件升级失败的方法和设备 |
CN104765628A (zh) * | 2015-03-10 | 2015-07-08 | 惠州Tcl移动通信有限公司 | 一种移动终端更新触摸屏固件的方法及系统 |
CN105912355A (zh) * | 2016-01-29 | 2016-08-31 | 北京云迹科技有限公司 | 一种智能机器人硬件程序升级的方法及系统 |
CN106201439B (zh) * | 2016-09-09 | 2019-09-20 | 深圳怡化电脑股份有限公司 | 一种异常处理的方法及装置 |
CN106484475A (zh) * | 2016-10-09 | 2017-03-08 | 珠海全志科技股份有限公司 | 固件启动方法、装置及嵌入式设备 |
CN109947439B (zh) * | 2017-12-15 | 2022-04-08 | 库币科技有限公司 | 封闭式储存装置的韧体更新方法 |
CN111367538B (zh) * | 2018-12-25 | 2023-05-02 | 技钢科技股份有限公司 | 免开机更新在板数据的电子装置 |
CN109885430B (zh) * | 2019-02-20 | 2021-06-29 | 广州视源电子科技股份有限公司 | 系统安全隐患的修复方法、装置、修复系统、设备和介质 |
CN112601075B (zh) * | 2020-12-07 | 2023-06-20 | 上海商米科技集团股份有限公司 | 一种基于双镜像的网络摄像机升级故障恢复系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1612118A (zh) * | 2003-10-31 | 2005-05-04 | 华硕电脑股份有限公司 | 固件更新的方法及执行此方法的系统 |
US6907602B2 (en) * | 2000-08-10 | 2005-06-14 | Mustek Systems Inc. | Method for updating firmware of computer device |
CN1641575A (zh) * | 2004-01-05 | 2005-07-20 | 华硕电脑股份有限公司 | 固件更新处理方法及应用程序 |
CN101281468A (zh) * | 2007-04-06 | 2008-10-08 | 三星电子株式会社 | 生成固件更新文件和更新固件的方法和设备 |
-
2008
- 2008-12-31 CN CN 200810187737 patent/CN101770372B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6907602B2 (en) * | 2000-08-10 | 2005-06-14 | Mustek Systems Inc. | Method for updating firmware of computer device |
CN1612118A (zh) * | 2003-10-31 | 2005-05-04 | 华硕电脑股份有限公司 | 固件更新的方法及执行此方法的系统 |
CN1641575A (zh) * | 2004-01-05 | 2005-07-20 | 华硕电脑股份有限公司 | 固件更新处理方法及应用程序 |
CN101281468A (zh) * | 2007-04-06 | 2008-10-08 | 三星电子株式会社 | 生成固件更新文件和更新固件的方法和设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI570592B (zh) * | 2015-07-01 | 2017-02-11 | 廣達電腦股份有限公司 | 更新電腦韌體的系統、方法與電腦可讀取儲存媒體 |
Also Published As
Publication number | Publication date |
---|---|
CN101770372A (zh) | 2010-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101770372B (zh) | 固件更新系统、方法以及固件更新系统的固件建构方法 | |
EP1433060B1 (en) | Crash recovery system | |
KR100675518B1 (ko) | 모듈식 바이오스 업데이트 메커니즘 | |
EP2641175B1 (en) | Networked recovery system | |
US7991988B2 (en) | Communication device and firmware update method thereof | |
US9507604B2 (en) | Boot method and boot system | |
US20100169709A1 (en) | System Of Updating Firmware And Method Thereof, And Method Of Creating Firmware | |
CN100373337C (zh) | 一种嵌入式系统的引导系统 | |
CN106020875B (zh) | 嵌入式终端的固件更新管理方法和装置 | |
CN102667716A (zh) | 使用固件更新应用程序更新部件的固件的方法及装置 | |
US20170039053A1 (en) | Field update of boot loader using regular device firmware update procedure | |
CN113626822B (zh) | 集成LinuxBoot的UEFI固件启动方法及装置 | |
CN101526903B (zh) | 通讯装置及其固件更新方法 | |
JP2001331327A (ja) | 電子機器 | |
CN101807149B (zh) | 可安全复原的固件更新方法及其嵌入式电子装置 | |
CN104991805A (zh) | 智能设备及其系统灾备控制方法 | |
WO2016000355A1 (zh) | 终端升级方法及装置 | |
CN115481405A (zh) | 一种嵌入式系统的安全启动和优化升级方法 | |
CN114237722A (zh) | 一种系统的启动方法、装置、设备及工程车辆 | |
US11768669B2 (en) | Installing application program code on a vehicle control system | |
CN112711430A (zh) | 基于adb的非网络设备升级方法、系统及可读存储介质 | |
CN112311552A (zh) | 具有固件的电子设备及其操作方法 | |
JP2021114173A (ja) | 情報処理装置、情報処理装置の処理方法およびプログラム | |
US20230129942A1 (en) | Method for locking a rewritable non-volatile memory and electronic device implementing said method | |
US20230132214A1 (en) | Information processing apparatus and method of the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121205 Termination date: 20131231 |