电子装置及其在线更新固件的方法

文档序号:6462021阅读:140来源:国知局
专利名称:电子装置及其在线更新固件的方法
技术领域
本发明涉及的是一种电子装置在线更新固件的方法,更具 体地说,是一种节省存储空间并可以防止更新时意外情况导致 装置无法启动的在线更新固件的方法及装置。
背景技术
电子装置的固件,也叫做韧体,筒单来说,是在电子装置 中用来控制硬件的一种软件。诸如计算机等包括处理器或单芯 片的装置,都包括固件。固件承担着电子系统最基础、最底层工作,例如电子音乐播放器中的固件,以快闪存储器Flash作为 载体,与电子音乐播放器其它硬件电路同时存在,实现与计算 机通讯以及播》文器的应用功能,如音频播;改和录音等。随着技术的飞速发展,设备的更新速度越来越快,可以通 过更新固件的方式来升级电子装置的性能,在不用更换硬件电 路的前提下,可以解决电子装置原本存在的错误和兼容性问 题,改善操作方式,还可以实现新的功能。将电子装置与计算 机连接,可以进行固件在线更新。现在大部分电子装置的通讯 功能也是由同 一芯片固件实现的,因此如果在线更新失败的 话,则会导致设备无法识别和使用。防止更新失败导致电子装置无法使用的现有技术,主要是 采用备份固件的方法图la示出了现有技术的一种备份固件的 方法,在存储器10内,存储区101存储电子装置运行时所需要的 固件,另外还留有另一存储区102,用于存储备份固件,该备份 固件可以是出厂就固化的,也可以是在固件更新前所作的固件 备份。图lb示出了现有技术的另一备份固件的方法,存储器IO存储电子装置运行时所需要的固件,该电子装置中的另 一存储介质20,用于存储备份固件,该存储介质20是独立于存储器10的存储芯片。该备份固件也可以是出厂就固化的,或者是在固 件更新前所作的固件备份。当在线更新失败时,则由硬件将备份固件拷贝回存储器IO,代替原固件以恢复设备原来功能。然后重新进行在线更新动作,完成新版固件的更新。现有技术的在线更新方法,如果没有备份固件则在更新失 败时会导致更新失败后电子装置无法使用,但如果提供备份固 件的在线更新方法,需要在进行在线更新前对固件进行备份,则需要较长的操作时间;同时还需增加硬件电路,以当在线更 新失败时提供恢复备份固件使用,造成电子装置成本和体积的 增加;另夕卜,备份固件需要占用与原固件相同大小的存储空间, 且在存储空间不足以备份固件的时候,还会导致无法在线升级的问题。发明内容为了更有效地防止在线更新固件时的意外情况(如断电) 导致电子装置无法正常使用,节省存储空间,降低成本。本发 明提供了 一种无须备份的在线更新固件的方法及装置。基于上述目的,本发明提供一种电子装置在线更新固件的 方法对电子装置上电,电子装置具有一存储器,且存储器至 少包括一更新功能区, 一应用程序区以及一设备标准区。#1行 设备标准区的代码以判断应用程序区的代码是否需要更新。如 果应用程序区的代码需要更新,则进入一更新模式,运行更新 功能区的代码,以更新该应用程序区的代码。如果应用程序区 的代码不需要更新,则进入一正常模式,运行应用程序区的代 码。本发明还提供一种电子装置,能够在线更新固件电子装 置至少具有一存储器,存储器包括一设备标准区、 一更新功能 区、 一应用程序区以及一更新标志。其中i殳备标准区的代码决 定电子装置进入一更新模式还是一正常模式。更新功能区的代 码用以在设备标准区的代码引导下进入更新模式时,进行固件 更新。应用程序区的代码用以在设备标准区的代码引导下进入 一正常模式时,实现电子装置的应用功能。更新标志供设备标 准区的代码决定电子装置的工作模式,如果更新标志有效,则 进入更新模式,如果更新标志无效,则进入正常模式。本发明所述的电子装置及其在线更新固件的方法,节省存 储空间的同时,还减小设备的体积和成本。


图la是一现有技术的电子装置的存储器的示意图。 图lb是另 一现有技术的电子装置的存储器的示意图。 图2是本发明可在线更新固件的电子装置的 一 实施例的存 储器结构示意图。图3是本发明可在线更新固件方法的 一 实施例的流程图。附图中符号说明如下10:存储器20:存储介质101、 102:存储区200:存储器210:设备标准区220:更新功能区230:应用程序区231:更新标志。
具体实施方式
为了让本发明的目的、特征及优点能更明显易懂,下文特举较佳实施例,并配合所附图2至图3估支详细的说明。下面参照图2,图2是本发明 一 实施例的电子装置的存储器 结构示意图。存储器200在逻辑上划分为一设备标准区210, 一 更新功能区220以及一应用程序区230。逻库辱上划分,即是说, 存储器中的固件代码在编写时就被分为三个模块。其中设备标准区210的代码实现该电子装置的基本功能实 现标准请求处理,例如当电子装置与主机host (例如是一计算 机)连接时,设备标准区210的代码将处理主机发送过来的通讯 请求;另外,设备标准区210的代码还会决定该电子装置进入一 更新模式或者一正常模式,即设备标准区210的代码判断是执行能区220中的代码在该电子装置进入更新模式时执行,实现更新 请求处理,实现与主机通讯,并从主才几下载固件到应用程序区 230。应用程序区230中的代码在该电子装置进入正常模式时执 行,实现该电子装置的正常应用功能,举例而言,该电子装置 是一电子音乐播放器,则应用程序区230中的代码用来实现在正 常模式下与主机的通讯,以及作为电子音乐播放器的特定应用功能,如音频播放和录音等。另外,应用程序区230中还包括一 更新标志231,标识应用程序区230中的固件是否正确有效,以 供设备标准区210的代码来判断是进入更新模式还是正常模式。 当需要更新该电子装置的固件时,将该电子装置与主机连 接。通过主机上的应用界面发送一固件更新请求至电子装置, 当在正常模式下的电子装置探测到更新请求时,应用程序区230 的代码接收该更新请求,并将其中的更新标志231设为有效,并 复位电子装置,以便复位并再次上电以后可以引导至更新模式。当重新启动再次上电以后,从设备标准区210开始执行,会 先判断更新标志231是否有效。如果更新标志231无效,则如图2 中箭头A所示,引导进入正常模式下工作,执行电子装置的正 常功能。如果更新标志231有效,则如图2中箭头B所示,引导 进入更新模式,执行更新功能区220的代码。由于主机上的应用 界面已经发送固件更新请求至电子装置,而应用程序区230中的 更新标志231也已i殳为有效,所以在此情况下,会如图2中箭头 B所示,引导进入更新模式,执行更新功能区220的代码。在更新模式下,通过更新功能区220的代码的执行,电子装 置开始接收主机发送过来的新版固件并覆盖应用程序区230原 来的固件代码。新版固件是被分块下载的,在下载的过程中, 伴随每个固件块,主机同时还会查询应用程序区230中固件代码 的写入状况,确认当前固件块正确写入以后,主机才会再发下 一个固件块,如此一来,可以保持主机与电子装置同步。当主 机发送最后一个固件块,并查询其写入状况时,如果电子装置 返回的状况信息表明电子装置已准备好并且无错误出现,则说 明更新成功。其中,由更新功能区220的代码判断应用程序区230 的固件代码是否更新成功。如果判断到固件更新成功,则将更 新标志231设置为无效,并复位电子装置,以便复位后可以引导 至正常模式,使得电子装置可以使用新固件工作。如果判断到 更新不成功,例如当遇到意外断电或者下载的新固件不正确等 错误情况发生,造成电子装置缺乏正确固件,而无法工作在正 常模式下,此时当复位电子装置以后,由于更新标志231仍然为继续或重新下载固件,完成固件更新。在本实施例中,由于将存储器中无须更新的基本功能代码 (包括上述设备标准区210和更新功能区220的代码)与需要更新的代码(如上述应用程序区230的代码)逻辑上分区存储,在 更新时保持设备标准区210和更新功能区2 2 0的代码不变,只更 新须要更新的部分代码(如上述应用程序区230的代码)。这样, 当更新时发生意外错误时,虽然电子装置无法引导至正常模式, 但设备标准区210和更新功能区22 0的代码配合,仍能使得电子 装置再次进入更新模式,直到固件更新完成。本实施例通过设 置更新标志231,并在每次上电以后都查询其是否有效,以决定 电子装置进入何种工作模式。如果更新成功,则设置更新标志 231无效,则在下一次上电后,电子装置会进入正常模式。如果 在更新模式下发生意外情况,则在下一次上电后,在无人工干 预的情形下,电子装置仍能由设备标准区210的代码引导,再次 进入更新模式,以完成应用程序区230的固件代码的下载更新。在一实施例中,如果本发明的电子装置的存储器是一快闪 存储器Flash,由于快闪存储器的特点是写之前要先擦除,因此 对这种类型的存储器需要把更新标志231设置在应用程序区 230,例如在快闪存储器的OxlOOOO地址。当主机上的应用界面 发送一固件更新请求至电子装置,应用程序区230中的更新标志 231会设置为全0,此时更新标志231有效。当固件更新完成以后, 再把更新标志231擦除并设置为全1,即为无效。当然,则更新 标志231也可以设置在存储器其它地方,如在i殳备标准区210和 更新功能区220中。设备标准区210在判断是否接收到主机上的应用界面发送 来的固件更新请求而需进入更新模式时,除了依据更新标志231 以外,还可以通过其它方式。例如,在本发明的另一实施例中, 当接收到主机上的应用界面发送过来的固件更新请求时,可以 通过定时器的方式在正常模式下,而当接收到主机上的应用 界面发送过来的更新请求时,设置一定时器开始计时,并复位电子装置。复位成功前,若定时器仍然在计时,则复位后引导进入更新功能区220,下载新固件;若复位成功前,定时时间已 过,则引导进入应用程序区230,仍工作在正常才莫式下。下面参考图3,图3是本发明可在线更新固件方法的一实施 例的流程图,结合图2,进一步说明本发明 一 实施例的步骤流程。步骤300:电子装置上电。步骤301:设备标准区210的代码判断更新标志231是否有 效,如果有效,则进入更新模式,即执行步骤305,如果无效, 则进入正常模式,即执行步骤302。步骤302:在正常模式下,执行应用程序区230的代码,实 现应用功能。步骤303:判断是否接收到来自主机发送一固件更新请求, 如果没有接收到,则返回步骤302,执行应用程序区230的代码, 实现应用功能;如果接收到了更新请求,则执行步骤304。步骤304:设置更新标志231为有效,并执行步骤308复位电子装置。步骤305:执行更新功能区220的代码,下载并更新固件, 接下来执行步骤306。步骤306:判断下载固件是否成功,如果成功则执行步骤 307;如果不成功,例如是发生意外错误,意外断电或下载固件 错误等情况,则直接至步骤308复位电子装置,此时重新上电(步 骤300)后,判断更新标志231仍然有效(步骤301),可以进入步 骤305继续或重新下载固件;步骤307:设置更新标志231为无效,并执行步骤308复位电 子装置,则电子装置再次上电(步骤300)以后,判断更新标志231为无效(步骤301),可以至步骤302在新固件下执行正常应用功能。步骤308:复位电子装置。以上实施例阐述的无须备份的在线更新固件的方法,适用 的电子装置可以是DVD机,USB设备等装置。即是说,只要是 包括处理器或单芯片的电子装置,都可以使用本发明所揭露的 思想来更新固件。举例而言,USB设备中的Audio类设备(如电 子音乐插-放器)和Mass Storage类设备(如石更盘、CD-ROM、 Flash 卡)需要升级固件时,可以利用其USB接口连接至计算机,从 而下载新版本固件。现在市场上的大部分USB设备都遵照USB DFU (Device Firmware Upgrade)协议,即任何类別的USB设 备,都可以通过支持DFU类规范中指定的要求,来实现固件升 级。DFU协议支持USB装置的两种工作模式DFU模式和正常 工作模式。例如 一个支持DFU的电子音乐播放器,在正常工 作模式下它就是一个音乐播放器,而在DFU模式下,它是一个 可电擦除可编程的编程器,允许对其重新编程而不需额外的工 具。可见,本发明揭露的方法,也适用于USB DFU协议下的固 件升级。本发明揭露的无须备份的在线更新固件的方法和装置,由 于采取了保护机制,可靠性提高,可有效防止更新失败造成电 子装置无法使用,即使在普通的快闪存储器中也可实现。由于 在更新前无须备份原来的固件,也就不需要拷贝和恢复原固件 的电路,因此节省存储空间的同时,还减小设备的体积和成本。 实现在线更新只是对存储器做了逻辑上的分区,因此几乎无须 改动原来的硬件电路设计,具有很高的产业利用性。以上所述仅为本发明较佳实施例,然其并非用以限定本发 明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神 和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。
权利要求
1、一种电子装置在线更新固件的方法,其特征在于,包括以下步骤对该电子装置上电,该电子装置具有一存储器,且该存储器至少包括一更新功能区,一应用程序区以及一设备标准区;执行该设备标准区的代码以判断该应用程序区的代码是否需要更新;以及如果该应用程序区的代码需要更新,则进入一更新模式,运行该更新功能区的代码,以更新该应用程序区的代码。
2、 根据权利要求l所述的电子装置在线更新固件的方法, 其特征在于,还包括下列步骤如果该应用程序区的代码不需要更新,则进入一正常模 式,运行该应用程序区的代码。
3 、根据权利要求2所述的电子装置在线更新固件的方法, 其特征在于,通过判断 一 更新标志是否有效以判断该应用程序区的代码 是否需要更新。
4、根据权利要求3所述的电子装置在线更新固件的方法, 其特征在于,在该正常模式下,如果接收到来自于该电子装置外部的一 更新请求,则设置该更新标志为有效;以及 复位该电子装置。
5 、根据权利要求3所述的电子装置在线更新固件的方法, 其特征在于,在该更新模式下,如果该应用程序区的代码更新成功,则 设置该更新标志为无效;以及 复位该电子装置。
6、 一种电子装置,能够在线更新固件,其特征在于,该电子装置至少具有一存储器,该存储器包括一设备标准区,该设备标准区的代码决定该电子装置进入 一更新模式还是一正常模式;一更新功能区,该更新功能区的代码用以在该设备标准区的代码引导下进入该更新模式时,进行固件更新;一应用程序区,该应用程序区的^码用以在该i殳备标准区 的代码引导下进入 一 正常模式时,实现该电子装置的应用功 能;以及一更新标志,以供该设备标准区的代码决定该电子装置的 工作模式,如果该更新标志有效,则进入该更新模式,如果该 更新标志无效,则进入该正常模式。
7、 根据权利要求6所述的电子装置,其特征在于,其中该 应用程序区的代码如果在该正常模式下,接收到来自于该电子 装置外部的一更新请求,则设置该更新标志为有效,并且复位 该电子装置。
8、 根据权利要求6所述的电子装置,其特征在于,其中该 更新功能区的代码在该更新模式下,判断该应用程序区的代码 是否更新成功,如果更新成功,则设置该更新标志为无效,并 且复位该电子装置。
9、 根据权利要求6所述的电子装置,其特征在于,该存储 器为一快闪存储器。
10、 根据权利要求6所述的电子装置,其特征在于,该电子 装置遵循USB DFU协议。
11、 根据权利要求6所述的电子装置,其特征在于,该更新 标志位于应用程序区。
全文摘要
一种电子装置及其在线更新固件的方法。电子装置具有一存储器,且存储器至少包括一更新功能区,一应用程序区以及一设备标准区。此方法包括对电子装置上电,执行设备标准区的代码以判断应用程序区的代码是否需要更新。如果应用程序区的代码需要更新,则进入一更新模式,运行更新功能区的代码,以更新应用程序区的代码。如果应用程序区的代码不需要更新,则进入一正常模式,运行应用程序区的代码。其中,通过判断一更新标志是否有效以判断应用程序区的代码是否需要更新。本发明所述的电子装置及其在线更新固件的方法,节省存储空间的同时,还减小设备的体积和成本。
文档编号G06F9/445GK101271396SQ200810089220
公开日2008年9月24日 申请日期2008年4月15日 优先权日2008年4月15日
发明者鹏 姜, 健 王 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1