可自动更新软件的嵌入式系统及其软件更新方法

文档序号:6466491阅读:304来源:国知局
专利名称:可自动更新软件的嵌入式系统及其软件更新方法
技术领域
本发明有关于一种嵌入式系统,且特别有关于一种可自动更新软件的嵌 入式系统及其软件更新方法。
背景技术
近年来嵌入式系统(embedded system)极具市场规模,类似系统处处可见, 如网络服务器以及终端服务器等。嵌入式系统通常包含有一个操作系统,目 前较常使用的操作系统为Linux, WinCE或者是WinXPe等等,而这些操作 系统在关机前必须要有一个标准作业流程,要是使用者不依照这个标准作业 流程执行关机,例如不正常停电或者直接断电,将会造成操作系统的档案系 统(file system)损毁而无法开机,因而无法进入操作系统做系统维护或者恢复 系统的动作。在这种情形下,使用者必须将系统送回原厂维修,对使用者而 言相当不便利。而且,在某些以嵌入式系统作为主要设备的产业中,若嵌入 式系统停机过久,将会造成无法预估的损失。
由上述可知,如何让4吏用者能在嵌入式系统发生异常时进行自我维护, 而不必送回原厂维修,以减少维修嵌入式系统所花费的成本与时间,实为现 今相关产业极为重视的议题之一 。

发明内容
有鉴于现有技术存在使用者无法对嵌入式系统自行进行维护的问题,本 发明遂提供一种可自动更新软件的嵌入式系统及其软件更新方法,其可自动 更新嵌入式系统的软件,以避免发生嵌入式系统因内部软件损坏而无法正常 运作的情形。
本发明提供一种可自动更新软件的嵌入式系统,其适于透过一传输接口 而与一计算机主机联机,且该嵌入式系统包括储存模块、孩i处理器、开机模
块、生成模块、传送模块以及更新修复模块。其中,储存模块是用以储存一操作系统映像文件,微处理器则是用以将该操作系统映像文件转换为一操作 系统程^代码,并执行该操作系统程序代码。开机模块包括储存单元以及处 理单元,其中储存单元是用以储存一开^L程序代码以及一—验证基准值,而处 理单元即是用以执行该开机程序代码。其中,开机程序代码包括运算程序代 码、验证程序代码及初始化程序代码,运算程序代码是用以计算该操作系统 映像文件的一待验值,验证程序代码是用以验证该待验值是否与该验证基准
值相符;初始化程序代码则是在该操作系统的该待验值与该验证基准值相符
时,初始化该微处理器,以使该微处理器将该操作系统映像文件转换为一操 作系统程序代码,并执行该操作系统程序代码。
承上所述,生成模块是用以在该操作系统映像文件的该待验值与该验证 基准值不相符时,生成一请求,而传送模块是将该请求传送至该计算机主机, 更新修复模块则是用以接收该计算机主机依据该请求所回传的一软件更新文 件,并依据该软件更新文件更新该操作系统映像文件。其中,该微处理器是 将更新后的该操作系统映像文件转换为操作系统程序代码,并执行该操作系 统程序代码。
本发明提供一种嵌入式系统软件更新方法,其中该嵌入式系统适于透过 一传输接口与一计算机主机联机,且该嵌入式系统中储存有一操作系统映像 文件、 一开机程序代码以及一验证基准值,而该方法的实4亍步骤是先执行该
开机程序代码,以执行下列步骤计算该操作系统映像文件的一待验值;验 证该待验值是否与该验证基准值相符。其中,当该操作系统的该待验值与该 验证基准值不相符时,则执行下列步骤生成一请求;传送该请求至该计算 机主机;接收该计算机主机依据该请求所回传的一软件更新文件;依据该软 件更新文件更新该操作系统映像文件;以及重复上述步骤,直到该操作系统 映像文件的该待验值与该验证基准值相符时,将该操作系统映像文件转换为 一操作系统程序代码,并执行该作业程序代码。
本发明所公开的可自动更新软件的嵌入式系统及其软件更新方法如上, 与现有技术之间的差异在于本发明可先借由开机模块中的开机程序代码来判 断操作系统映像文件是否发生异状,并依据判断结果决定是否欲自动进行嵌 入式系统的软件更新。透过上述的技术手段,本发明可以降低现有嵌入式系 统更新软件时所需耗费的人力与成本,以提高嵌入式系统的使用便利性与市场竟争力。


图1为本发明可自动更新软件的嵌入式系统在第一实施例中的方块示意图。
图2为本发明嵌入式系统软件更新方法在第一实施例中的步骤流程图。主要元件符号说明
100 嵌入式系统
101 计算机主机
102 传输接口 110 储存模块 120 微处理器 130 开机模块 132 储存单元 134 处理单元 140 生成模块 150 传送模块 160 更新纟务复沖莫块 170 挥发性内存
步骤210计算操作系统映像文件的待验值
步骤220验证待验值是否与验证基准值相符
步骤230将操作系统映像文件转换为操作系统程序代码
步骤235将操作系统程序代码暂存于挥发性内存中
步骤240执行此操作系统程序代码
步骤250生成一请求
步骤260将此请求传送至计算机主机步骤270接收计算机主机依据此请求所回传的软件更新文件 步骤280依据接收到的软件更新文件来更新操作系统映像文件
具体实施例方式
以下将配合附图及实施例来详细说明本发明的实施方式,借此对本发明 据以实施。
图1绘示为本发明可自动更新软件的嵌入式系统在第一实施例中的方块 示意图。请参照图1,嵌入式系统100适于透过传输接口 102而与计算机主 机101联机,其中传输接口 102可以是有线网络或无线网络,但本发明并不 限定于此,传输接口 102还可以是如串行端口 (serial port)或通用序列总线 (universal serial bus, USB)等的传输埠。
承上述,嵌入式系统100包括储存模块110、微处理器120、开机模块 130、生成模块140、传送模块150以及更新修复模块160。其中,储存模块 110是用以储存一操作系统映像文件。在本实施例中,储存模块110为一闪 存(flashmemory),但其并非用以限定本发明。本领域技术人员应该知道,储 存模块110也可以是其它种类的非挥发性内存(non-volatile memory)。
微处理器120可以是一般常见的中央处理单元(Central Processing Unit, CPU),用以将储存模块110中所储存的操作系统映像文件转换为一操作系统 程序代码,并执行此操作系统程序代码,使嵌入式系统IOO正常运作。此操 作系统映像文件可以是Linux, WinCE或者是WinXPe的系统映像文件,但 本发明并不将其限定于此。
另外,嵌入式系统100也可以包括一挥发性内存(volatile memory) 170, 如动态随冲几存取内存(Dynamic Random Access Memory, DRAM), 而上述4喿作 系统程序代码即可暂存于此。挥发性内存170的详细功能为本领域技术人员 所熟知,此处不再赘述。
开机模块130包括储存单元132及处理单元134,其中储存单元132是 用以储存开机程序代码(boot code)与验证基准值(standard checksum),而开机 程序代码包含-验证程序^码(check code)与初始化程序代码(initialize code)。详细来说,验证基准值例如是在嵌入式系统100出厂前,透过对可正常运作的
操作系统映像文件内容进行演算所得的值。而验证程序代码是用以验证依据 当下的操作系统映像文件内容进行演算所得的待验值(一般称之为
checksum),是否与储存单元132中所储存的验证基准值相符。
具体来说,若对当下的操作系统映像文件内容进行演算所得的待验值与 储存单元132中所储存的验证基准值相符,则表示当下的操作系统映像文件 可正常运作,此时即透过执行初始化程序代码以初始化孩i处理器120,而使 微处理器120将操作系统映像文件转换为操作系统程序代码,并执行操作系 统程序代码,以启动一操作系统。
另 一方面,若对当下的操作系统映像文件内容进行演算所得的待验值与 储存单元132中所储存的验证基准值不相符,则表示当下的操作系统映像文 件发生异状而无法正常运作,此时嵌入式系统100会借由生成模块140来生 成一请求,并透过传送模块150将此请求传送至计算机主机101。当计算机 主机101接收到传送模块150所传送的请求之后,会依据此请求而执行一应 用程序,以生成适用于嵌入式系统100的软件更新文件,并将此软件更新文 件回传给嵌入式系统100。
承上述,更新修复模块160即是用以接收计算机主机101所回传的软件 更新文件,并依据所接收到的软件更新文件来更新储存模块110中的操作系 统映像文件。其中,微处理器120是将更新后的操作系统映像文件转换为操 作系统程序代码,并执行此操作系统程序代码,以供使用者在此操作系统下 操作嵌入式系统100。
下文将配合附图举例说明本发明嵌入式系统软件更新方法,以使本领域 技术人员更加了解上述嵌入式系统自动执行软件更新的流程。
图2绘示为本发明嵌入式系统软件更新方法在第一实施例中的步骤流程 图。请同时参照图l及图2,在开启嵌入式系统IOO的电源(未绘示)之后, 开机模块130会先执行开机程序代码中的运算程序代码,以计算储存模块110 中的操作系统映像文件在当下的待验值(checksum)(步骤210)。接着,执行 开机程序代码中的验证程序代码,以验证步骤210所计算出的待验值是否与 储存单元132中的验证基准值相符(步骤220 )。
承上所述,当此待验值与验证基准值相符时,则执行开机程序代码中的初始化程序代码以初始化微处理器120,之后微处理器120会将操作系统映 像文件转换为操作系统程序代码(步骤230),并执行此操作系统程序代码
(步骤240)。值得一提的是,本实施例在微处理器120将操作系统映像文 件转换为操作系统程序代码之后,例如是先将此操作系统程序代码暂存于挥 发性内存170中(步骤235),而后续微处理器120即是从挥发性内存170 中读出并执行此搮:作系统程序代码(步骤240 )。
反之,当此待验值与验证基准值不相符时,则会先由生成模块140生成 一请求(步骤250 ),接着再由传送模块150将此请求传送至计算机主机101
(步骤260)。计算机主机101接收到传送模块150所传送的请求之后,即 依据此请求而执行应用程序来生成嵌入式系统100的软件更新文件,并将此 软件更新文件回传给嵌入式系统100。更新修复模块160在接收到计算机主 机101所回传的软件更新文件(步骤270)之后,会依据其所接收到的软件 更新文件来更新储存模块110中的操作系统映像文件(步骤280)。
值得一提的是,导致嵌入式系统无法正常开机的原因通常包括操作系统 映像文件或其储存格式(也就是所谓档案系统(file system))的损坏,而本发 明的更新修复模块160所接收到的软件更新文件除了可以用以更新或修复执 行操作系统映像文件所需的相关程序或档案外,亦可以包括用以修复操作系 统映像文件的储存格式的储存格式修复文件,以便于更新修复模块160依据 此储存格式修复文件对操作系统映像文件的储存格式进行修复。
请再次参照图i及图2,在完成储存模块110中的操作系统映像文件的 更新动作后,接着即重复执行步骤210至步骤220,以确认更新后的操作系 统映像文件的待验值与开机模块130的储存单元132中所储存的验证基准值 相符,并接续进行步骤230至步骤240,以供使用者于此操作系统下操作嵌 入式系统100。
综上所述,本发明是借由开机模块中的开机程序代码来判断操作系统映 像文件是否发生异状,并依据判断结果决定是否欲自动进行嵌入式系统的软 件更新。借由此技术手段,可以解决现有技术中使用者无法自行更新嵌入式 系统的软件的问题,进而达成降低现有嵌入式系统更新软件时所需耗费的人 力与成本,并提高嵌入式系统的使用便利性与市场竟争力的技术功效。
虽然本发明所公开的实施方式如上,惟所述的内容并非用以直接限定本发明的专利保护范围。任何本发明所属技术领域中技术人员,在不脱离本发 明所公开的精神和范围的前提下,可以在实施的形式上及细节上作些许的更 动。本发明的专利保护范围,仍须以所附的权利要求所界定者为准。
权利要求
1.一种可自动更新软件的嵌入式系统,适于透过一传输接口而与一计算机主机联机,该嵌入式系统包括一储存模块,用以储存一操作系统映像文件;一微处理器,用以将该操作系统映像文件转换为一操作系统程序代码,并执行该操作系统程序代码;以及一开机模块,包括一储存单元,用以储存一开机程序代码以及一验证基准值;一处理单元,用以执行该开机程序代码,其中该开机程序代码包括一运算程序代码,用以计算该操作系统映像文件的一待验值;一验证程序代码,用以验证该待验值是否与该验证基准值相符;以及一初始化程序代码,用以在该操作系统映像文件的该待验值与该验证基准值相符时,初始化该微处理器,以使该微处理器将该操作系统映像文件转换为一操作系统程序代码,并执行该操作系统程序代码;一生成模块,用以在该操作系统映像文件的该待验值与该验证基准值不相符时,生成一请求;一传送模块,用以传送该请求至该计算机主机;以及一更新修复模块,用以接收该计算机主机依据该请求所回传的一软件更新文件,并依据该软件更新文件更新该操作系统映像文件;其中该微处理器系将更新后的该操作系统映像文件转换为操作系统程序代码,并执行该操作系统程序代码。
2. 如权利要求1所述的可自动更新软件的嵌入式系统,其是透过网络或 一传输端口而与该计算机主机联机。
3. 如权利要求2所述的可自动更新软件的嵌入式系统,其中该传输端口 为通用序列总线或串行端口 。
4. 如权利要求1所述的可自动更新软件的嵌入式系统,其中该操作系统 映像文件是以一储存格式储存在该储存模块中,且该软件更新文件还包括一 储存格式修复档,而该更新修复模块还用以依据该储存格式修复档修复该储 存格式。
5. 如权利要求1所述的可自动更新软件的嵌入式系统,还包括一挥发性 内存,用以暂存该操作系统程序代码。
6. —种嵌入式系统软件更新方法,其中该嵌入式系统适于透过一传输接 口而与一计算机主机联机,且该嵌入式系统中储存有一操作系统映像文件、 一开机程序代码以及一验证基准值,而该方法包括下列步骤执行该开机程序代码,以执行下列步骤计算该操作系统映像文件的 一待验值; 验证该待验值是否与该验证基准值相符,其中当该操作系统映像文件的 该待验值与该验证基准值不相符时生成一请求;传送该请求至该计算机主机;接收该计算机主机依据该请求所回传的一软件更新文件; 依据该软件更新文件更新该操作系统映像文件;以及 重复上述步骤,直到该操作系统映像文件的该待验值与该验证基准 值相符;以及当该操作系统映像文件的该待验值与该验证基准值相符时将该操作系统映像文件转换为一操作系统程序代码;以及 执行该操作系统程序代码。
7. 如权利要求6所述的嵌入式系统软件更新方法,其中该请求是透过网 络或传输端口而传送至该计算机主机。
8. 如权利要求7所述的嵌入式系统软件更新方法,其中该请求是透过通 用序列总线或串行端口而传送至该计算机主机。
9. 如权利要求6所述的嵌入式系统软件更新方法,其中该操作系统映像 文件是以一储存格式储存在该储存模块中,且该计算机主机依据该请求所回 传的该软件更新文件还包括一储存格式修复文件,而依据该软件更新文件来 更新该操作系统映像文件的步骤包括依据该储存格式修复档来修复该储存格 式。
10. 如权利要求6所述的嵌入式系统软件更新方法,其中在将该操作系 统映像文件转换为该操作系统程序代码之后以及执行该操作系统程序代码之 前,还包括将该操作系统程序代码暂存于一挥发性内存中。
全文摘要
一种可自动更新软件的嵌入式系统及其软件更新方法,其借由开机模块中的开机程序代码来判断操作系统映像文件是否发生异状,并依据判断结果决定是否欲自动进行嵌入式系统的软件更新。借此,可以解决现有技术中使用者无法自行更新嵌入式系统的软件的问题,进而达成降低现有嵌入式系统更新软件时所需耗费的人力与成本,并提高嵌入式系统的使用便利性与市场竞争力的技术功效。
文档编号G06F9/445GK101661395SQ20081014686
公开日2010年3月3日 申请日期2008年8月26日 优先权日2008年8月26日
发明者李春晖, 陈文山 申请人:四零四科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1