CN1598773A - 启动和启动代码更新方法以及其系统 - Google Patents

启动和启动代码更新方法以及其系统 Download PDF

Info

Publication number
CN1598773A
CN1598773A CNA2004100824116A CN200410082411A CN1598773A CN 1598773 A CN1598773 A CN 1598773A CN A2004100824116 A CNA2004100824116 A CN A2004100824116A CN 200410082411 A CN200410082411 A CN 200410082411A CN 1598773 A CN1598773 A CN 1598773A
Authority
CN
China
Prior art keywords
load module
startup
starting
starts
backup
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2004100824116A
Other languages
English (en)
Other versions
CN1304946C (zh
Inventor
金炯勋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1598773A publication Critical patent/CN1598773A/zh
Application granted granted Critical
Publication of CN1304946C publication Critical patent/CN1304946C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/02Digital computers in general; Data processing equipment in general manually operated with input through keyboard and computation using a built-in program, e.g. pocket calculators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种用于启动并更新启动代码的方法和系统,该方法和系统存储了一启动安装程序以及一启动装载程序,该启动安装程序在启动的过程中可使有选择的执行启动装载程序或者备份启动装载程序,该启动装载程序是用于执行启动的启动代码。启动安装程序存储在位于非易失存储器中的启动更新状态区中,它检查启动更新状态信息以确定是否停止了更新,启动更新状态信息被检查以确定是否停止了对启动装载程序的更新。如果停止了对启动装载程序的更新,那么启动安装程序执行启动区中的启动装载程序,否则启动安装程序执行通过将启动装载程序拷贝到位于非易失存储器中的启动备份区中所创建的备份启动装载程序。

Description

启动和启动代码更新方法以及其系统
优先权
本申请要求韩国专利申请号为NO.2003-64508,申请日为2003年9月17日,发明名称为“启动和启动代码更新方法以及其系统”的向韩国知识产权局提交的专利申请的优先权;并且将其内容在此作为交叉引用。
技术领域
本发明涉及软件更新,尤其是涉及用于对启动代码进行更新的方法和系统。
背景技术
近来,诸如移动式通信终端、个人数字助理(PDA)等等这样的各种便携式终端已快速发展。通过实现数字整合而将便携式终端的各种功能组合在一起并且缩短了这些新型便携式终端的更新周期。其结果是,其包括在便携式终端的实现过程期间所出现的不可见及不希望功能错误的便携式终端的销售量增加了。还可在实现了或者开始使用便携式终端之后通过代码修补程序来释放便携式终端的附加功能。
在这种情况下,必须对用户所购买的且所使用的便携式终端的软件进行更新以进行升级且进行错误校正。为此,便携式终端的制造技术人员或者服务商必须直接拜访便携式终端的用户,否则所要更新的便携式终端的用户必须直接打电话给服务商或者售后服务(A/S)中心以接收其便携式终端的软件更新。
为了减少上述不便,已为其具有移动通信功能的便携式终端提供了无线电软件下载(OTA-SD)模式。这是这样的一模式,即其具有要更新的便携式终端的用户通过该模式而经由互联网而与A/S中心的特定服务器相连、选择所要下载的更新文件、并且将该更新文件下载到他的/她的便携式终端。还存在另一种模式,即用户通过该模式可将更新文件下载到用户的个人计算机(PC),并且此后通过通用串行总线(USB)电缆而将更新文件下载到用户的便携式终端。
在按照上述方式将更新文件下载到便携式终端之后,通过重新启动便携式终端来执行软件的更新。通常在清除了用于存储更新软件代码的区域之后,通过将所下载的软件代码存储在与该更新(以下简称“更新区”)相对应的区域中来执行该软件更新。用于存储的该区域位于便携式终端中的用于存储软件的非易失性存储器上。在便携式终端中,用于存储软件的非易失性存储器通常采用诸如闪存这样的可编程非易失性存储器。这些非易失性存储器存储启动代码和应用程序、字体二进制、以及内容二进制。
因为如上所述将软件下载到便携式终端中并对其进行更新,因此由于在更新过程中造成了异常,因而停止了对软件的更新。如该异常原因的例子,由于终端电池的脱离而突然断开了终端电源。
考虑到日志过程以用于防止更新处理在代码更新完成之前异常的停止。如果采用了日志过程,那么在非易失性存储器中分配了备份及日志区域、在开始更新时将更新区的存储内容拷贝到备份区中、并且记录数据存储在日志区域中,该记录数据表示根据一更新过程的每步执行结果。该更新过程包括三个步骤:第一步骤用于将更新区域的存储内容拷贝到备份区域中;第二步骤用于清除更新区域;以及第三步骤用于将所要更新的软件代码存储到更新区域中。
将更新区域的存储内容拷贝到存储区域的原因是使便携式终端在更新区域清空之后突然的断电并且防止存储在更新区域中的软件在没有被更新的情况下被删除。只要完成了其包括有拷贝步骤、清除步骤、以及存储步骤的这三个步骤之一,则将其表示每步执行结果的记录数据存储在日志区域。因此,当在更新的过程中在断开电源之后执行重新启动时,根据记录数据来对该更新所要重新启动的点进行检查,并且此后自那个点起继续所停止的更新过程。
同时,当便携式终端的电源最初被闭合时,由存储在上述非易失性存储器的启动区中的启动代码来执行该启动。通常,启动代码用于对便携式终端的基本硬件进行初始化并且将应用代码从非易失性存储器取至易失性存储器。通过对该硬件的大半基本参数进行设置来执行该硬件的初始化。在销售了便携式终端之后对若干参数进行修改。如对参数进行这种修改的例子,考虑对处理器工作频率进行调节。在这种情况下,如上所述必须将启动代码下载到便携式终端中并对其进行更新。
然而,根据上述过程在将所要更新的启动代码存储在更新区域之前并且在更新过程中在清除了更新区域之后断开电源。在这种情况下,尽管在清除了更新区域之前已将更新区的存储内容拷贝到存储区并且此后再次提供电源,但是不执行启动本身,因为已经清除了这样的区域,该区域中已存储了要进行启动而所需的代码。
当如此下载并更新了启动代码时,在更新的过程中在异常原因停止了启动之后不执行启动,这与诸如应用程序、字体二进制、内容二进制等等这样的对其他软件的更新不同。在这种情况下,尽管此后再次正常的提供电源,但是显然不能对所停止的启动代码继续进行更新,并且甚至不执行启动,并且最终不能使用便携式终端。
发明内容
因此,为解决现有技术所存在的上述问题而提出了本发明,并且本发明的目的在于提出了这样一种方法和系统,即即使当在对非易失性可编程存储器中的启动代码进行更新并且进行下载的过程中异常的停止了启动代码更新时,该方法和系统也可启动便携式终端。
本发明的另一个目的就是提出了这样一种方法和系统,即即使在对非易失性可编程存储器中的启动代码进行更新并且进行下载的过程中异常的停止了启动代码更新,该方法和系统也可继续重新执行所停止的更新。
为了实现这些目的,提供了一种用于启动以及启动代码更新的方法和系统,该方法和系统存储启动安装程序以及启动装载程序。该启动安装程序可在启动过程中有选择的执行启动装载程序或者备份启动装载程序。该启动装载程序是用于执行启动处理的启动代码。将启动安装程序存储在位于非易失性存储器中的启动更新状态区中并且检查启动更新状态信息以确定是否停止更新,在这种情况下对启动更新状态信息进行检查以确定是否停止了对启动装载程序的更新处理。如果没有停止对启动装载程序的更新,那么启动安装程序执行启动区域中的启动装载程序,并且否则,启动安装程序执行备份启动装载程序,该备份启动装载程序是通过将启动装载程序拷贝到分配给非易失性存储器的启动备份区域中所形成的。
附图明
结合附图,从下列详细说明中可显而易见的得出本发明的上述及其他目的、特征、以及优点,在附图中:
图1给出了根据本发明实施例的可编程非易失性存储器的存储器映象的方框图;
图2给出了根据本发明实施例的用于启动并且更新启动代码的系统结构的方框图:以及
图3给出了根据本发明实施例的用于对启动代码的启动及更新进行处理的流程图。
具体实施方式
在下文中,参考附图对本发明的优选实施例进行详细的说明。在本发明的下面描述中,当形成本发明的主题而不会造成不清楚时,省略对这里所采用的已知功能和结构进行详细说明。
图1给出了根据本发明实施例的可编程非易失性存储器的存储器映象,在该存储器中存储有本发明所采用的便携式终端的操作和可变功能的启动代码、应用程序、字体二进制、以及内容二进制,并且利用上述无线电(OTA)软件下载(SD)将更新文件下载到该存储器中并对其进行更新。与典型的非易失性存储器一样,根据本发明的非易失性存储器包括启动区100、应用区102、字体区104、内容区106、以及更新区108。启动区100、应用区102、字体区104、以及内容区106分别存储启动代码、应用程序、字体二进制、以及内容二进制。
然而,根据本发明,将启动区100分成用于存储启动安装程序的启动安装程序区110以及用于存储启动装载程序的启动装载程序区112,并且更新区108包括启动备份区124和启动更新状态区126。在本发明中用于执行启动的通用启动代码被称作启动装载程序,其中启动代码对便携式终端的基本硬件进行初始化并且将应用代码从非易失性存储器取至易失性存储器。当开始启动处理时,利用存储在更新区108的启动更新状态区126中的更新状态信息来监控启动代码的更新是否已停止。根据所检查的结果,将为了可有选择的执行启动装载程序区112的启动装载程序或者启动备份区124的启动备份装载程序所执行的代码存储在启动区100中。该代码被称作启动安装程序。将启动安装程序存储在紧邻启动区100的启动装载程序112之前的启动安装程序区域110中,该启动安装程序区域110是非易失性存储器的第一存储区。与将启动代码存储在非易失性存储器中一样,在制造公司制造存储器的过程中,通过利用只读存储器(ROM)记录器等等将启动安装程序和启动装载程序存储在启动区100中。
在上述非易失性存储器中,通常还对分别存储在应用区102、字体区104、以及内容106中的应用程序、字体二进制、以及内容二进制进行更新。然而,本发明还涉及启动代码的更新,并且因此下列描述的目的只是对启动代码进行更新。
更新区108进一步包括OTA下载程序区114、更新代理程序区116、下载更新文件区118、备用存储区120、以及日志区122,并且根据本发明进一步包括启动备用存储区124以及启动更新状态区126,其中更新区108用于在根据OTA-SD而下载了更新文件之后执行其包括有上述日志过程的更新。OTA下载程序区114存储用于根据OTA-SD来下载更新文件的OTA下载程序,并且下载更新文件区116存储所下载的更新文件。更新代理程序区118存储用于执行更新处理的更新代理程序。此外,如上所述,备份存储区120和日志区122用于在更新时间时所执行的日志过程。
启动备份存储区124用于存储备份启动装载程序以作为存储在启动装载程序区112中的启动装载程序的副本。备份启动装载程序是用于使下一个启动过程被执行的拷贝启动代码,即使当停止了启动装载程序更新时,这可能是由于在对启动装载程序区112中的启动装载程序进行更新期间异常的断开了电源。启动更新状态区126用于存储其表示更新过程的进展状态的启动更新状态信息并且检查是否已停止了启动装载程序的更新。当执行对启动装载程序的更新时,在对启动装载程序进行实际更新之前,存储在更新代理程序区116中的更新代理程序将下述预定值存储在启动更新状态区域126中以作为启动更新状态信息,该预定值表示开始更新启动装载程序,也就是表示“更新开始”。如果此后成功的完成了对启动装载程序的更新,那么将启动更新状态信息变为“更新完成”,该“更新完成”是其表示成功完成启动装载程序更新的预定值,并且将其存储在启动更新状态信息区126中。因此,在开始启动时,启动安装程序可从启动更新状态区126的启动更新状态信息中检测出是否停止了对启动装载程序的更新。如果启动更新状态信息是“更新开始”,那么启动安装程序可确定出没有完成对启动装载程序的更新。此外,如果启动更新状态信息是“更新完成”,那么启动安装程序可确定出没有停止对启动装载程序的更新。
图2给出了根据本发明实施例的其利用图1所示的非易失性存储器来对启动代码进行启动并对其进行更新的系统结构。非易失性存储器200是用于存储处理器单元202操作的软件的存储器并且具有根据本发明图1所示的存储器映象。处理器单元202用作便携式终端的主控单元,该单元采用了图2的启动以及启动代码。在这种情况下,处理器单元202根据存储在非易失性存储器200中的软件而对便携式终端的整个功能进行操作。提供了RAM 204以作为其根据处理器单元202所执行的程序而进行操作的工作存储器。通常,同步动态随机存取存储器(SDRAM)用作RAM 204。
图3给出了根据本发明实施例的用于对启动代码的启动及更新进行处理的流程图以及启动系统的操作。当其采用图2所示的用于对启动代码进行更新并进行启动的系统的便携式终端开始启动处理时,当接通电源时,处理器单元202执行存储在存储器200第一部分中的代码,存储在启动安装程序区域110中的启动安装程序被执行。因此,在步骤300至302,启动安装程序检查启动更新状态区126的更新状态信息(图1)以确定是否已经停止对启动代码的更新处理。
如果启动更新状态信息是“更新完成”并且确认出没有停止对启动装载程序的更新,那么启动安装程序在步骤304执行启动区的启动装载程序区112(图1)中的启动装载程序。因此,由启动区100的启动装载程序(图1)来执行启动。相反,如果启动更新状态信息是“更新开始”并且确认出没有完成对启动装载程序的更新但是其已经停止,那么在步骤306启动安装程序执行备份启动区124的备份启动装载程序。因此,由备份启动区124的备份启动装载程序来执行启动。
如上所述,在备份启动装载程序或者启动装载程序执行了启动之后,处理器单元202(图2)在步骤308通过利用代理程序区116(图1)的更新代理程序来检查启动装载程序更新文件是否位于下载更新文件区118(图1)之中。因此,在下载了启动装载程序更新文件之后,处理器单元202检查是否已经更新了启动装载程序。此时,如果启动装载程序更新文件不位于下载更新文件区118之中,那么在步骤326停止启动。然而,如果启动装载程序更新文件位于下载更新文件区118之中,那么存在这样一种情况,即在下载了启动装载程序文件之后不对启动装载程序进行更新,并且因此处理器单元202前进到步骤310并且执行启动装载程序更新。
在步骤310,对启动装载程序区112的启动装载程序进行拷贝以作为备份启动装载程序区124的备份启动装载程序的副本,并且在步骤312,将其表示“启动备份完成”的预定值存储在启动更新状态状态区126(图1)中,并且因此可确认出已成功的拷贝并备份了备份启动装载程序。
在步骤314将启动更新状态区126的启动更新状态信息存储为其表示“更新开始”的预定值之后,在步骤316至318执行启动装载程序的更新,其根据存储在下载更新文件区118中的启动装载程序更新文件而将启动装载程序区112的启动装载程序转换成已更新的启动装载程序。如果在步骤316至318已完成了对启动装载程序的更新,那么在步骤320通过清除下载更新文件区118来删除所下载的启动装载程序更新文件、在步骤322将启动更新状态区126的启动更新状态信息设置为其表示“更新完成”的预定值、并且此后与一般的更新完成一样在步骤324开始重新启动处理。
同时,在上述步骤316至318中,当正在执行启动装载程序的更新时,在对上述更新区进行清除的状态下出现了断电。在这种情况下,由于清除了部分启动装载程序而停止了更新,但是根据本发明在开始对启动装载程序进行更新之前,已将启动装载程序拷贝为备份启动装载程序区124的备份启动装载程序。此外,一旦将启动更新状态信息存储为“更新开始”,状态信息则不变为“更新完成”。因此,在执行启动装载程序更新时,当在断电之后再次提供了电源时,首先所执行的启动安装程序确认启动更新状态信息是“更新开始”并且执行使启动备份存储区124的备份启动装载程序替换启动装载程序。因此已经完成了启动。
因此,即使当在更新启动代码期间在清除了更新区的状态下由于异常原因而导致断电并且最终停止了启动代码更新时,此后也可由备份启动装载程序来执行启动并且可继续已停止的启动代码更新。
本发明的个实施例特别的给出了在开始启动装载程序更新之前对启动装载程序进行备份以作为一实施例。此外,本发明还可在启动装载程序更新之后对启动装载程序进行备份。在这种情况下,如果停止了启动代码更新,那么在完成了启动装载程序更新之后该启动是由先前的备份启动装载程序来完成的。然而,如果未曾执行启动装载程序更新,也就是说如果最初执行启动装载程序更新,那么此后不存在备份启动装载程序。为此,当首先将启动安装程序和启动装载程序存储在启动程序区100中时,足以满足备份启动装载程序,该备份启动装载程序通过利用ROM记录器等等而使其作为启动装载程序的副本而存储在启动备份区124中。本发明可用于下述嵌入式系统以及便携式终端,该嵌入式系统对启动代码进行更新并对其进行下载以使其存储在可编程非易失性存储器中。
虽然参考其某些优选实施例而给出并描述了本发明,但是对于本领域普通技术人员来说应该明白的是,在不脱离本发明精神和范围的情况下可对其结构及细节做出各种变化。因此,本发明的范围并不局限于这些实施例,而是由随后权利要求及其等效体来定义。

Claims (8)

1.一种根据存储在可编程非易失性存储器中的启动代码来进行启动的方法,该方法包括步骤:
将启动装载程序和启动安装程序存储在启动区中,启动装载程序是用于执行启动的启动代码,启动安装程序是用于根据启动的开始状态来有选择的执行从启动装载程序和备份启动装载程序之一所选择出来的代码;
启动安装程序检查启动更新状态信息以确定是否已停止启动装载程序更新,启动更新状态信息存储在位于非易失性存储器中的启动更新状态区域中;
当确认没有停止启动装载程序更新时,启动安装程序执行启动区域中的启动装载程序;以及
当确认已经停止了启动装载程序更新时,启动安装程序执行备份启动装载程序,该备份启动装载程序作为位于非易失性存储器中的启动备份区中的启动装载程序的副本。
2.一种根据启动代码来对启动代码进行更新并进行启动的方法,启动代码存储在可编程非易失性存储器中,该方法包括步骤:
将启动装载程序和启动安装程序存储在启动区中,启动装载程序是用于执行启动的启动代码,启动安装程序是用于根据启动的开始来有选择的执行从启动装载程序和备份启动装载程序之一所选择出来的代码;
启动安装程序检查启动更新状态信息以确定是否已停止启动装载程序更新,启动更新状态信息存储在位于非易失性存储器中的启动更新状态区域中;
当确认没有停止启动装载程序更新时,启动安装程序执行启动区域中的启动装载程序;
当确认已经停止了启动装载程序更新时,启动安装程序执行备份启动装载程序,该备份启动装载程序作为位于非易失性存储器中的启动备份区中的启动装载程序的副本;
当从启动装载程序和备份启动装载程序中所选择出来的代码执行启动时,在将启动装载程序更新文件下载到位于非易失性存储器中的下载更新文件区中之后,检查启动装载程序是否已被更新;
当已下载了启动装载程序更新文件并且确认不对启动装载程序进行更新时,将启动装载程序拷贝到启动备份区的备份启动装载程序中;
根据启动装载程序更新文件来更新启动装载程序;以及
将启动更新状态信息存储在启动更新状态区中,启动更新状态信息表示启动装载程序所继续前进到的更新步骤。
3.根据权利要求2的方法,进一步包括步骤:
确定是否已将启动装载程序更新文件下载到更新文件区,由此确定是否已对启动装载程序进行更新;以及
当启动装载程序更新已经完成时,删除下载更新文件区的启动装载程序更新文件。
4.一种根据启动代码来对启动代码进行更新并进行启动的方法,启动代码存储在可编程非易失性存储器中,该方法包括步骤:
将启动装载程序和启动安装程序存储在启动区中,启动装载程序是用于执行启动的启动代码,启动安装程序是用于根据启动状态的开始来有选择的执行从启动装载程序和备份启动装载程序之一所选择出来的代码;
启动安装程序检查启动更新状态信息以确定是否已停止启动装载程序更新,启动更新状态信息存储在位于非易失性存储器中的启动更新状态区中;
当确认没有停止启动装载程序更新时,启动安装程序执行启动区域中的启动装载程序;
当确认已经停止了启动装载程序更新时,启动安装程序执行备份启动装载程序,该备份启动装载程序作为位于非易失性存储器中的启动备份区中的启动装载程序的副本;
当从启动装载程序和备份启动装载程序中所选择出来的代码执行启动时,在将启动装载程序更新文件下载到位于非易失性存储器中的下载更新文件区中之后,检查启动装载程序是否已被更新;
当已下载了启动装载程序更新文件并且确认不对启动装载程序进行更新时,根据启动装载程序更新文件来更新启动装载程序;
将已更新的启动装载程序拷贝为启动备份区的备份启动装载程序;以及
将启动更新状态信息存储在启动更新状态区中,启动更新状态信息表示启动装载程序所继续前进到的更新步骤。
5.根据权利要求4的方法,进一步包括步骤:
确定是否将启动装载程序更新文件下载到下载更新文件区中,由此确定是否已对启动装载程序进行更新;以及
当启动装载程序更新已经完成时,删除下载更新文件区的启动装载程序更新文件。
6.一种根据启动代码来对启动代码进行更新并进行启动的系统,该系统包括:
可编程非易失性存储器,用于存储启动代码;以及
处理器单元,
其中非易失性存储器包括:
启动区,用于存储启动装载程序和启动安装程序,该启动装载程序是用于执行启动的启动代码,该启动安装程序可根据启动的开始状态而有选择的执行启动装载程序或者备份启动装载程序;
启动更新状态区,用于存储启动更新状态信息,该状态信息用于检查是否已停止对启动装载程序的更新;
下载更新文件区,用于存储已下载的启动装载程序更新文件;以及
备份启动区,用于存储备份启动装载程序以作为启动装载程序的副本,并且
其中处理器单元:
根据启动安装程序而通过启动更新状态信息来检查在启动的过程中是否停止了更新;
当确认停止了对启动装载程序的更新时根据备份启动装载程序来执行启动、并且当确认没有停止对启动装载程序的更新时启动装载程序执行启动。
7.根据权利要求6的系统,其中处理器单元进一步
通过从启动装载程序和备份启动装载程序选择出的之一来执行启动,
当下载启动装载程序更新文件并且确认不对启动装载程序进行更新时将启动装载程序拷贝为备份启动装载程序,以及
将表示更新过程进展状态的信息存储到启动更新区中,根据启动装载程序更新文件来更新启动装载程序。
8.根据权利要求7的系统,其中处理器单元通过确定是否已下载了启动装载程序更新文件来确定是否已对启动装载程序进行更新,并且当完成启动装载程序时删除下载文件区的启动装载程序更新文件。
CNB2004100824116A 2003-09-17 2004-09-17 启动和启动代码更新方法 Expired - Fee Related CN1304946C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2003-0064508A KR100506203B1 (ko) 2003-09-17 2003-09-17 부팅 및 부트 코드 업데이트 방법 및 시스템
KR64508/2003 2003-09-17

Publications (2)

Publication Number Publication Date
CN1598773A true CN1598773A (zh) 2005-03-23
CN1304946C CN1304946C (zh) 2007-03-14

Family

ID=34270756

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100824116A Expired - Fee Related CN1304946C (zh) 2003-09-17 2004-09-17 启动和启动代码更新方法

Country Status (3)

Country Link
US (1) US7275153B2 (zh)
KR (1) KR100506203B1 (zh)
CN (1) CN1304946C (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100337201C (zh) * 2005-05-19 2007-09-12 杭州华三通信技术有限公司 系统安全启动的方法及其装置
CN100340983C (zh) * 2005-07-18 2007-10-03 杭州华三通信技术有限公司 对非易失可编程逻辑器件在线升级的方法及装置
CN100373334C (zh) * 2005-12-30 2008-03-05 四川长虹电器股份有限公司 存储器数据升级方法及系统
CN101175268B (zh) * 2006-10-31 2010-09-08 华为技术有限公司 控制通信终端芯片操作权限的方法及装置
CN101192161B (zh) * 2006-11-23 2011-08-17 英业达股份有限公司 更新影像文件的方法
CN103135995A (zh) * 2011-11-22 2013-06-05 中兴通讯股份有限公司 一种BootLoader的备份管理方法及装置
US8527730B2 (en) 2008-03-21 2013-09-03 Kabushiki Kaisha Toshiba Data updating method, memory system and memory device
CN103299276A (zh) * 2010-11-08 2013-09-11 金雅拓股份有限公司 嵌入式装置的软件更新过程
CN101593121B (zh) * 2009-06-23 2014-03-05 中兴通讯股份有限公司 软件在线升级的方法、装置及系统
CN110007974A (zh) * 2019-03-29 2019-07-12 联想(北京)有限公司 应用于操作系统启动的方法和装置、及电子设备

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702831B2 (en) * 2000-01-06 2010-04-20 Super Talent Electronics, Inc. Flash memory controller for electronic data flash card
US7873837B1 (en) 2000-01-06 2011-01-18 Super Talent Electronics, Inc. Data security for electronic data flash card
US7702984B1 (en) 2000-01-06 2010-04-20 Super Talent Electronics, Inc. High volume testing for USB electronic data flash cards
US7676640B2 (en) * 2000-01-06 2010-03-09 Super Talent Electronics, Inc. Flash memory controller controlling various flash memory cells
US20060161725A1 (en) * 2005-01-20 2006-07-20 Lee Charles C Multiple function flash memory system
US20060075395A1 (en) * 2004-10-01 2006-04-06 Lee Charles C Flash card system
US7784098B1 (en) * 2005-07-14 2010-08-24 Trend Micro, Inc. Snapshot and restore technique for computer system recovery
US8161548B1 (en) 2005-08-15 2012-04-17 Trend Micro, Inc. Malware detection using pattern classification
KR100750132B1 (ko) 2005-09-27 2007-08-21 삼성전자주식회사 부팅, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체
JP4810172B2 (ja) * 2005-09-29 2011-11-09 日本電気株式会社 制御装置及びバージョンアップ方法並びにプログラム
KR100860402B1 (ko) * 2005-12-08 2008-09-26 한국전자통신연구원 2단계 부트로더를 이용한 시스템 업그레이드 장치 및 방법
KR20070095136A (ko) * 2006-03-20 2007-09-28 엘지전자 주식회사 프로그램이 가능한 부팅 지원 장치 및 방법
KR100811559B1 (ko) * 2006-08-08 2008-03-10 경북대학교 산학협력단 비휘발성 메모리의 데이터 저장영역 관리 방법 및 장치
US8572399B2 (en) * 2006-10-06 2013-10-29 Broadcom Corporation Method and system for two-stage security code reprogramming
US7925877B2 (en) * 2007-09-27 2011-04-12 Texas Instruments Incorporated Method, system and apparatus for providing a boot loader of an embedded system
US8726260B2 (en) * 2007-11-26 2014-05-13 Lenovo (Singapore) Pte Ltd Techniques for providing software patches to a computer system
US8032791B2 (en) * 2009-07-07 2011-10-04 International Business Machines Corporation Diagnosis of and response to failure at reset in a data processing system
US8726087B2 (en) * 2011-03-18 2014-05-13 Denso International America, Inc. System and method for curing a read inability state in a memory device
US9158550B2 (en) * 2011-06-16 2015-10-13 Vmware, Inc. Caching based operating system installation
US20130125162A1 (en) * 2011-11-11 2013-05-16 Cisco Technology, Inc. Deferring Committing Downloads Until Device has Satisfied Installation Requirements
US9906360B2 (en) * 2012-03-30 2018-02-27 Irdeto B.V. Securing accessible systems using variable dependent coding
CN103365754B (zh) * 2012-03-31 2017-04-12 华为终端有限公司 一种更新非易失存储项信息的方法和装置
KR20140060912A (ko) * 2012-11-13 2014-05-21 한국전자통신연구원 부트로더를 업데이트하는 방법 및 장치
KR20150008546A (ko) * 2013-07-15 2015-01-23 삼성전자주식회사 보안 다운로드 및 기능 실행방법 및 장치
US10360148B2 (en) 2013-07-31 2019-07-23 Hewlett-Packard Development Company, L.P. Generating a second code from a first code
FR3010553B1 (fr) * 2013-09-10 2015-09-04 Sagemcom Broadband Sas Procede de mise a jour d'un logiciel de demarrage d'un dispositif multiprocesseur
US9959125B2 (en) * 2015-08-05 2018-05-01 Samsung Electronics Co., Ltd. Field update of boot loader using regular device firmware update procedure
US10846099B2 (en) * 2016-10-07 2020-11-24 Blackberry Limited Selecting a boot loader on an electronic device
CN108874422B (zh) * 2018-06-15 2022-03-01 合肥美的电冰箱有限公司 一种冰箱电控板的软件在线升级方法、冰箱电控板和冰箱
JP7061636B2 (ja) * 2020-03-13 2022-04-28 ソフトバンク株式会社 オペレーション装置及びプログラム
CN112883384B (zh) * 2021-03-04 2023-05-23 中国航空工业集团公司西安航空计算技术研究所 一种强鲁棒性的嵌入式计算机引导加载程序的保护方法
KR102566869B1 (ko) 2022-12-06 2023-08-14 한화시스템 주식회사 비휘발성 메모리에 저장된 소프트웨어의 오류 수정 및 업데이트 방법 및 이를 위한 인터페이스 케이블

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6308265B1 (en) * 1998-09-30 2001-10-23 Phoenix Technologies Ltd. Protection of boot block code while allowing write accesses to the boot block
US6560703B1 (en) * 2000-04-18 2003-05-06 International Business Machines Corporation Redundant updatable self-booting firmware
US6665813B1 (en) * 2000-08-03 2003-12-16 International Business Machines Corporation Method and apparatus for updateable flash memory design and recovery with minimal redundancy
US6772364B1 (en) * 2000-12-28 2004-08-03 Nortel Networks Limited Fault tolerant field updating with alternation of memory areas

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100337201C (zh) * 2005-05-19 2007-09-12 杭州华三通信技术有限公司 系统安全启动的方法及其装置
CN100340983C (zh) * 2005-07-18 2007-10-03 杭州华三通信技术有限公司 对非易失可编程逻辑器件在线升级的方法及装置
CN100373334C (zh) * 2005-12-30 2008-03-05 四川长虹电器股份有限公司 存储器数据升级方法及系统
CN101175268B (zh) * 2006-10-31 2010-09-08 华为技术有限公司 控制通信终端芯片操作权限的方法及装置
CN101192161B (zh) * 2006-11-23 2011-08-17 英业达股份有限公司 更新影像文件的方法
US8527730B2 (en) 2008-03-21 2013-09-03 Kabushiki Kaisha Toshiba Data updating method, memory system and memory device
CN101593121B (zh) * 2009-06-23 2014-03-05 中兴通讯股份有限公司 软件在线升级的方法、装置及系统
CN103299276A (zh) * 2010-11-08 2013-09-11 金雅拓股份有限公司 嵌入式装置的软件更新过程
CN103299276B (zh) * 2010-11-08 2016-08-31 金雅拓股份有限公司 嵌入式装置的软件更新过程
CN103135995A (zh) * 2011-11-22 2013-06-05 中兴通讯股份有限公司 一种BootLoader的备份管理方法及装置
CN110007974A (zh) * 2019-03-29 2019-07-12 联想(北京)有限公司 应用于操作系统启动的方法和装置、及电子设备
CN110007974B (zh) * 2019-03-29 2021-02-19 联想(北京)有限公司 应用于操作系统启动的方法和装置、及电子设备

Also Published As

Publication number Publication date
KR100506203B1 (ko) 2005-08-05
CN1304946C (zh) 2007-03-14
KR20050028157A (ko) 2005-03-22
US7275153B2 (en) 2007-09-25
US20050060528A1 (en) 2005-03-17

Similar Documents

Publication Publication Date Title
CN1304946C (zh) 启动和启动代码更新方法
US9792105B2 (en) Method and system for booting and automatically updating software, and recovering from update error, and computer readable recording medium storing method
US8181007B2 (en) Electronic device and method for secure operating system update in embedded system
EP2229625B1 (en) Updating firmware of an electronic device
US6681389B1 (en) Method for providing scaleable restart and backout of software upgrades for clustered computing
US7971199B1 (en) Mobile device with a self-updating update agent in a wireless network
US20030005037A1 (en) Crash recovery system
US7017004B1 (en) System and method for updating contents of a flash ROM
CN107566169B (zh) 一种基于openwrt的固件升级方法及路由器
CN111562934A (zh) 一种基于热补丁的软件系统升级方法、终端及存储介质
CN116954673B (zh) 一种Linux操作系统的升级及还原方法
US20070050612A1 (en) Boot program update and restoration system and method thereof
KR100729525B1 (ko) 펌웨어 업데이트 방법 및 시스템
CN112346770A (zh) 一种嵌入式程序在线更新方法
CN1297891C (zh) 交叉式固件升级方法和系统
KR100832269B1 (ko) 무선 통신 단말의 프로그램 갱신 방법 및 시스템
JP2010225012A (ja) 電子機器およびプログラム更新方法
JP2001331379A (ja) フラッシュメモリ更新プログラムの書き換え方法及び装置
KR100247467B1 (ko) 엠엠씨 커맨드를 이용한 교체 블록 로딩 방법
KR100762618B1 (ko) 이동통신 단말기에서 펌웨어 업그레이드 엔진을업그레이드하는 방법 및 시스템
CN112631637B (zh) 基于rtos的ota升级方法、系统、设备及存储介质
CN1194296C (zh) 更换电脑系统的韧体的方法
CN115599426A (zh) 防止固件无法升级的BootRom实现方法、装置和计算机设备
CN118092373A (zh) 一种基于分区下载技术的车载控制器的ota回滚控制方法
WO2001050261A2 (en) Updating non volatile memory in a data processing system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070314

Termination date: 20180917