一种固件程序在线升级的方法及硬件设备的制作方法

文档序号:6651707阅读:123来源:国知局
专利名称:一种固件程序在线升级的方法及硬件设备的制作方法
所属技术领域本发明涉及一种固件程序在线升级的方法及硬件设备,特别是关于利用计算机操作系统自动执行机制实现固件程序在线升级的方法及硬件设备。
背景技术
固件是硬件设备(可编程逻辑器件作为控制器)的能够正常运行所需要的软件,固件(Firmware)最早的涵义是具有软件功能的硬件,早期的这种器件一般是指存有软件的EPROM或EEPROM等等,随着存储技术的发展,闪存(FlashMemory)的出现,使得可以简单的通过可编程电路实现存储介质储存信息的读写操作,如果选用闪存存储硬件所需要的固件,则在不更换物理硬件的情况下,就可以通过刷新闪存信息实现固件升级,使得硬件设备的功能获得增加或改善。目前普遍依托计算机操作系统,采用专门的固件更新程序对硬件的固件程序进行刷新。
固件文件为固件在计算机文件系统的存储方式,通常由硬件设备提供商定期或不定期发布,使用者可以通过特定存储介质(磁盘、光盘等)或通过网络将待升级的固件文件下载到本地计算机的存储空间中,在通过在本地安装的固件升级程序,将固件文件的内容,烧写到硬件设备用于存储固件的非易失性存储介质(volatile memory)的特定位置,固件在该非易失性存储介质上表现为物理地址或逻辑地址连续的一段指令,硬件设备重新上电(Reset)后,控制器会从起始位置开始顺序读入指令,从而使得原有的硬件实现了新的功能。现有技术有多种升级固件的方式,现介绍如下现有技术一利用硬件设备自带的网络连接功能,实现Internet在线固件更新(类似计算机通过网络自动升级操作系统)。控制器发出指令,控制网络控制模块请求与远端服务器建立连接,并将目前固件版本信息发送至服务器,服务器控制程序将其余最新版本对比,如果是最新版本,则结束升级过程,如果非最新版本,则提供最新固件下载位置,网络设备下载后对原有固件进行升级。这种升级方式需要硬件设备自身配备网络模块,同时需要完成复杂的网络会话过程,通常适用于比较昂贵,结构和功能比较复杂的硬件设备,不适用于多数中低价位的消费类数码产品。
现有技术二需要从网络手动下载固件文件到本地计算机,再通过特定的I/O机制将固件文件下载到硬件设备的存储空间内,硬件设备能够自动识别新拷入的固件文件版本是否高于已有的固件,如果为新版本,则自动安装新的固件文件。不足在于智能化只局限于在硬件设备内部判断版本是否需要更新,而不能自动通过网络获得新的固件程序,该方案没有减少用户通过网络手动下载固件和将固件文件传送到硬件内部的繁琐程度,同时由于内置了版本判定模式和固件安装程序,对硬件本身控制器的运算能力提出了很高的要求。
现有技术三为中国专利CN02121474.3所揭示的“嵌入式系统中固件程序在线升级的实现方法”,该方法将支持在线升级的固件程序与系统功能的固件程序分离,并将支持在线升级的固件程序存储于设置在程序存储器的永久驻留空间;然后系统上电启动,直接转至执行支持在线升级的固件程序,支持在线升级的固件程序将必要的硬件资源进行初始化后,判断是否进行在线升级,如果是,则将升级系统功能固件程序、向程序存储器写入升级的固件程序的指令代码存储于动态存储器中;转至动态存储器中的上述指令代码,将升级的固件程序写入程序存储器中永久驻留空间之外的地址空间,然后转至运行升级后的系统功能固件程序。此方案提高了固件升级的安全性,但仍旧存在下列缺陷1、支持在线升级固件程序的启动过程没有实现完全自动化,需要在操作系统上安装额外的驱动程序;2、在嵌入式系统的动态存储器中运行向程序存储器写入升级的固件程序的指令代码要求配备大容量的动态存储器,且硬件本身控制器要有较高的性能。
上述现有技术由于有多个步骤需要手工操作,对于不熟悉计算机的操作者,很容易操作失误,导致固件程序升级失败。

发明内容针对现有技术中所存在的不足,本发明的目的在于实现一种固件程序在线升级的方法及硬件设备,在对硬件系统的需求和对操作者的计算机熟悉程度要求都不高的情况下,无需人工干预就可以实现硬件设备的固件程序的可靠自动在线升级。
本发明的第一方面提供了一种固件程序在线升级的方法,其方法在于包括1)硬件设备通过通讯接口与联网的计算机连接的步骤;2)激活计算机操作系统的自动执行机制的步骤;3)操作系统执行自动执行配置文件所指向的存储在硬件设备所带存储器中的在线升级程序的步骤;4)在线升级程序通过网络从预定的服务器下载固件程序的步骤;5)将下载的固件程序写入硬件设备所带非易失可擦写存储器特定空间,取代原固件程序,从而完成固件程序升级的步骤。
本方法还需要具有通讯接口,该接口可为USB接口、IEEE1394接口、无线USB接口或者蓝牙接口。
其中,在步骤1,2之间,本方法还设置了一个开启或者关闭自动升级的步骤。该步骤用来控制是否执行在线升级程序,以避免每次硬件设备接入本地计算机后,都要执行自动升级命令。
步骤2、3的实质是利用计算机操作系统的自动执行机制使得存储在硬件设备所带存储器中的在线升级程序可以自动运行。通常将硬件设备的存储器初始化为本地计算机上的一个光驱或者其他支持自动执行功能的存储设备,然后利用Autorun应用模块,启动在线升级程序。其具体方法已经由中国专利申请“利用半导体存储装置实现自动执行的方法”(申请号03146090.9)揭示和公开,该申请的内容在此引用。
进一步地,为了更好定位升级服务器,在线升级程序中预存储了以定位服务器的IP地址或者域名。当在线升级程序开始运行时,通过预存储的服务器的IP地址或者域名,就可以迅速地定位升级服务器。
在步骤3与步骤4之间,当本地计算机和远端服务器建立连接后,将用目前固件版本信息与服务器中的升级版本信息进行比照,如果是目前固件版本信息高于或者等同于服务器中的升级版本信息,则结束升级过程,如果低于服务器中的升级版本信息,则执行步骤4。
步骤4)中下载的固件程序可预存于计算机硬盘的临时文件夹中。
步骤4)与步骤5)之间还包括对已下载的固件程序进行校验的步骤,如校验无误,则继续步骤5)。
最后将校验无误的最新版本的固件写入到硬件设备的非易失性存储空间,覆盖原固件版本,从而可实现存储在电子设备中的硬件设备的固件程序自动在线升级的功能。
本发明的第二方面提供了一种可在线升级固件程序的硬件设备,该硬件设备包括用于与联网的计算机相连并进行数据交换的通讯接口和存储固件程序的非易失可擦写存储器,以及用于存储可激活计算机操作系统的自动执行机制的初始化信息的初始化信息存储装置、用于存储自动执行配置文件的配置文件存储装置和用于存储所述自动执行配置文件所指向的在线升级程序的在线升级程序存储装置。在线升级程序存储装置中预先存储了用以定位服务器的IP地址或者域名。在线升级程序包含通过网络从预定的服务器下载固件程序的下载模块和将下载的固件程序通过所述通讯接口写入所述存储固件程序的非易失可擦写存储器以取代原固件程序的固件更新模块。另外,本装置还设有升级启动开关,所述升级启动开关与初始化信息存储装置相连,可开启或关闭计算机对初始化信息存储装置的访问通道。
其中,非易失可擦写存储器可为闪存、硬盘、EEPROM等;通讯接口可为USB接口、IEEE1394接口、无线USB接口或者蓝牙接口等。
本发明“一种固件程序在线升级的方法及硬件设备”的效果如下第一、降低了操作不当导致固件升级失败的机会,且可以随时方便地查询服务器端的固件更新情况,如果发现需要更新,则自动完成升级;第二、完成固件升级的步骤都借助于计算机的软件和硬件平台完成,对于需升级的硬件设备没有很高的软硬件要求,从而可以广泛的应用在工业或民用的各种电子设备当中。
第三、由于利用了具有强大处理功能PC的平台,可增加许多保证升级成功的措施,因而具有更好的安全性。例如在固件升级程序下载过程中采用断点续传和校验技术,从而保证了程序下载的完整性;固件升级程序完成下载后存储在本地计算机的临时文件夹,从而使得固件程序升级的刷新进程中,即使发生升级的意外中断,也可进行重新刷新直至升级成功。此外,还可将待升级的固件存储位置与用以实现在线升级的程序存储位置分离,从而避免了因为固件升级失败,导致该硬件设备无法使用的情况。
综上所述,本发明具有更方便、安全、同时对自身的软硬件要求不高的特点。

图1是本发明实施例一可在线固件升级的视频播放器存储空间示意图。
图2是本发明支持在线升级的视频播放器接入系统后自动启动在线升级程序的流程图。
图3是本发明在线升级程序自动下载新版本固件文件并对视频播放器进行固件升级的流程图。
图4是本发明蓝牙多功能鼠标固件在线升级流程图。
具体实施方式以下结合附图和实施例对本方明进行进一步的详细说明。
实施例一为一种视频播放器。首先说明一下本发明中实施例一的视频播放器的结构。该设备的硬件设备含有三个存储器(如图1)所示存储器01是在线升级功能的核心装置,该存储器分为第一存储区011、第二存储区012和第三存储区013三部分。第一存储区011存储了可激活计算机操作系统的自动执行机制的初始化信息,本实施例中,将初始化信息中设备类型设为光盘,计算机操作系统就会将存储器01默认为光盘。由于大多数操作系统都对光盘默认了自动运行程序,将插入的半导体存储设备初始化为光盘就能利用这种操作系统默认的自动运行机制。第二存储区012存储了自动执行配置文件,在windows操作系统中,需要设置的配置文件为autorun.ini,在其中记录了在线升级程序的文件名和它的启动全路径。第三存储区013存储了自动执行配置文件所指向的在线升级程序,在线升级程序包含通过网络从预定的服务器下载固件程序的下载模块和将下载的固件程序通过通讯接口写入所述存储固件程序的非易失可擦写存储器以取代原固件程序的固件更新模块。存储器01采用ROM作为存储介质,ROM是一种非易失不可擦写存储器,以保证在线升级功能的核心部分不会由于误操作而丢失。第三存储区013还存储了服务器的IP地址或者域名,用以定位服务器。存储器02存储的是应用级固件,使得控制器能够协调硬件模块的资源,实现硬件设备所具备的各种功能,也是本发明中需要升级的固件部分,存储器02可采用闪存、硬盘、EEPROM等非易失存储器作为存储介质,且将存储固件的部分隐藏,以保证固件的安全性。存储器03是文件存储区,存储的是需要视频播放器播放的文件,如电影文件、MTV文件等,此存储器一般采用硬盘、闪存等大容量的存储介质。通讯接口04,是连接视频播放器和联网计算机的通讯接口,在本实施例中,为USB接口,当然也可采用IEEE1394接口、无线USB接口或者蓝牙接口等其他通讯接口。
本实施例中的视频播放器实现固件自动升级的方法如下首先是在本地计算机中启动视频播放器中的在线升级程序的过程。如图2所示,包含以下步骤步骤101将视频播放器通过USB接口04与本地计算机连接;步骤102计算机的操作系统访问第一存储区011中的初始化信息,将存储器01默认为光盘。;步骤103初始化完成之后,操作系统的自动执行机制被激活,操作系统将在存储器01中寻找自动执行配置文件。
步骤104计算机操作系统访问自动执行配置文件,定位在线升级程序;步骤105在计算机上开始运行在线升级程序;步骤106将在线升级程序在本地计算机上的临时文件夹进行备份,然后进入固件文件下载步骤。
然后将服务器端的固件文件下载在本地计算机中。如(图3)所示,为应用本发明的将服务器端的固件文件下载在本地计算机中的流程图。
步骤201在线升级程序开始运行后,会对于网络状况进行自动探测,判断本地计算机能否连接到服务器端。如果不能够连接,重新执行步骤201;如果能够连接,则执行步骤202;步骤202在线升级程序首先对设备的固件部分进行查询,获取设备当前的固件版本号Ver A;步骤203在线升级程序查询服务器端,获得最新的固件版本号Ver B;步骤204在线升级程序将Ver A与Ver B进行比较,如果版本号相同,则说明目前设备的固件是最新版本,无需进行升级,在线升级程序会自动退出,同时切断计算机与硬件设备的通信;如果Ver B高于Ver A,则说明有更高版本的固件可以升级;步骤205自动升级软件连接到服务器端,利用断点续传等手段下载Ver B固件文件,固件文件存放位置为本地计算机的临时文件目录;步骤206在线升级程序校验下载的固件文件,如果校验失败,则执行步骤205;如果校验成功,则执行硬件设备中固件升级程序;最后在线升级程序将存储在本地计算机临时文件目录中校验无误的最新版本的固件文件通过通讯接口写入到设备的存储器02部分,从而实现了自动的在线固件更新。如果升级失败,则在线升级软件将临时文件目录中的固件文件再次写入到硬件设备中,直到更新成功。
实施例二为一种多功能蓝牙鼠标。所述的多功能蓝牙鼠标通过蓝牙接口连接本地计算机,同时所述的多功能蓝牙鼠标具有多功能键,可以发出预制的多种指令。
说明一下所述的多功能蓝牙鼠标的结构。该设备的硬件设备含有一个非易失性可擦写存储器,例如闪存,被划分为3个区域区域1,存储的是系统级固件,该固件担负了与计算机进行I/O通信的功能,硬件上电之后连接计算机就能正常实现通信功能;区域2,该区域内部划分第一存储装置、第二存储装置和第三存储装置三部分,其中第一存储装置存储可激活计算机操作系统的自动执行机制的初始化信息,第二存储装置存储了自动执行配置文件autorun.ini,第三存储装置存储了自动执行配置文件所指向的在线升级程序;区域3,存储的是应用级固件,使得控制器能够协调硬件模块的的资源,实现硬件设备所具备的各种功能,也是本发明中需要升级的固件部分。通讯接口为蓝牙接口。
该鼠标还包括一升级启动开关,升级启动开关与第一存储装置相连,可开启或关闭计算机对初始化信息存储装置的访问通道。
同时,可将此非易失可擦写存储器设置为用户不可见,以防止用户不当删除其所存储的初始化信息、自动执行配置文件、在线升级程序、应用级固件等。
多功能蓝牙鼠标的固件程序在线升级步骤流程如图4所示步骤301将多功能蓝牙鼠标通过蓝牙接口与本地计算机连接;步骤302开启多功能蓝牙鼠标的“在线升级开关”,启动在线升级功能;步骤303多功能蓝牙鼠标的硬件设备中的配置文件将激活计算机系统的自动执行机制。将鼠标初始化为光本地计算机上的一个存储设备或者光驱,然后启动autorun应用模块;步骤304多功能蓝牙鼠标访问联机信息部分,定位在线升级程序;步骤305多功能蓝牙鼠标的配置文件指示计算机自动运行在线升级程序;步骤306在线升级程序开始运行后,会通过指定IP地址连接到服务器端,获得最新的固件版本号;步骤307在线升级程序将对版本进行比较,如果发现最新版本高于本地版本,则执行固件升级;步骤308自动升级软件连接到服务器端,利用断点续传等手段下载最新版本固件文件,下载位置为本地计算机的临时文件目录;步骤309在线升级程序校验下载的固件文件,直到校验成功,则执行硬件设备中固件升级程序;步骤310最后在线升级程序将存储在本地计算机临时文件目录中校验无误的最新版本的固件写入到设备的存储器中,取代原固件程序,从而实现了自动的在线固件更新。
以上实施例仅用以说明而非限制本方面的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任务修改或局部替换,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种硬件设备中固件程序在线升级的方法,其特征在于包括1)硬件设备通过通讯接口与联网的计算机连接的步骤;2)激活计算机操作系统的自动执行机制的步骤;3)操作系统执行自动执行配置文件所指向的存储在硬件设备所带存储器中的在线升级程序的步骤;4)在线升级程序通过网络从预定的服务器下载固件程序的步骤;5)将下载的固件程序写入硬件设备所带非易失可擦写存储器特定空间,取代原固件程序,从而完成固件程序升级的步骤。
2.如权利要求1所述的一种硬件设备中固件程序在线升级的方法,其特征在于步骤3)与步骤4)之间还包括在线升级程序从预定的服务器获取欲下载的固件程序的版本信息并将其与硬件设备当前固件程序版本进行比较的步骤,如欲下载的固件程序版本新于当前版本,则继续步骤4)。
3.如权利要求1所述的一种硬件设备中固件程序在线升级的方法,其特征在于步骤4)中下载的固件程序存于计算机硬盘的临时文件夹中。
4.如权利要求1所述的一种硬件设备中固件程序在线升级的方法,其特征在于所述通讯接口为USB接口、IEEE1394接口、无线USB接口或者蓝牙接口。
5.如权利要求1所述的一种硬件设备中固件程序在线升级的方法,其特征在于步骤4)与步骤5)之间还包括对已下载的固件程序进行校验的步骤,如校验无误,则继续步骤5)。
6.一种可在线升级固件程序的硬件设备,包括用于与联网的计算机相连并进行数据交换的通讯接口和存储固件程序的非易失可擦写存储器,其特征在于还包括用于存储可激活计算机操作系统的自动执行机制的初始化信息的初始化信息存储装置;和用于存储自动执行配置文件的配置文件存储装置;用于存储所述自动执行配置文件所指向的在线升级程序的在线升级程序存储装置;所述在线升级程序包含通过网络从预定的服务器下载固件程序的下载模块和将下载的固件程序通过所述通讯接口写入所述存储固件程序的非易失可擦写存储器以取代原固件程序的固件更新模块。
7.如权利要求6所述的一种可在线升级固件程序的硬件设备,其特征在于所述非易失可擦写存储器为闪存、硬盘、EEPROM。
8.如权利要求6所述的一种可在线升级固件程序的硬件设备,其特征在于所述通讯接口为USB接口、IEEE1394接口、无线USB接口或者蓝牙接口。
9.如权利要求6所述的一种可在线升级固件程序的硬件设备,其特征在于所述初始化信息存储装置、配置文件存储装置和/或在线升级程序存储装置为非易失不可擦写存储器。
10.如权利要求6所述的一种可在线升级固件程序的硬件设备,其特征在于所述初始化信息存储装置、配置文件存储装置和/或在线升级程序存储装置为非易失可擦写存储器的隐藏区。
11.如权利要求6所述的一种可在线升级固件程序的硬件设备,其特征在于还包括升级启动开关,所述升级启动开关与初始化信息存储装置相连,可开启或关闭计算机对初始化信息存储装置的访问通道。
12.如权利要求6所述的一种可在线升级固件程序的硬件设备,其特征在于所述在线升级程序存储装置中预先存储了用以定位服务器的IP地址或者域名。
13.如权利要求6所述的一种可在线升级固件程序的硬件设备,其特征在于所述固件程序存储在非易失可擦写存储器的隐藏区。
全文摘要
本发明涉及一种硬件设备中固件程序在线升级的方法,该方法包括下列步骤1)硬件设备通过通讯接口与联网的计算机连接;2)激活计算机操作系统的自动执行机制;3)操作系统执行自动执行配置文件所指向的存储在硬件设备所带存储器中的在线升级程序;4)在线升级程序通过网络从预定的服务器下载固件程序;5)将下载的固件程序写入硬件设备所带非易失可擦写存储器特定空间,取代原固件程序,从而完成固件程序升级。本发明同时涉及一种可在线升级固件程序的硬件设备,包括通讯接口和存储固件程序的非易失可擦写存储器,以及初始化信息存储装置、配置文件存储装置、在线升级程序存储装置。
文档编号G06F9/445GK1991761SQ200510135570
公开日2007年7月4日 申请日期2005年12月30日 优先权日2005年12月30日
发明者李富强 申请人:北京华旗资讯数码科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1