一种实现固件更新的方法和系统的制作方法

文档序号:6573467阅读:224来源:国知局

专利名称::一种实现固件更新的方法和系统的制作方法
技术领域
:本发明涉及固件更新
技术领域
,特别涉及一种实现嵌入式系统固件更新的方法和系统。
背景技术
:固件是具有软件功能的硬件,在早期这种器件一般都是存有软件的可擦除只读存储器(EROM)或可擦除可编程只读存储器(EPROM)等。固件发展到今天已经具有了新的定义,一般来说,将担任着一个系统最基础、最底层工作的软件称为固件,并且以系统中的闪存为载体,与系统其他硬件部分同时存在,支持系统运行。固件广泛存在于嵌入式系统中,比如手机中,数码相机中,随身听中等都有。固件常常需要进行更新,例如当嵌入式系统发生故障,就需要对固件进行更新,以修复缺陷。另外,固件更新带来的不仅是硬件性能地提升,还能为硬件增添许多崭新的功能。例如,打印机进行了固件更新后,可以很大程度地改善打印质量,提升进纸速度等。目前的嵌入式固件更新方法主要是通过硬件传输线在嵌入式系统和上位机间建立连接,嵌入式系统的主程序与上位机之间进行配合,完成设备枚举,在需要进行固件更新时,上位机需要通过客户端应用程序和专用的硬件传输线根据私有的客户端协议向嵌入式系统的主程序发出固件更新的通知,嵌入式系统先通过执行主程序,获得该固件更新通知,将固件更新程序从主程序所在的那个存储器中移到一个缓存中,然后从缓存中读取该固件更新程序并执行,执行的结果是将从上位机获得的新的固件存储到存储器的指定位置(一般为原固件程序所在的位置)中,并对新的固件进行校验,将校验结果反馈给上位机,上位机通过专门的应用程序获得并显示该校验结果,从而通知用户固件更新是否成功。其中所述的上位机为可以为PC机或者其他可以用于更新固件程序的服务器。可以看出,目前的嵌入式固件更新方法需要专门的硬件传输线、专门的应用程序和私有的协议客户端软件,当对应不同的嵌入式系统时,必须在上位机中安装相应的客户端软件,系统和操作都比较复杂,不方便嵌入式系统进行固件程序的更新。另外,现有的嵌入式系统中为了实现固件更新而设计的系统结构也比较复杂,研发和产品成本较高。
发明内容有鉴于此,本发明的主要目的在于提供一种实现固件更新的方法,使嵌入式系统的固件更新简单方便。本发明的第二个目的在于提供一种实现固件更新的系统,使嵌入式系统的固件更新简单方便。为了实现上述第一个目的,本发明提供了一种实现固件更新的方法,该方法包括在固件更新模式下,在嵌入式系统中加载固件更新模块,所述固件更新模块建立虚拟文件分配表FAT;在上位机与嵌入式系统连接后,进行设备枚举过程,上位机基于存储设备协议,根据所述虚拟FAT将所述嵌入式系统识别为可进行数据存储操作的设备;执行固件更新过程,所述上位机将固件程序拷贝到嵌入式系统,所述固件更新模块接收来自上位机的固件程序,并根据所述虚拟FAT存储该固件程序。优选的,所述虚拟FAT可以包括FAT引导扇区FATHEADER,只包含FAT表区的数据头的2个FAT表区,只包含1个文件名内容的目录和文件名区,以及虚拟数据区。优选的,所述固件更新模块可以加载在所述嵌入式系统的引导系统BOOT内,所述虚拟FAT的FATHEADER、FAT表区以及目录和文件名区均在所述BOOT中建立,所述虚拟数据区被映射到所述嵌入式系统的存储空间中。所述固件更新模块接收来自上位机的固件程序后,进一步可对固件程序进行校验,将校验结果通过所述虚拟FAT返回给所述上位机,并且在校验通过时存储固件程序。优选的,所述固件更新模块将校验结果通过虚拟FAT返回给所述上位机具体是,根据校验结果生成状态反馈文件,所述生成状态反馈文件为将校验结果以字符串的形式填充在虚拟FAT中的目录和文件名区内;在生成状态反馈文件后,固件更新模块通知上位机虚拟FAT内数据改变,上位机进行自动刷新,显示以校验结果作为文件名的状态反馈文件。优选的,所述设备枚举过程包括上位机读取FATHEADER,固件更新模块返回FATHEADER内容;上位机根据返回的FATHEADER内容读取FAT表区以及目录和文件名区内容,固件更新模块根据FATHEADER中标识的FAT表区以及目录和文件名区的长度来返回简化的FAT表区以及目录和文件名区内容。优选的,在校验通过时,所述固件更新模块将所述固件程序存储到映射在所述嵌入式系统的存储空间中的虚拟数据区内;在校验未通过时,所述固件更新模块将所述固件程序丢弃。优选的,所述可进行数据存储操作的设备为通用的可移动存储设备;所述存储设备协议为通用的可移动存储设备协议。优选的,所述固件更新模块为U盘系统,所述通用的可移动存储设备协议为U盘的软硬件协议,所述上位机将嵌入式系统识别为U盘;所述上位机通过USB电缆与嵌入式系统连接。为了实现上述第二个目的,本发明提供了一种实现固件更新的系统,该系统包括上位机和嵌入式系统,嵌入式系统中设置有固件更新模块,所述固件更新模块在固件更新模式下被加载,并在加载后建立虚拟文件分配表FAT;上位机,与处于固件更新模式下的嵌入式系统连接,并用于在连接后根据所述虚拟FAT,基于存储设备协议将所述嵌入式系统识别为可进行数据存储操作的设备;所述上位机还用于将固件程序拷贝到所述嵌入式系统,所述固件更新模块用于接收来自上位机的固件程序,并根据所述虚拟FAT存储该固件程序至嵌入式系统的存储空间。优选的,所述固件更新模块中的虚拟FAT包含FATHEADER,只包含FAT表区的数据头的2个FAT表区,只包含1个文件名内容的目录和文件名区,以及虚拟数据区。所述固件更新模块进一步用于对来自上位机的固件程序进行校验,并根据校验结果生成状态反馈文件,所述生成状态反馈文件为将校验结果以字符串的形式填充在虚拟FAT中的目录和文件名区内;在生成状态反馈文件之后,固件更新模块进一步用于通知上位机虚拟FAT内数据改变;所述上位机进一步用于进行自动刷新,显示以校验结果作为文件名的状态反馈文件。优选的,所述固件更新模块加载在所述嵌入式系统的引导系统BOOT内,所述虚拟FAT的FATHEADER、FAT表区以及目录和文件名区均设置在所述BOOT中,所述虚拟数据区映射到所述嵌入式系统的存储空间中。优选的,所述固件更新模块为U盘系统,所述存储设备协议为U盘的软硬件协议,所述上位机将嵌入式系统识别为U盘;所述上位机与所述嵌入式系统中的U盘系统通过USB电缆连接。由以上技术方案可以看出,本发明通过在嵌入式系统中设置具有虚拟文件分配表FAT的固件更新模块,在上位机和嵌入式系统之间建立连接后,上位机基于存储设备协议可自动识别嵌入式系统,并通过执行文件拷贝的操作,即可将固件程序拷贝到嵌入式系统,使固件更新模块进行固件更新的操作,将固件程序存储到嵌入式系统的存储空间中。因此与现有技术中必须由嵌入式系统的主程序与上位机配合才能完成固件更新不同的是,本发明针对不同的嵌入式系统不需要采用专门的传输线和私有的协议客户端软件,使嵌入式系统的固件更新简单方便。图1为实现固件更新的系统结构示意图;图2为基本固件更新模块的虚拟FAT分布示意图;图3为实现固件更新的方法流程图;图4为本发明所提供实施例的方法流程图。具体实施例方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明做进一步地详细描述。首先有必要对存储设备协议进行说明。本文中所采用的存储设备协议是指上位机所通用的,用于对存储设备进行识别,并与存储设备进行通信的标准协议。本领域内技术人员所公知的,上位机为了识别某些类型的存储设备,一般都预先配置了存储设备协议,这些存储设备协议因其通用性而成为业内的标准协议,并在存储设备连接到上位机后,上位机无需其它应用程序控制,即可自动对该存储设备进行设备枚举,识别设备,并可在使用过程中对该存储设备进行数据存取的操作。举例来说,如现在的电脑一般都具有U盘的软硬件协议,当将U盘插入电脑的USB接口后,电脑可以自动识别出U盘,从而在电脑的操作系统中,通过打开文件夹的方式,对U盘进行文件操作。另外,目前一些MP3播放器、手机等设备也可以在无需特别安装驱动程序的情况下,被电脑识别并进行文件存取操作。这里的存储设备及存储设备协议包括现在已有的以及未来将有的通用的存储设备及存储设备协议。所述存储设备及存储设备协议可以为现有的或未来将有的通用的可移动存储设备和通用的可移动存储设备协议。本发明的核心思想是,利用上位机具备根据所述存储设备协议自动识别外部设备的性能,使上位机将嵌入式系统自动识别为可进行数据存储操作的设备,通过上位机向该设备拷贝文件的简单操作完成复杂的固件更新过程。本文中所述的“拷贝”的操作,不仅包括传统意义上的将文件从一个文件夹复制到另一个文件夹的过程,还包括将文件从一个文件夹移动到另一个文件夹,或将文件从一个文件夹剪切后粘贴到另一个文件,等等类似的过程。下面,首先对本发明所提供的一种实现固件更新的系统进行描述。图1为实现固件更新的系统结构示意图。如图1所示,该系统包括上位机100和嵌入式系统110。其中,上位机100为可自动根据存储设备协议,将所连接的设备识别为可进行数据存储操作的设备的上位机;嵌入式系统100中设置有固件更新模块111,以及存储空间112。固件更新模块111在被加载后,建立虚拟FAT,并可以基于存储设备协议和虚拟FAT与上位机100进行设备枚举过程和固件更新过程。下面参照现有FAT对本发明的固件更新模块中的虚拟FAT进行描述。目前公知的标准的文件分配表FAT,以FAT16为例,如图2所示,分为FATHEADER201、2个FAT表区202和203、目录和文件名区204、以及数据区205。其中,FATHEADER201一般用来标识FAT系统,也可用来标识FAT表区202和203、目录和文件名区204、以及数据区的长度。FAT表区202和203用来记录每一扇区是否使用,以及它们的位置关系。目录和文件名区204用来记录文件名和路径名,记录根目录下每个文件的起始单元、文件属性等。定位文件位置时,操作系统根据目录和文件名区204以及FAT表202和203就可以知道文件的具体位置和大小了。数据区205用来存储数据。由于标准的文件分配表FAT中包含的信息很多,一般其所占用的存储空间很大,很多时候都达到了500k。因此现有的这种标准FAT将占用大量的内存空间。本发明对FAT作虚拟化处理,即只有在进入固件更新模式后,嵌入式系统才会将固件更新模块加载到内存中,固件更新模块工作的过程中才会建立虚拟FAT,虚拟FAT的内容才会被缓存在内存中;而在非固件更新模式下,虚拟FAT会因为固件更新模块未被加载或从嵌入式系统的内存中移除,而未被建立或同时被移除。从而达到虚拟FAT一方面可以帮助实现基于存储设备协议进行固件更新的过程,另一方面又不占用嵌入式系统的内存空间的目的。另外,为了简化嵌入式系统的结构,所述固件更新模块111可以加载在嵌入式系统的BOOT中,这样嵌入式系统的固件更新过程将不依赖于系统的主程序,而独立工作。但因为目前的嵌入式系统分配给BOOT的内存空间很小,一般在30k左右,因此现有的标准的FAT不能设置在现在的嵌入式系统的BOOT内。为了能够在BOOT中加载固件更新模块,固件更新模块111中建立的虚拟FAT可以采用虚拟化后的简化的文件分配表FAT。即保留FATHEADER区;2个FAT表区只包含FAT表区的数据头,只占3-4字节,FAT表区中的其余数据用0表示,不占用空间,同时还可以表示所有的扇区未被使用,那么数据区的0地址即为固件程序的存放地址;目录和文件名区只保留1个文件名内容,为32字节,该文件名内容是状态反馈文件的文件名内容,在固件更新之前,此文件名内容为空。本虚拟FAT的数据区被直接映射到嵌入式设备的存储空间112中,成为一个虚拟数据区。这样就可以将简化的虚拟FAT放到BOOT中,即将虚拟FAT的FATHEADER区、2个FAT表区、以及目录和文件名区放到BOOT中,只占用BOOT很少的内存空间,而虚拟数据区实际存在于嵌入式设备的存储空间112中,它不占用BOOT的内存空间。进一步地,上位机100,与处于固件更新模式下的嵌入式系统110连接,并用于在连接后根据所述存储设备协议以及虚拟FAT将所述嵌入式系统110识别为可进行数据存储操作的设备;所述上位机100还用于将固件程序拷贝到所述嵌入式系统110,所述固件更新模块111用于接收来自上位机100的固件程序,并对固件程序进行校验,将校验结果通过所述虚拟FAT返回给所述上位机100,并在校验通过时根据所述虚拟FAT存储该固件程序至嵌入式系统的存储空间112。所述上位机一般为PC机,也可以为能够识别固件更新模块的其他设备。所述固件更新模块111将校验结果通过所述虚拟FAT返回给所述上位机100具体可以是在校验过程中,根据固件程序的长度和校验码来校验数据,并根据校验结果生成状态反馈文件,然后向上位机100发送数据改变通知。其中,所述生成的状态反馈文件用来表征校验是否成功,校验成功则生成表征正确的状态反馈文件;校验失败,则生成表征错误的状态反馈文件。所述状态反馈文件以字符串的形式填充在所述虚拟FAT的目录和文件名区中。上位机100,接收到固件更新模块111发来的数据改变通知后,自动进行刷新,显示以校验结果作为文件名的状态反馈文件。作为一种具体实施的方式,所述固件更新模块111可以为U盘系统,所述存储设备协议为U盘的软硬件协议;上位机与嵌入式系统的连接可以采用USB传输线连接。下面对本发明所提供的实现固件更新的方法做详细的描述。图3为实现固件更新的方法流程图。如图3所示,该方法包括以下步骤步骤301在固件更新模式下,在嵌入式系统中加载固件更新模块,固件更新模块建立虚拟FAT。步骤302连接上位机与嵌入式系统,进行设备枚举过程,并根据存储设备协议以及虚拟FAT将所述嵌入式系统识别为可进行数据存储操作的设备。步骤303执行固件更新过程,所述上位机将固件程序拷贝到嵌入式系统,所述固件更新模块接收来自上位机的固件程序,并根据所述虚拟FAT存储该固件程序。所述步骤303进一步可以包括,固件更新模块对固件程序进行校验,将校验结果通过所述虚拟FAT返回给上位机。步骤303之后,该方法还可以进一步包括上位机自动刷新,显示校验结果。上述是本发明所提供方法的主要流程,下面以从PC机下载固件程序,固件更新模块为U盘系统为例,对本发明所提供的实现固件更新的方法进行详细描述。图4为本发明所提供实施例的方法流程图。如图4所示,该方法包括以下步骤步骤401在固件更新模式下,在嵌入式系统的BOOT内加载U盘系统,U盘系统建立虚拟FAT。本领域内普通技术人员应当可以想到,为了使嵌入式系统进入固件更新模式,可以为嵌入式系统设置工作模式选择开关,在将PC与嵌入式系统连接之前,将工作模式选择开关选定至普通工作状态,则PC与嵌入式系统连接后,将按照公知的步骤,进入正常的工作状态,此步骤可以为现有技术,本发明不赘述;将工作模式选择开关选定至固件更新状态时,则嵌入式系统进入固件更新模式。U盘系统可以为一软件模块,预先存储在嵌入式系统的存储空间中,当系统切换到固件更新模式下时,才在BOOT内加载该U盘系统。U盘系统被加载后,将建立虚拟FAT。U盘系统中的虚拟FAT可以采用简化的FAT12/FAT16。保留FATHEADER区;2个FAT表区只包含FAT表区的数据头,只占3-4字节;目录和文件名区只保留1个文件名内容,为32字节。这样,在BOOT内建立的虚拟FAT实际上只包括FATHEADER区、2个FAT表区、以及目录和文件名区,虚拟FAT的虚拟数据区被映射到嵌入式系统的存储空间112中。本实施例中,嵌入式系统110可以为MP3播放器、掌上电脑等PMP(PortableMultiMediaPlayer,便携式多媒体播放器)设备,嵌入式系统110的内存可以采用SRAM、SDRAM等内存RAM,存储空间112可以采用非易失性存储器NORFLASH、或NANDFLASH等。U盘系统与上位机通信时,是采用标准的USB设备传输协议,该协议为目前的计算机所通用,所以本实施例在进行固件更新时,可以不再需要专门的私有协议客户端软件,遵循私有协议进行通信,使嵌入式系统的固件更新更加的方便简单。步骤402连接PC与嵌入式系统。本步骤中是通过USB电缆连接PC与嵌入式系统的,连接后PC端可显示已格式化的U盘。所述PC端显示已格式化的U盘的过程,即为U盘系统的枚举过程PC端首先读取FATHEADER,U盘系统返回FATHEADER内容;然后PC端会根据FATHEADER内容来读取FAT表区或者目录和文件名区内容,U盘系统根据FATHEADER中标识的FAT表区、目录和文件名区的长度来返回简化的FAT表区或者目录和文件名区内容,对于不占用存储空间的简化数据用0数据代替。PC读取完这些数据后完成U盘系统的枚举。枚举过程完成后,PC机上会显示出表示嵌入式系统的设备符号,比如打开windows操作系统中的“我的电脑”或者“windows资源管理器”,可以看到其中新出现了一个表示嵌入式系统的U盘标识符。双击该标识符可以进入到嵌入式系统的根目录中,此时进入根目录将是固件程序的存储位置。步骤403通过U盘系统,将固件程序从PC拷贝到嵌入式系统的存储空间。本步骤中的固件程序一般是打包好的固件程序的数据块。其中包含固件程序的数据长度和校验码,用于确定固件程序拷贝的结束和拷贝结束后的校验数据。本步骤具体的实现过程如下需要进行固件更新时,上位机接收到将固件程序拷贝到嵌入式系统中的指令后,上位机按照扇区块操作的方式,将固件程序的数据块通过传输线传输;嵌入式系统通过其U盘系统,接收上位机发送过来的固件程序的数据块,并进行分析,剥离出固件程序后,将其存储到地址为0的嵌入式系统的存储空间。当拷贝到数据区的长度达到了打包固件程序中包含的固件程序数据的长度时,固件程序的拷贝结束。所述U盘系统的数据区映射在嵌入式系统的存储空间中,本步骤实际上就是将固件程序从PC拷贝到了嵌入式系统的存储空间中。对用户而言,本步骤的操作是在PC机的windows操作系统中,将其它磁盘中的固件程序拷贝到了嵌入式系统中的存储空间,其操作与将一磁盘的文件拷贝到另一磁盘的操作一样。步骤404校验数据,在U盘系统中生成状态反馈文件。U盘系统接收固件程序时,将先根据固件程序中包含的数据长度和校验码进行固件程序数据的校验,校验成功,在U盘系统中生成表征正确的状态反馈文件,并将固件程序存储到嵌入式系统的存储空间;校验失败,则在U盘系统中生成表征错误的状态反馈文件,并将拷贝的固件程序数据丢弃。生成的状态反馈文件以字符串的形式填充在U盘系统中32字节的目录和文件名区。如校验成功,可以在目录和文件名区生成“success.txt”,校验失败,则可以在目录和文件名区生成“fail.txt”。步骤405通知PC端U盘系统内数据改变,PC端自动刷新。校验数据和状态反馈文件生成后,U盘系统将根据新的数据重新改变虚拟FAT。然后向PC端通知U盘系统内的数据改变,PC端收到通知后,进行自动刷新,显示U盘系统的状态反馈文件。例如,PC端自动刷新后,在PC端上嵌入式系统的根目录下,可以看到文件名为“success.txt”或“fail.txt”的文件。用户可以根据PC显示的U盘系统的状态反馈文件解析固件更新成功或者失败的原因。由上述描述可以看出,本发明与现有技术相比存在如下优势1、由于固件更新模块采用通用的存储设备协议与上位机通信,上位机根据虚拟FAT对嵌入式系统进行设备识别,固件更新模块根据虚拟FAT执行固件更新过程,因此上位机无需另外安装特定的客户端程序,只需要通过普通的打开设备上的文件夹、拷贝文件到设备、刷新设备状态的简单操作,即可实现固件更新。也使嵌入式系统的固件更新摆脱了传统的需要到特定的上位机上,通过特定的硬件传输线的束缚,在任意一台可自动识别该存储设备的机器上即可实现。其操作过程相当简单。2、由于固件更新模块内建立的虚拟FAT为虚拟化并简化的虚拟FAT,虚拟FAT本身在固件更新模块未被加载时不占用嵌入式系统的内存空间,使嵌入式系统可分配更多的内存空间给其它功能模块使用。3、由于固件更新模块被加载后,虚拟FAT只占用很少的内存空间,进一步保证固件更新模块可以设置在现有的BOOT内。而利用BOOT作为引导系统,在主程序启动之前工作的特性,使本发明实现固件更新的过程将不再依赖于嵌入式系统的主程序,且其固件更新的系统结构也得到了大大的简化。4、固件更新的校验结果通过虚拟FAT传递给上位机,将校验结果的接收、显示过程简化成了上位机自动刷新设备文件夹状态的过程,使上位机不再需要特定的客户端应用程序接收和显示校验结果,进一步使固件更新过程不依赖于客户端应用程序、特定的硬件传输线和私有协议。权利要求1.一种实现固件更新的方法,其特征在于,该方法包括在固件更新模式下,在嵌入式系统中加载固件更新模块,所述固件更新模块建立虚拟文件分配表FAT;在上位机与嵌入式系统连接后,进行设备枚举过程,上位机基于存储设备协议,根据所述虚拟FAT将所述嵌入式系统识别为可进行数据存储操作的设备;执行固件更新过程,所述上位机将固件程序拷贝到嵌入式系统,所述固件更新模块接收来自上位机的固件程序,并根据所述虚拟FAT存储该固件程序。2.根据权利要求1所述的方法,其特征在于,所述虚拟FAT包括FAT引导扇区FATHEADER,只包含FAT表区的数据头的2个FAT表区,只包含1个文件名内容的目录和文件名区,以及虚拟数据区。3.根据权利要求2所述的方法,其特征在于所述固件更新模块加载在所述嵌入式系统的引导系统BOOT内,所述虚拟FAT的FATHEADER、FAT表区以及目录和文件名区均在所述BOOT中建立,所述虚拟数据区被映射到所述嵌入式系统的存储空间中。4.根据权利要求1、2或3所述的方法,其特征在于,所述固件更新模块接收来自上位机的固件程序后,进一步对固件程序进行校验,将校验结果通过所述虚拟FAT返回给所述上位机,并且在校验通过时存储固件程序。5.根据权利要求4所述的方法,其特征在于,所述固件更新模块将校验结果通过虚拟FAT返回给所述上位机具体是,根据校验结果生成状态反馈文件,所述生成状态反馈文件为将校验结果以字符串的形式填充在虚拟FAT中的目录和文件名区内;在生成状态反馈文件后,固件更新模块通知上位机虚拟FAT内数据改变,上位机进行自动刷新,显示以校验结果作为文件名的状态反馈文件。6.根据权利要求5所述的方法,其特征在于,所述设备枚举过程包括上位机读取FATHEADER,固件更新模块返回FATHEADER内容;上位机根据返回的FATHEADER内容读取FAT表区以及目录和文件名区内容,固件更新模块根据FATHEADER中标识的FAT表区以及目录和文件名区的长度来返回简化的FAT表区以及目录和文件名区内容。7.根据权利要求6所述的方法,其特征在于,在校验通过时,所述固件更新模块将所述固件程序存储到映射在所述嵌入式系统的存储空间中的虚拟数据区内;在校验未通过时,所述固件更新模块将所述固件程序丢弃。8.根据权利要求1所述的方法,其特征在于,所述可进行数据存储操作的设备为通用的可移动存储设备;所述存储设备协议为通用的可移动存储设备协议。9.根据权利要求8所述的方法,其特征在于,所述固件更新模块为U盘系统,所述通用的可移动存储设备协议为U盘的软硬件协议,所述上位机将嵌入式系统识别为U盘;所述上位机通过USB电缆与嵌入式系统连接。10.一种实现固件更新的系统,该系统包括上位机和嵌入式系统,其特征在于,嵌入式系统中设置有固件更新模块,所述固件更新模块在固件更新模式下被加载,并在加载后建立虚拟文件分配表FAT;上位机,与处于固件更新模式下的嵌入式系统连接,并用于在连接后根据所述虚拟FAT,基于存储设备协议将所述嵌入式系统识别为可进行数据存储操作的设备;所述上位机还用于将固件程序拷贝到所述嵌入式系统,所述固件更新模块用于接收来自上位机的固件程序,并根据所述虚拟FAT存储该固件程序至嵌入式系统的存储空间。11.根据权利要求10所述的系统,其特征在于,所述固件更新模块中的虚拟FAT包含FATHEADER,只包含FAT表区的数据头的2个FAT表区,只包含1个文件名内容的目录和文件名区,以及虚拟数据区。12.根据权利要求11所述的系统,其特征在于,所述固件更新模块进一步用于对来自上位机的固件程序进行校验,并根据校验结果生成状态反馈文件,所述生成状态反馈文件为将校验结果以字符串的形式填充在虚拟FAT中的目录和文件名区内;在生成状态反馈文件之后,固件更新模块进一步用于通知上位机虚拟FAT内数据改变;所述上位机进一步用于进行自动刷新,显示以校验结果作为文件名的状态反馈文件。13.根据权利要求12所述的系统,其特征在于所述固件更新模块加载在所述嵌入式系统的引导系统BOOT内,所述虚拟FAT的FATHEADER、FAT表区以及目录和文件名区均设置在所述BOOT中,所述虚拟数据区映射到所述嵌入式系统的存储空间中。14.根据权利要求10所述的系统,其特征在于,所述固件更新模块为U盘系统,所述存储设备协议为U盘的软硬件协议,所述上位机将嵌入式系统识别为U盘;所述上位机与所述嵌入式系统中的U盘系统通过USB电缆连接。全文摘要本发明提供了一种实现固件更新的方法和系统,通过在固件更新模式下,在嵌入式系统中加载固件更新模块,固件更新模块建立虚拟文件分配表FAT,连接上位机与嵌入式系统进行设备枚举过程,并根据存储设备协议以及虚拟FAT将所述嵌入式系统识别为存储设备,执行固件更新过程,根据所述虚拟FAT将固件程序通过固件更新模块拷贝到所述嵌入式系统中。解决了现有技术中需要专门私有的协议客户端软件才能实现固件升级时,系统复杂,操作麻烦的问题,使固件更新更加简单方便。文档编号G06F9/445GK101030146SQ20071006530公开日2007年9月5日申请日期2007年4月10日优先权日2007年4月10日发明者刘勇,谭帅,张华申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1