便携式信息终端机的固件升级方法

文档序号:6559841阅读:138来源:国知局
专利名称:便携式信息终端机的固件升级方法
技术领域
本发明涉及到便携式信息终端机的固件升级方法,尤其涉及到一 种能够对储存于只读存储器中的原有固件和所要升级的固件进行比 较,提取两者之间的差异,然后将存在上述差异的部分以较小的单位 依次记录到只读存储器区域中,从而能够将记录过程中有可能发生错 误的区域降到最小,并提高在固件升级失败时重新执行引导的可能性。
背景技术
随着使用者个人信息的增加,使其要求在移动过程中或在任意场 所管理自己的信息,并且要使用特定的多媒体信息,因此各种更加便
捷、性能更强的便携式信息终端机(PDA)便迅速应运而生,在这种PDA 中设置了具有无线通信功能的PDA电话也正在拓展到各个使用阶层当 中。
这种便携式信息终端机其处理器的性能快速更新,存储器的容量 也在快速增大,甚至在一些功能上已经达到了可以取代计算机的水平。
但是,便携式信息终端机和移动通信终端还是存在着较大的差距, 由于其程序存储器毕竟比较小,因此便携式信息终端机所使用的操作 系统只能是其专用的操作系统。
这种操作系统储存在可记录型只读存储器中,为了执行实际驱动, 它通过引导过程加载到随机存储器中。虽然根据只读存储器的类型, 有的操作系统也能直接在只读存储器中进行驱动,但是最近所使用的
操作系统大多都储存在NAND型闪存中,它必须先加载到随机存储器 中,然后才能在随机存储器中进行驱动。
便携式信息终端机和移动通信终端机的操作系统以及一些基本程 序和数据储存在只读存储器中,这些储存在只读存储器中的用于驱动 小型终端机及其设备的程序称为固件。
最近,为了使上述终端机中的基本硬件增加一些新的功能,必要 时要对一些固件进行升级。 一般情况下,终端机都采用闪存作为储存 这些固件的只读存储器。此外,由于相应终端机的生产厂家一直以来 都为使用者提供了只读存储器升级应用程序,使得使用者可以直接进 行固件升级,因此固件升级已经非常普遍。
图1是表示一般便携式信息终端机固件升级系统构成的示意图。
一般便携式信息终端机固件升级系统包括能够进行固件升级的 便携式信息终端才几10;通过互联网或者辅助储存J 某体获取新版本的固 件文件,并能将其提供给相应便携式信息终端机10的计算机20;采用 有线或无线方式,连接上述计算机20和便携式信息终端机10的元件(图 1所示为有线方式)。
一般情况下,便携式信息终端机10的固件升级方法大致可分为两 种。 一种是在计算机20中运行固件升级专用程序,对其所连接的便携 式信息终端机10进行远程控制,从而实施固件升级的方法;另一种是 将便携式信息终端机10的操作系统运行所需的固件升级专用程序和用 于升级的固件二进制文件从计算机20中加载到便携式信息终端机10 中,然后在便携式信息终端机10运行相应的固件升级专用程序,并执 行固件升级的方法。但是,为了执行固件升级,必须对记录固件的只读存储器进行硬件上的操作,因此多数情况下都使用第二种方法实施 固件升级。
这两种方法基本上都是先运行固件升级专用程序(只读存储器升级 应用程序),进行版本检查,如果用于升级的固件版本是新版本,就将 储存于只读存储器中的原有固件数据全部清除,然后依次记录新的固 件二进制文件(影像文件),从而完成升级工作。
为了将新的数据记录到可擦写闪存中,上述这种操作需要耗费几 分钟时间,为了保障记录的正常进行还必须提供充足的电压。在上述 运行过程中,不应进行其他的操作(运行应用程序的操作等),以减少操 作环境受到的 一些不必要的限制。
但是, 一些以外的情况,如使用者操作或操作系统的错误、系统 重新启动、电源不足和电源连线机接触不良等不可避免的会出现,如 果在闪存进行固件记录的过程中出现记录中断,那么操作系统和由各 种驱动与应用程序组成的固件就不能正常地记录到只读存储器中,因 此也就不能重新启动。
图2是表示依据传统技术的便携式信息终端机固件升级运行过程 的流程图。
如图所示,依据传统技术的便携式信息终端机固件升级运行过程 就是在个人计算机中运行由多条路径接收到的固件升级专用程序,然 后将其加栽到相关的便携式信息终端机中,并在便携式信息终端机中 运行这些固件升级专用程序的运行过程。
首先,运行固件升级专用程序(只读存储器升级应用程序(RUU)), 将储存在上述便携式信息终端机只读存储器中的固件与用于升级的版 本进行比较。如果记录在只读存储器中的固件版本不是用于升级的固 件以前的版本,就终止升级操作。
如果记录在只读存储器中的固件版本是用于升级的固件以前的版 本,就将所要记录的固件二进制文件(影像文件)复制到便携式信息终端 机的随机存储器中,在复制到便携式信息终端机随机存储器中之后, 对原有固件的区域进行清空,以便记录新的固件。对所有的区域进行 清空的目的在于一次性实施清空工作不仅可以提高清空的速度,也减 少了整体升级时间,因此在上述固件升级专用程序中很容易生成指示 清空工作的程序。
然后,将新的固件二进制文件记录在上述已经消除了只读存储器 固件的区域中。由于这也是无条件地在所有区域中进行重新记录,因 此程序处理就显得非常容易。
对上述固件二进制文件依次进行的记录在记录下根据不同种类的 只读存储器所能记录的数据量之后,检查记录是否正常进行,在检测 到记录正常进行的情况下,再将下一个数据记录到下一个只读存储器 区域中,此过程一直要反复进行到所有的固件都记录完成为止。
如果上述过程中发生了记录错误的话,可以在一定次数内反复进 行记录工作,如果在经过了多次反复记录工作之后错误还是发生,就 判断不能进行正常记录,从而就会非正常地终止固件升级过程。
当然,在由于硬件上电源接触不良,或者操作系统存在问题而导 致固件升级程序不能正常运行,或者由于运行其他应用程序,而导致 操作系统内存占有比下降,并且不能正常选择时间运行固件升级程序 的情况下,固件升级过程也会被非正常终止。
如果固件升级过程出现了非正常终止,固件二进制文件也就不能 被记录在预定区域中,因此不能重新进行固件升级。 一般使用者不能 自行解决上述状况。这是传统技术所存在的缺陷。

发明内容
本发明旨在解决上述依据传统技术所产生的问题。。本发明的目 的是要提供一种便携式信息终端机的固件升级方法。
为了实现上述目的,本发明包含以下步骤
当用于升级的固件版本高于记录在只读存储器中的固件版本时, 将用于实施升级的固件二进制文件储存到便携式信息终端机的随机存 储器中的步骤;
将储存在上述随机存储器中的固件二进制文件与记录在只读存储 器中的原有固件二进制数据进行比较,将各个有差异的区域位置信息 与各个有差异的数据另外制成表格储存在随机存储器的一部分区域中 的步骤;
参照上述表格,将包含升级时必须要更新的数据的只读存储器区 域以预定大小的记录单位进行清空之后,记录用于更新的数据,并反 复执行此过程的步骤。
上述预定大小的记录单位就是能够对储存固件的物理只读存储器 进行控制,并执行读写操作的最小单位。
如上所述,本发明将用于实施固件升级的固件二进制文件储存在 便携式信息终端机的随机存储器(RAM)中,将储存于上述随机存储 器中的固件二进制文件与记录在只读存储器中的以前固件二进制数据 进行比较,将各个不同区域的位置信息和各个不同数据另外制成表格 储存在随机存储器的一部分区域中,然后参照上述表格,将包含升级 时必须要更新的数据的只读存储器区域以最小的记录单位进行了清空 之后,在此位置上记录下用于更新的数据,并反复执行此过程,通过 这样的操作,即使升级过程中发生了错误,也能将发生错误所带来的 影响降到最小,而且提高了重新执行固件升级的可能性。


图1是表示一般便携式信息终端机固件升级系统构成的示意图。
图2是表示依据传统技术的便携式信息终端机固件升级运行过程 的流程图。
图3是表示依据本发明实施例的固件升级运行过程的流程图。
附图中主要部分的符号说明
10:便携式信息终端机 20:计算机
具体实施例方式
下面,将参照附图对依据本发明的具体实施例进行更加详细的说明。
图3是表示依据本发明实施例的固件升级运行过程的流程图。它 显示了必须运行固件升级专用程序的运行步骤。
无论是在计算机中运行固件升级专用程序,还是在便携式信息终 端机运行固件升级专用程序,都可以采用本发明。本发明基本上不会 在固件升级时对原有固件进行全面修正,它着眼于大部分固件,也就
对一部分驱动或应用程序进行修正,只对存在着要变更数据的只读存
储器区域数据用新的固件数据进行更新。在进行这种固件数据更新(当 原有只读存储器区域的数据中存在着与新的固件二进制数据不同的区
域时,清除相关只读存储器区域的原有数据,在此区域中记录新的数 据)时,本发明以尽可能小的单位实施数据更新,这是其最大的一个特 征。
考虑到上述本发明的特征,如上述顺序图所示,首先通过多种方 式接收到用于固件升级的文件(升级专用程序、用于升级的固件二进制 文件等),然后由便携式信息终端机来运行固件升级专用程序,或者通 过数据传输,在外部设备中运行。
在固件升级专用程序运行之后,获得储存在只读存储器中的原有 固件版本信息,将其与用于升级的固件版本进行比较,如果原有固件 不是用于升级的固件以前的版本,就终止升级工作,如果它是用于升 级的固件以前的版本,就将用于升级的固件二进制文件(影像文件)储存 到便携式信息终端机的随机存储器中。
将储存在上述随机存储器的固件二进制文件与储存在只读存储器 中的以前版本的固件数据进行比较,找出两者不同的区域,提取要对 相关区域进行更新的新固件二进制文件的数据,并获取相关数据的位 置信息,在随才几存储器的一部分区域中制成用于固件升级的表格。
储存在上述表格中的各个位置信息和数据的记录单位必须要整理 成预定大小。上述预定大小的记录单位就是在只读存储器中能够进行 清空和记录数据的最小单位(在分不同地址实施记录和清空数据的情况
下,可以以一个地址中所要储存的数据为单位;在分块实施记录和清
空数据的情况下,可以以一个块为单位)。
然后参照上述表格的位置信息和数据,清空储存在同一位置的只 读存储器中的单位大小的数据,并将表格中单位大小的数据记录在相 应经过了数据清除的只读存储器区域中。
在记录完成之后,读取只读存储器中记录的数据,对记录的数据 进行比较,确认记录工作是否正常执行,如果上述步骤中的记录工作 正常执行,就在下一个区域中执行相同的记录工作,并反复进行这种 过程,直至上述表格上的所有更新数据都记录完成为止。
如果上述步骤中的记录工作非正常执行,就对电源进行检查,确 定是否能够进行余下的固件升级工作。在电源电力充足的情况下,反 复执行上述步骤,也就是对同一区域重新实施清空和记录工作。在这 种情况下,如果电缆的连接问题和用于应用程序运行的升级专用程序 的控制权丧失的问题都已得到解决,在电源电力充足的情况下,基于 上述表格反复执行固件升级就能正常实施。如果由于只读存储器的硬 件问题而使得记录不能正常实施的话,就会统计重新实施记录的次数, 如果实施记录的次数达到一定数量以上,仍然不能实施正常记录的话 (使用者在为解决上述问题提供了充分的时间之后,还是不能实施正常 的记录),就判定为出现了错误。
在检查上述电源的过程中,如果检测出残留的电力不够完成余下 的升级工作,对记录失败区域的数据再一次进行记录之后,不能再进 行进一步的升级,使用者可以重新启动系统,从而重新实施固件升级。
如上所述,由于一次所要实施更新的固件部分被限定为不同类型 的只读存储器结构所限制的最小单位数据区域,因此即使针对相关区
域的记录失败,只要不是发生概率相当低的主要核心和驱动区域的错 误,就不会对引导和操作系统的基本运行造成影响,因此提高了使用 者在其能力范围内能够重新实施固件升级的概率。
权利要求
1、一种便携式信息终端机的固件升级方法,包括以下步骤当记录在只读存储器中的固件版本是用于升级的固件版本以前的版本时,将用于实施升级的固件二进制文件储存到便携式信息终端机的随机存储器中的步骤;将储存在上述随机存储器中的固件二进制文件与记录在只读存储器中的原有固件二进制数据进行比较,将各个有差异的区域位置信息与各个有差异的数据另外制成表格储存在随机存储器的一部分区域中的步骤;参照上述表格,将包含升级时必须要更新的数据的只读存储器区域以预定大小的记录单位清空之后,记录用于更新的数据,并反复执行此过程的步骤。
2、 如权利要求l所述的便携式信息终端机的固件升级方法,其特 征在于上述预定大小的记录单位就是能够对储存固件的物理只读存 储器进行控制,并执行读写操作的最小单位。
3、 如权利要求l所述的便携式信息终端机的固件升级方法,其特 征在于以上述预定大小的记录单位执行清空和记录工作的过程包含 以下步骤在以预定大小的记录单位对只读存储器的特定位置进行了清空之 后,在此位置上记录用于进行更新的数据的步骤;读取只读存储器中记录的数据,对记录的数据进行比较,确认记 录工作是否正常执行的步骤;如果上述步骤中的记录工作正常执行,就在下一个区域中执行相 同的记录工作,并反复进行此过程,直至上述表格上的所有更新数据都记录完成为止的步骤;如果上述步骤中的记录工作非正常执行,就对电源进行检查,在 电源电力能够进行余下的固件升级工作的情况下,针对同 一 区域重新 实施清空和记录工作的步骤;当上述步骤中检查得出电源电力不足的时候,停止进行升级,实 施重新启动的步骤。
全文摘要
本发明涉及到便携式信息终端机的固件升级方法。本发明将用于实施固件升级的固件二进制文件储存在便携式信息终端机的随机存储器(RAM)中,将储存于上述随机存储器中的固件二进制文件与记录在只读存储器中的以前固件二进制数据进行比较,将各个不同区域的位置信息和各个不同数据另外制成表格储存在随机存储器的一部分区域中,然后参照上述表格,将包含升级时必须要更新的数据的只读存储器区域以最小的记录单位进行清空之后,在此位置上记录用于更新的数据,并反复执行此过程。通过这种方法,即使升级过程中发生了错误,也能将发生错误所带来的影响降到最小,而且提高了重新执行固件升级的可能性。
文档编号G06F9/445GK101193356SQ200610097918
公开日2008年6月4日 申请日期2006年11月22日 优先权日2006年11月22日
发明者赵惠珍, 郑泰焕 申请人:乐金电子(昆山)电脑有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1