嵌入式设备、嵌入式设备中固件在线升级的系统及方法

文档序号:6600816阅读:328来源:国知局
专利名称:嵌入式设备、嵌入式设备中固件在线升级的系统及方法
技术领域
本发明涉及嵌入式设备领域,尤其涉及一种嵌入式设备、以及该嵌入式设备中固件在线升级的系统及方法。
背景技术
在嵌入式设备中,对内核固件或文件系统固件进行升级,一般将目标板连接到主 机,通过JTAG 口、串口或网口来完成升级过程。这种嵌入式设备中固件升级的实现需要采 用专用工具对待更新的固件进行烧录,操作起来比较复杂。对于普通用户来说是一项难以 完成的工作。

发明内容
本发明的目的之一在于提供一种嵌入式设备、嵌入式设备中固件在线升级的系统 及方法,简化嵌入式设备中固件升级的步骤,提高固件升级的速度和效率。本发明提出了一种嵌入式设备,其包括存储模块、下载模块、以及引导加载模 块;其中,所述存储模块包括当前运行固件存储区和固件映像文件存储区;所述下载模块,用于从服务器中下载版本高于当前运行固件的固件映像文件,并 将所述版本高于当前运行固件的固件映像文件存储至固件映像文件存储区;所述引导加载模块,用于从固件映像文件存储区加载调用固件映像文件。优选地,所述嵌入式设备包括检测模块,用于检测服务器中是否存在版本高于当 前运行固件的固件映像文件。优选地,嵌入式设备包括环境变量设置模块,用于设置所述固件映像文件存储区 的起始地址信息。优选地,所述引导加载模块,用于根据所述起始地址信息查找所述固件映像文件。
优选地,所述嵌入式设备还包括验证模块,用于验证所述固件映像文件是否已存 储至固件映像文件存储区。优选地,所述当前运行固件存储区包括当前运行内核固件存储区和当前运行文 件系统固件存储区;所述固件映像文件存储区包括内核固件映像文件存储区、文件系统 固件映像文件存储区。本发明另提出一种嵌入式设备中固件在线升级的方法,其包括以下步骤从服务器下载版本高于当前运行固件的固件映像文件,并将所述版本高于当前运 行固件的固件映像文件存储至固件映像文件存储区;从固件映像文件存储区加载调用固件映像文件。优选地,所述从服务器中下载版本高于当前运行固件的固件映像文件步骤之前还 包括检测服务器中存在版本高于当前运行固件的固件映像文件。
优选地,所述从固件映像文件存储区加载调用固件映像文件步骤之前还包括设置固件映像文件存储区的起始地址信息;根据所述起始地址信息查找所述固件映像文件。优选地,所述设置固件映像文件存储区的起始地址信息步骤之前还包括验证固件映像文件已存储至固件映像文件存储区。优选地,所述固件映像文件包括内核固件映像文件和文件系统固件映像文件。本发明还提出一种嵌入式设备中固件在线升级的系统,其中,包括嵌入式设备、与该嵌入式设备网络连接的服务器;所述嵌入式设备包括存储模块、下载模块、以及引导加 载模块;其中,所述存储模块包括当前运行固件存储区和固件映像文件存储区;所述下载模块,用于从服务器中下载版本高于当前运行固件的固件映像文件,并 将所述版本高于当前运行固件的固件映像文件存储至固件映像文件存储区;所述引导加载模块,用于从固件映像文件存储区加载调用固件映像文件。优选地,所述嵌入式设备包括检测模块,用于检测服务器中是否存在版本高于当 前运行固件的固件映像文件。优选地,嵌入式设备包括环境变量设置模块,用于设置所述固件映像文件存储区 的起始地址信息。优选地,所述引导加载模块,用于根据所述起始地址信息查找所述固件映像文件。优选地,所述嵌入式设备还包括验证模块,用于验证固件映像文件是否存储至固 件映像文件存储区。优选地,所述当前运行固件存储区包括当前运行内核固件存储区和当前运行文 件系统固件存储区;所述固件映像文件存储区包括内核固件映像文件存储区、文件系统 固件映像文件存储区。本发明的嵌入式设备、嵌入式设备中固件在线升级的系统及方法,其方法通过网 络从服务器中下载固件映像文件,并将该固件映像文件存储至其相应的存储区内;系统重 启后,引导加载该固件映像文件。与现有技术相比,简化了固件的升级步骤、提高了升级的 速度和升级成功率,减少了升级的成本,延长了嵌入式设备的使用寿命。


图1是本发明的嵌入式设备中固件在线升级的系统实施一的结构示意图;图2是本发明的嵌入式设备中固件在线升级的系统实施二的结构示意图;图3是本发明的嵌入式设备中固件在线升级的系统实施三的结构示意图;图4是本发明的嵌入式设备的区间分布图;图5是本发明的嵌入式设备中固件在线升级的系统实施四的结构示意图;图6是本发明的嵌入式设备中固件在线升级的方法实施例一的流程图;图7是本发明的嵌入式设备中固件在线升级的方法实施例二的流程图;图8是本发明的嵌入式设备中固件在线升级的方法实施例三的流程图;图9是本发明的嵌入式设备中固件在线升级的方法实施例四的流程图。
具体实施例方式本发明为了实现嵌入式设备中固件在线升级,将嵌入式设备插入服务器的插槽 内,并配置嵌入式设备的IP地址和子网掩码,从而使嵌入式设备与该服务器网络连接,形 成嵌入式设备中固件在线升级的系统。该在线升级系统在所述嵌入式设备的基础上增设 用于存储当前运行固件和固件映像文件的存储器、用于从服务器中下载固件映像文件的下 载模块、以及用于加载调用固件映像文件的引导加载模块。本发明的嵌入式设备中固件在线升级的系统实施例一,参见图1,包括嵌入式设备 10和与该嵌入式设备10网络连通的服务器20 ;所述嵌入式设备10包括存储模块12、下 载模块11、以及引导加载模块13。其中,存储模块12包括当前运行固件存储区和固件映像文件存储区,分别用于 存储当前运行的固件和下载的固件映像文件。当前运行固件存储区又分为当前运行内核 固件存储区kernelO、当前运行文件系统固件存储区FS0,其分别用于存储当前运行的内核 固件和文件系统固件。固件映像文件存储区又分为内核固件映像文件存储区kernell、文 件系统固件映像文件存储区FS1,其分别用于存储从服务器20下载的内核固件映像文件和 文件系统固件映像文件。其中,所述存储区kernelO和存储区kernell的区域大小一致;同 时,所述存储区FSO和存储区FSl的区域大小一致。所述下载模块11,用于从服务器20中下载版本高于当前运行固件版本的固件映 像文件,并存储至固件映像文件存储区。所述引导加载模块13,用于初始化系统硬件模块,定义每个固件存储区的起始地 址和结束地址、选择加载调用目标固件映像文件。进一步地,本发明的嵌入式设备中固件在线升级的系统实施例二,参见图2,所述 嵌入式设备10还包括有检测模块14,用于检测服务器20是否存在版本高于当前运行固件 的固件映像文件,并将检测结果发送至下载模块11 ;所述下载模块11根据检测结果选择是 否下载固件映像文件,当服务器20存在所述固件映像文件,则下载模块11从服务器20下 载所述固件映像文件,并存储至固件映像文件存储区。本发明的嵌入式设备中固件在线升级的系统,由于内核固件和文件系统固件的存 储区是区分开的,并且内核固件存储区分为当前内核固件存储区和内核固件映像文件存储 区;文件系统固件存储区分为当前文件系统固件存储区和文件系统固件存储区;因此可以 实现内核固件或文件系统固件的单独升级,也可以实现二者同时升级。以下是本发明的嵌 入式设备中固件在线升级三种情况第一种情况当服务器20中只有内核固件映像文件的版本高于当前运行的内核 固件,则只下载该内核固件映像文件,并将其存储至相应的内核固件映像文件存储区内。系 统重新启动后,引导加载模块13则加载调用该内核固件映像文件,该内核固件映像文件运 行完毕后,再加载调用系统中原有的文件系统固件。第二种情况当服务器20中只有文件系统固件映像文件的版本高于系统当前运 行文件系统固件,则只下载该文件系统固件映像文件,并将其存储至相应的文件系统固件 映像文件存储区内。系统重新启动后,引导加载模块13先加载调用系统原有的内核固件, 当该内核固件运行完毕后,再加载调用所述文件系统固件映像文件。第三种情况当服务器20中的内核固件映像文件和文件系统固件映像文件的版本均高于当前运行的内核固件以及文件系统固件,则同时下载该内核固件映像文件和文件 系统固件映像文件,并将其存储至相应的内核固件存储区和文件系统固件映像文件存储区 内;系统重新启动后,引导加载模块13加载调用所述内核固件映像文件,当该内核固件映 像文件运行完毕后,再加载调用所述文件系统固件映像文件。进一步,本发明的嵌入式设备中固件在线升级的系统实施例三,参见图3,所述嵌 入式设备10还包括环境变量设置模块15,用于设置固件映像文件存储区的起始地址信 息,所述引导加载模块13可以根据该起始地址信息查找相应的固件映像文件,然后加载调 用该固件映像文件。本发明的嵌入式设备中固件在线升级的系统,在固件完成一次在线升级后,重新 启动运行升级后的固件时,检测到服务器20存在版本高于该升级后固件的固件映像文件, 则所述存储区kernelO成为内核固件映像文件存储区,存储区kernell为当前内核固件存 储区;所述存储区FSO成为文件系统固件映像文件存储区,存储区FSl为当前文件系统固 件存储区。本发明的嵌入式设备中固件在线升级的系统,每升级一次则需从服务器20下 载固件映像文件,并将其存储至相应的存储区,覆盖该存储区内原有的固件。若前一次升级 时将内核固件映像文件存储至存储区kernell,此次则将内核固件映像文件存储至存储区 kernelO,并覆盖原有的内核固件。若前一次升级时将文件系统固件映像文件存储至存储区 FS1,此次则将文件系统固件文件存储至存储区FS0,并覆盖原有的文件系统固件。本发明的嵌入式设备中固件在线升级的系统,参见图4,引导加载模块 BootLoader、环境变量设置模块ENV和存储模块分开设置,而存储模块又分别设置为四个 独立的存储区,如其包括存储区kernelO、存储区kernel 1、存储区FS0、以及存储区FSl。由 于引导加载模块BootLoader和环境变量设置模块ENV分开设置,因此在设置内核固件映像 文件与文件系统固件映像文件的起始地址时,不会影响引导加载模块中的内容。同时由于 存储模块分成内核固件存储区和文件系统固件存储区;且内核固件存储区分为kernelO和 kernel 1两个存储区;文件系统固件存储区分为FSO和FSl两个存储区。从而可以确保系 统中内核固件和文件系统固件分开更新升级,即可以同时更新升级内核固件和文件系统固 件,也可以单独更新升级内核固件或文件系统固件。进一步,本发明的固件在线升级的系统实施例四,参见图5,所述嵌入式设备10还 包括验证模块16,用于验证固件映像文件是否存储至固件映像文件存储区,本系统在验证 固件映像文件已存储至固件映像文件存储区后,再通过环境变量设置模块15设置该固件 映像文件存储区的起始地址,系统重新启动后,引导加载模块13根据环境变量设置模块15 的中设置的固件映像文件存储区的起始地址查找并加载调用该固件映像文件。本发明的嵌入式设备即为上述系统实施例一至四中描述的嵌入式设备,在此不再 赘述。本发明的嵌入式设备中固件在线升级的方法实施例一,参见图6,其具体包括如下 步骤步骤Si、从服务器中选择版本高于当前运行固件的固件映像文件,并将该版本高 于当前运行固件的固件映像文件存储至固件映像文件存储区;步骤S2、系统重新启动后,从所述固件映像文件存储区加载调用所述固件映像文 件。
本发明的嵌入式设备中固件在线升级的方法实施例二,参见图7,其包括如下步 骤步骤Li、检测服务器中是否存在版本高于当前运行固件的固件映像文件;若是,则执行步骤L2 ;若否,则返回运行当前程序;步骤L2、从服务器中下载所述版本高于当前运行固件的固件映像文件,并将该版 本高于当前运行固件的固件映像文件存储至固件映像文件存储区;步骤L3、系统重新启动后,从所述固件映像文件存储区加载调用所述固件映像文 件。本发明的嵌入式设备中固件在线升级的方法实施例三,参见图8,其包括如下步 骤步骤HI、检测服务器中是否存储版本高于当前运行固件的固件映像文件,若是,则 执行步骤H2,若否,则返回运行当前程序;步骤H2、从服务器中下载所述版本高于当前运行固件的固件映像文件,并将该版 本高于当前运行固件的固件映像文件存储至固件映像文件存储区;步骤H3、设置所述固件映像文件存储区的起始地址信息;步骤H4、系统重新启动后,根据所述起始地址信息查找并加载调用所述固件映像 文件。本发明的嵌入式设备中固件在线升级的方法实施例四,参见图9,包括如下步骤步骤J1、检测服务器中是否存在版本高于当前运行固件的固件映像文件,若是,则 执行步骤J2,若否,则返回运行当前程序;步骤J2、从服务器中下载所述版本高于当前运行固件的固件映像文件,并将该版 本高于当前运行固件的固件映像文件存储至固件映像文件存储区;步骤J3、验证所述版本高于当前运行固件的固件映像文件是否已存储至固件映像 文件存储区;若是,则执行步骤J4 ;否则返回执行步骤J2 ;步骤J4、设置所述固件映像文件存储区的起始地址信息;步骤J5、系统重新启动后,根据所述起始地址信息查找并加载调用所述固件映像 文件。本发明的嵌入式设备中固件在线升级的方法实施例一、二、三和四,所述固件映像 文件分为内核固件映像文件和文件系统固件映像文件。内核固件和文件系统固件可以单 独进行更新升级,也可以二者同时进行更新升级。如当检测到服务器中只存在版本高于当前运行内核固件的内核固件映像文件,则 下载该内核固件映像文件,并存储至内核固件映像文件存储区;系统重新启动后,引导加载 该内核固件映像文件,当该内核固件映像文件运行完毕后,再加载调用原有的文件系统固 件。如当检测到服务器中只存在版本高于当前运行文件系统固件的文件系统固件映 像文件,则下载该文件系统固件映像文件,并存储至文件系统固件映像文件存储区;系统重 新启动后,引导加载原有的内核固件,当该内核固件运行完毕后,再加载调用所述文件系统 固件映像文件。如当检测到服务器中同时存在版本高于当前运行内核固件和文件系统固件相应的内核固件映像文件以及文件系统固件映像文件,则下载该内核固件映像文件,并存储至内核固件映像文件存储区;同时下载该文件系统固件映像文件,并存储至文件系统固件映 像文件存储区;系统重新启动后,则依次加载调用内核固件映像文件和文件系统固件映像 文件。本发明的嵌入式设备中固件在线升级的系统,当服务器中存在版本高于嵌入式设 备当前运行固件的固件映像文件时,所有与该服务器网络连通的嵌入式设备可以同时从服 务器中下载相应的固件镜像文件,并存储至相应的固件存储区内,以实现固件固件的自动、 批量在线升级,无需人工干预,非常方便。本发明的嵌入式设备与联网的服务器网络连通,在实现固件升级过程中只需采用 下载模块从服务器下载所需的固件映像文件,无需采用专用的烧录工具对固件映像文件进 行烧录,简化了固件的升级步骤,节省了固件升级成本,延长嵌入式设备的使用寿命。同时, 由于将存储模块分成四个独立的固件存储区,即将内核固件存储区与文件系统固件存储 区,以及内核固件映像文件存储区与文件系统固件映像文件存储区分开设置,使得每个待 更新升级的固件镜像文件小,下载速度快,节省了下载时间。应当理解的是,以上所述仅为本发明的优选实施例,不能因此限制本发明的专利 范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接 运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
一种嵌入式设备,其特征在于,包括存储模块、下载模块、以及引导加载模块;其中,所述存储模块包括当前运行固件存储区和固件映像文件存储区;所述下载模块,用于从服务器中下载版本高于当前运行固件的固件映像文件,并将所述版本高于当前运行固件的固件映像文件存储至固件映像文件存储区;所述引导加载模块,用于从固件映像文件存储区加载调用固件映像文件。
2.根据权利要求1所述的嵌入式设备,其特征在于,所述嵌入式设备还包括检测模 块,用于检测服务器中是否存在版本高于当前运行固件的固件映像文件。
3.根据权利要求1或2所述的嵌入式设备,其特征在于,嵌入式设备还包括环境变量 设置模块,用于设置所述固件映像文件存储区的起始地址信息。
4.根据权利要求3所述的嵌入式设备,其特征在于,所述引导加载模块,还用于根据所 述起始地址信息查找所述固件映像文件。
5.根据权利要求4所述的嵌入式设备,其特征在于,所述嵌入式设备还包括验证模 块,用于验证所述固件映像文件是否已存储至固件映像文件存储区。
6.根据权利要求5所述的嵌入式设备,其特征在于,所述当前运行固件存储区包括当 前运行内核固件存储区和当前运行文件系统固件存储区;所述固件映像文件存储区包括内 核固件映像文件存储区和文件系统固件映像文件存储区。
7.一种嵌入式设备中固件在线升级的方法,其包括以下步骤从服务器下载版本高于当前运行固件的固件映像文件,并将所述版本高于当前运行固 件的固件映像文件存储至固件映像文件存储区;从固件映像文件存储区加载调用固件映像文件。
8.根据权利要求7所述的嵌入式设备中固件在线升级的方法,其特征在于,所述从服 务器中下载版本高于当前运行固件的固件映像文件步骤之前还包括检测服务器中存在版本高于当前运行固件的固件映像文件。
9.根据权利要求7或8所述的嵌入式设备中固件在线升级的方法,其特征在于,所述从 固件映像文件存储区加载调用固件映像文件步骤之前还包括设置固件映像文件存储区的起始地址信息;根据所述起始地址信息查找所述固件映像文件。
10.根据权利要求9所述的嵌入式设备中固件在线升级的方法,其特征在于,所述设置 固件映像文件存储区的起始地址信息步骤之前还包括验证固件映像文件已存储至固件映像文件存储区。
11.一种嵌入式设备中固件在线升级的系统,其特征在于,包括嵌入式设备、与该嵌 入式设备网络连接的服务器;所述嵌入式设备包括存储模块、下载模块、以及引导加载模 块;其中,所述存储模块包括当前运行固件存储区和固件映像文件存储区;所述下载模块,用于从服务器中下载版本高于当前运行固件的固件映像文件,并将所 述版本高于当前运行固件的固件映像文件存储至固件映像文件存储区;所述引导加载模块,用于从固件映像文件存储区加载调用固件映像文件。
12.根据权利要求12所述的嵌入式设备中固件在线升级的系统,其特征在于,所述嵌 入式设备还包括检测模块,用于检测服务器中是否存在版本高于当前运行固件的固件映像文件。
13.根据权利要求12或13所述的嵌入式设备中固件在线升级的系统,其特征在于,嵌 入式设备包括环境变量设置模块,用于设置所述固件映像文件存储区的起始地址信息。
14.根据权利要求14所述的嵌入式设备中固件在线升级的系统,其特征在于,所述引 导加载模块,还用于根据所述起始地址信息查找所述固件映像文件。
15.根据权利要求15所述的嵌入式设备中固件在线升级的系统,其特征在于,所述嵌 入式设备还包括验证模块,用于验证固件映像文件是否存储至固件映像文件存储区。
16.根据权利要求16所述的嵌入式设备中固件在线升级的系统,其特征在于,所述当 前运行固件存储区包括当前运行内核固件存储区和当前运行文件系统固件存储区;所述 固件映像文件存储区包括内核固件映像文件存储区、文件系统固件映像文件存储区。
全文摘要
本发明公开了一种嵌入式设备、嵌入式设备中固件在线升级的系统及方法,嵌入式设备包括存储模块、下载模块、引导加载模块;存储模块包括当前运行固件存储区和固件映像文件存储区;下载模块,用于下载版本高于当前运行固件的固件映像文件,并将其存储至固件映像文件存储区;引导加载模块,用于加载调用固件映像文件。本发明的嵌入式设备、嵌入式设备中固件在线升级的系统及方法,其方法通过网络从服务器下载固件映像文件,并将其存储至相应的存储区;系统重启后,引导加载固件映像文件。与现有技术相比简化了固件的升级步骤,提高了升级的速度和成功率,减少了升级成本,延长了嵌入式设备的使用寿命。
文档编号G06F9/445GK101826026SQ201010148119
公开日2010年9月8日 申请日期2010年4月12日 优先权日2010年4月12日
发明者吴志方, 陈雨 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1