本发明专利技术涉及一种嵌入式电子装置及更新其固件的方法。嵌入式电子装置包括第一储存单元及第二储存单元,而第二储存单元具有设定档分区、资料分区以及系统分区。本方法首先下载固件套件至第一储存单元,固件套件包括安装资讯档案与多个固件码档案。接着,将安装资讯档案与这些固件码档案分别写入至设定档分区与资料分区。之后,重新启动嵌入式电子装置,并执行系统分区中的启动程序以依据设定档分区中的安装资讯档案,依序自资料分区读取各固件码档案,以写入至系统分区。并且,在每次各固件码档案写入完成时,更新设定档分区中的写入进度。
【技术实现步骤摘要】
本专利技术有关于一种更新固件方法,且特别是有关于一种更新嵌入式电子装置的更 新固件的方法。
技术介绍
随着科技的进步,目前嵌入式电子装置(embedded electronic device)的更新方 法亦越来越多样化。例如,利用无线更新固件(Firmware Over-the-Air, F0TA)技术来更 新嵌入式电子装置的固件(firmware)。或者,亦可通过通用串行总线(Universal Serial Bus, USB)连线来执行固件更新。一般而言,固件会存放于与非门与非门快闪记忆体(NAND flash)之中。当要更新 固件时,使用者需先下载新版本固件,并执行固件更新程序。在固件更新程序检查新版本固 件无误之后,便开始将新版本固件直接烧录至与非门与非门快闪记忆体,以覆盖旧版本固 件。在更新完成后,重新启动系统,以让新版本固件开始运作。然而,在更新固件的过程中,可能会发生系统当机(crash)、电力中断、或固件更新 程序出错等问题。当这些问题其中之一发生时,便会因为新版本固件尚未完整写入与非门 与非门快闪记忆体,而无法正常地启动新版本固件。相对地,旧版本固件也会因为部分被新 版本固件覆盖,也无法启动。如此一来,嵌入式电子装置将会因为没有完整的固件,而无法 正常运作。
技术实现思路
本专利技术提供一种更新固件方法,能够避免因更新中断所造成系统毁损的问题。本专利技术提供一种嵌入式电子装置,可于断电而重新开机之后,在原写入进度的基 础上继续写入前次未更新的固件码。本专利技术提出一种更新固件方法,适于嵌入式电子装置。上述嵌入式电子装置包括 第一储存单元及第二储存单元,而第二储存单元具有设定档分区、资料分区以及系统分区, 且系统分区至少储存有嵌入式电子装置的固件。本方法包括下列步骤。下载固件套件至第 一储存单元,其中固件套件包括安装资讯档案以及多个固件码档案。接着,将安装资讯档案 与这些固件码档案分别写入至设定档分区与资料分区。之后,重新启动嵌入式电子装置,并 执行系统分区中的启动程序以执行固件写入操作。固件写入操作包括依据设定档分区中 的安装资讯档案,依序自资料分区读取各固件码档案,以写入至系统分区;并且,在每次各 固件码档案写入完成时,更新设定档分区中的写入进度,以在断电重新启动嵌入式电子装 置之后,由启动程序依据写入进度继续将余下的固件码档案写入至系统分区。在本专利技术的一实施例中,上述执行固件写入操作的步骤还包括分别判断各固件 码档案的档案大小是否超过预定大小。若档案大小超过预定大小,则在每次写入预定大小 之后,即更新写入进度,并在整个固件码档案写入完成时,更新写入进度。相反地,若档案大 小未超过预定大小,则在每次各固件码档案写入完成时,更新写入进度。6在本专利技术的一实施例中,在上述下载固件套件至第一储存单元的步骤之后,检查 第一储存单元的剩余容量是否满足资料分区中的本机资料。若第一储存单元的剩余容量满 足本机资料,则将资料分区中的本机资料备份至第一储存单元,之后,自资料分区抹除本机 资料。在本专利技术的一实施例中,在上述执行启动程序的步骤之后,判断设定档分区中的 安装资讯档案是否符合更新条件。若符合更新条件,则透过启动程序执行固件写入操作。若 不符合更新条件,则检查写入进度,以判断这些固件码档案是否已全部写入至系统分区中。 当判定这些固件码档案已全部写入至系统分区时,格式化资料分区,并在将备份于第一储 存装置的本机资料恢复至资料分区之后,删除设定档分区的安装资讯档案。相反地,当设定 档分区中的安装资讯档案不符合更新条件,且判定这些固件码档案尚未全部写入至系统分 区时,则关机,或者进入下载模式以重新下载固件套件。在本专利技术的一实施例中,上述固件写入操作的步骤还包括解密并初始化系统分区 中的分区表。在本专利技术的一实施例中,上述将安装资讯档案与固件码档案分别写入至设定档分 区与资料分区的步骤,其是在以二进制方式记录安装资讯档案至设定档分区之后,解析固 件套件的标头讯息,进而依据标头讯息,利用二进制方式将固件码档案写入至资料分区,而 将固件码档案转换为镜像资料。在本专利技术的一实施例中,在上述下载固件套件至第一储存单元的步骤之后,还可 验证固件套件的循环冗余检查(Cycle Redundancy Check, CRC)码。在本专利技术的一实施例中,上述第一储存单元例如是微安全数位(Micro SD, SD = Secure Digital)卡,上述第二储存单元例如是与非门快闪记忆体(NANDflash)。在本专利技术的一实施例中,上述资料分区为快闪转译层(Flash TranslationLayer, FTL)分区,上述设定档分区为无线更新固件(Firmware Over-the-Air, F0TA)分区。在本专利技术的一实施例中,上述启动程序例如为原来设备制造商二级启动程序 (Original Equipment Manufacturer Secondary Boot Loader, 0EMSBL)。在本专利技术的一实施例中,上述系统分区用以储存分区表、0EMSBL、高等移动用户 软件(Advanced Mobile Subscriber Software, AMSS)以及 QC 二级启动程序(Qualcomm Secondary Boot Loader)。本专利技术还提出一种嵌入式电子装置,包括第一储存单元、第二储存单元以及处理 单元。第一储存单元用以储存所载入的固件套件,其中固件套件包括安装资讯档案以及多 个固件码档案。第二储存单元具有设定档分区、资料分区以及系统分区,系统分区至少储存 嵌入式电子装置的固件。处理单元耦接第一储存单元与第二储存单元,处理单元用以下载 固件套件至第一储存单元,并且自第一储存单元取出安装资讯档案与固件码档案,以分别 写入至设定档分区与资料分区;之后,重新开机,并执行系统分区中的启动程序以执行固件 写入操作。上述固件写入操作包括依据设定档分区中的安装资讯档案,依序自资料分区读 取固件码档案,以写入至系统分区,并在每次各固件码档案写入完成时,更新设定档分区中 的写入进度,以在断电重新启动嵌入式电子装置之后,由启动程序依据写入进度继续将余 下的固件码档案写入至系统分区。基于上述,本专利技术是针对当前固件套件更新过程中的中止问题,也就是当更新过程中发生断电或其他意外而重新开机时,能够在前次写入进度的基础上继续更新余下的固 件码档案,增加更新固件的成功率。换言之,在固件写入过程中记录固件的写入进度,从而 保证在写入过程的任何阶段中,即便嵌入式电子装置重启,亦能够继续更新。为让本专利技术的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详 细说明如下。附图说明图1是依照本专利技术一实施例所绘示的更新固件方法的流程图。图2是依照本专利技术一实施例所绘示的写入安装资讯档案与固件码档案的方法流 程图。图3是依照本专利技术一实施例所绘示的固件写入操作的方法流程图。图4是依照本专利技术一实施例所绘示的嵌入式电子装置的方块图。图5是依照本专利技术一实施例所绘示的第二储存单元的示意图。图6是依照本专利技术一实施例所绘示的NAND快闪记忆体的示意图。主要元件符号说明400:嵌入式电子装置410 处理单元420 第一储存单元430:第二储存单元510,610 本文档来自技高网...
【技术保护点】
一种更新固件方法,适于一嵌入式电子装置,其包括第一储存单元及第二储存单元,该第二储存单元具有一设定档分区、一资料分区以及一系统分区,而该系统分区至少储存该嵌入式电子装置的一固件,该方法包括:下载一固件套件至该第一储存单元,其中该固件套件包括一安装资讯档案以及多个固件码档案;分别写入该安装资讯档案与该些固件码档案至该设定档分区与该资料分区;以及重新启动该嵌入式电子装置,并执行该系统分区中的一启动程序以执行一固件写入操作,该固件写入操作包括:依据该设定档分区中的安装资讯档案,依序自该资料分区读取该些固件码档案,而将该些固件码档案写入至该系统分区;以及在每次各该些固件码档案写入完成时,更新该设定档分区中的一写入进度,以在断电重新启动该嵌入式电子装置之后,由该启动程序依据该写入进度继续将余下的固件码档案写入至该系统分区。
【技术特征摘要】
【专利技术属性】
技术研发人员:刘国栋,
申请(专利权)人:英华达南京科技有限公司,
类型:发明
国别省市:84[中国|南京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。