CN1661548A - 绕道修补程序的方法及使用该方法的电子装置 - Google Patents

绕道修补程序的方法及使用该方法的电子装置 Download PDF

Info

Publication number
CN1661548A
CN1661548A CN 200410006766 CN200410006766A CN1661548A CN 1661548 A CN1661548 A CN 1661548A CN 200410006766 CN200410006766 CN 200410006766 CN 200410006766 A CN200410006766 A CN 200410006766A CN 1661548 A CN1661548 A CN 1661548A
Authority
CN
China
Prior art keywords
mentioned
program
exception
revision
instruction
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
CN 200410006766
Other languages
English (en)
Other versions
CN100378660C (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.)
BenQ Corp
Original Assignee
BenQ Corp
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 BenQ Corp filed Critical BenQ Corp
Priority to CNB2004100067667A priority Critical patent/CN100378660C/zh
Publication of CN1661548A publication Critical patent/CN1661548A/zh
Application granted granted Critical
Publication of CN100378660C publication Critical patent/CN100378660C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

一种绕道修补程序方法,执行于一程序驱动电子装置中,上述程序驱动电子装置具有一可重写内存,用以储存一程序,上述程序包含储存在一第一区域的一被取代部分程序,包括下列步骤:取得一修正程序,用以取代上述被取代部分程序;储存上述修正程序于上述可重写内存的一第二区域;将上述被取代部分程序的一开头指令改成一例外产生指令,使得上述被取代部分程序被执行时产生程序修补例外;当接收上述程序修补例外时,执行上述修正程序。

Description

绕道修补程序的方法及使用 该方法的电子装置
技术领域
本发明涉及修正加载至一程序驱动电子装置的需要修改程序的方法,特别是涉及经由接收程序修补例外来执行上述需要修改程序的修正程序的方法。
背景技术
在一个以内存记录程序,并由此程序驱动的程序驱动电子装置中,当执行于程序驱动电子装置中的程序有错误部分或其中某些部分需要被更新时,通常会以重写的方式将正确或新版的程序加载以取代原来的程序。但是这样的作法需要比较长的时间,而且当原来程序只有一小部分需要修改时,对于整个程序重新安装的作法而言是非常没有效率的。而整个程序更新的程序也会告知使用者请求同意,这对使用者而言也会造成使用上的不便。
在另一种作法上,只针对原来程序中需要修改的部分用更新程序代码覆盖作修改。这种作法中并不是每种情况皆适用的。因为如果储存更新程序代码所需的位大于需要修改的部分就无法直接覆盖上述被取代部分程序。而且移动通讯装置及数字相机在用来储存操作系统的闪存(flash memory)如果需要更新程序,需要以区块(block)为单位作更新。因此并不能单纯地只更新原来程序中需要修改的部分。
因此,需要一种更具弹性的修补程序的方法,用以克服上述需要更新整个程序及不能适用每种情况的部分更新的缺点。
发明内容
有鉴于此,本发明的目的在提供一种更具弹性的修补程序的方法,用以克服上述需要更新整个程序及不能适用每种情况的部分更新的缺点。
基于上述目的,本发明提供一种绕道修补程序方法,执行于一程序驱动电子装置中,上述程序驱动电子装置具有一可重写内存,用以储存一程序,上述程序包含储存在一第一区域的一被取代部分程序,包括下列步骤:取得一修正程序,用以取代上述被取代部分程序;储存上述修正程序于上述可重写内存的一第二区域;将上述被取代部分程序的一开头指令改成一例外产生指令,使得上述被取代部分程序被执行时产生程序修补例外;当接收上述程序修补例外时,执行上述修正程序。
其中,本发明的具有绕道修补程序方法可以利用一程序实现,记录于例如内存或存储装置的储存介质上,当此程序加载至一程序驱动电子装置中,则可执行如上所述绕道修补程序方法。
另外,本发明提出一种程序驱动电子装置,用以执行绕道修补程序方法,包含可重写内存,用以储存程序,上述程序包含储存在第一区域的被取代部分程序;处理器,耦接于上述内存,其中当上述处理器取得修正程序时,储存上述修正程序于上述可重写内存的第二区域,用以取代上述被取代部分程序。上述处理器将上述被取代部分程序的一开头指令改成例外产生指令,使得上述被取代部分程序被执行时产生程序修补例外。以及当上述处理器接收上述程序修补例外时,执行上述修正程序。
附图说明
图1示出了执行本发明较佳实施例的绕道修补程序方法的移动通讯装置方块图;
图2示出了本发明较佳实施例中上述内存4的示意图;
图3A及图3B中示出了本发明较佳实施例的绕道修补程序方法流程图;
图4示出了多个修正程序的数据结构示意图;
图5示出了依据本发明实施例的绕道修补程序方法的计算机可读取储存介质示意图。
附图符号说明
1-处理器;2-取得单元;4-内存;10-移动通讯装置;41-固件使用区;42-固件预留区;43-数据区;44-中断向量表;45-例外处理模块;46-被取代部分程序;47-49-修正程序471,481,491-索引字段;472,482,492-版本字段;473,483,493-下个修正程序地址字段;474,487,494-修正程序代码。
具体实施方式
本发明提供一种绕道修补程序方法,执行于一程序驱动电子装置中,用以克服上述需要更新整个程序及部分更新方法不能适用每种情况的的缺点。在本实施例中以移动通讯装置为例,然而本发明较佳实施例的绕道修补程序方法可以执行于其它程序驱动电子装置中。
图1示出了一执行本发明的绕道修补程序方法的移动通讯装置10,上述移动通讯装置10包含处理器1、取得单元2、及内存4。上述处理器1耦接于上述取得单元2及内存4。上述取得单元2用以取得修正程序。在本实施例中,虽以移动通讯装置10为例,然其并非用以限定本发明,本发明的程序驱动电子装置可以是其它电子装置。
在本实施例中,取得单元2经由无线通讯方式,从个人计算机下载或连接因特网取得修正程序。举例来说,取得单元2可以经由内含修正程序的短信服务(Short Messaging Services,简称SMS)讯息来取得修正程序。
通常硬件制造厂会预先将该产品内部的内存逻辑划分为:(a)用以存放数据的数据区,及(b)用以存放固件程序的程序区。因为逻辑划分时硬件制造厂并不晓得实际固件程序需要多大储存空间,所以均会预留远超过固件程序大小的较大空间。故实际加载固件程序至内存时,在程序区的末端往往会有一部分固件预留区。图2示出了本发明较佳实施例中上述内存4的示意图,上述数据区为数据区43,而上述程序区包含固件预留区(empty area)42及固件使用区(code area)41。
固件使用区41储存着用以驱动上述移动通讯装置10的程序。当上述程序中有一部分程序码需要修改时,可以利用本发明的绕道修补程序方法修正。在固件使用区41中有一被取代部分程序46、例外处理模块45、及中断向量表44。
本发明较佳实施例中,上述中断向量表44所记录的各种例外对应的例外处理程序码所在地址皆为指向上述例外处理模块45的地址。因此任何例外产生时,处理器1皆根据上述例外处理模块45所记录的例外处理程序来处理例外。
不同于传统的例外处理程序,本发明较佳实施例中,例外处理模块45所记录的例外处理程序首先判别处理器1接收的例外是否为程序修补例外。
图3A示出了本发明较佳实施例的电子装置修补程序过程的流程图。首先处理器1经由取得单元2取得一修正程序47,上述修正程序47稍后会被用以取代被取代部分程序46(步骤S2)。举例来说,由移动通讯装置10的制造者发送一内含修正程序47的短信至移动通讯装置10。取得单元2取得上述短信并撷取出上述修正程序47。
接着,处理器1将上述修正程序47储存在内存4的固件预留区42中相邻于数据区43的区域(步骤S4),处理器1并记录储存修正程序47的地址。
等到修正程序47确实储存在内存4中后,处理器1接着修改被取代部分程序46(步骤S6),使处理器1稍后欲再执行被取代部分程序46时都会产生程序修补例外;如此处理器1稍后将无法执行被取代部分程序46,而是会跳到修正程序47所在地址以执行修正程序47。
在本实施例中,我们将被取代部分程序46的开端指令修改为“例外产生指令”(exception-causing code)即处理器1执行该指令时,会导致处理器1产生例外(exception)情形的指令。上述例外产生指令包含具有未定义指令码(op code)的指令,或存取非法内存地址的指令。
上述开端指令是被取代部分程序46的第一个指令。上述被取代部分程序的范围可以由修正程序设计者决定。举例来说,如果固件使用区41中的固件程序的第三到第六个指令是错误的或需要更新的,则上述被取代部分程序46可以定义为第三到第六个指令或者第二到第六个指令,或者为包含上述第三到第六个指令的任何范围。上述开端指令是被取代部分程序46的第一个指令,所以开端指令可以是上述第三个指令或上述第三个指令以前的任何一指令。同理,如果上述固件程序的第i个指令是错误的或需要更新的,则上述开端指令可以是固件程序第i个指令以前的任何一个指令。
由于闪存的特性中,如果闪存储存的数据需要修改时,其中只要有一个位需要从“0”改变成“1”时,就需要以一个内存区块为单位作修改。亦即上述位所在内存区块的所有数据需要全部被更新,才能重写一个位“1”。因此在本发明较佳实施例的步骤“修改被取代部分程序46”中,我们是将上述开端指令的某些位从“1”修改成“0”。藉此,开端指令被修改成例外产生指令,同时不必将被取代部分程序46所在的整个内存区块数据抹除更新。
处理器1以上述方式并根据一指令修改信息将上述开端指令修改成例外产生指令。上述指令修改信息提供修改上述被取代部分程序46及开端指令所需信息,例如定义被取代部分程序46的起迄地址以及将开端指令的哪几个位修改为逻辑0。此指令修改信息可以记录在上述短信中或修正程序的标头中。
如图4所示,修正程序47具有一标头(header),其中记录着索引(index)、下一个修正程序地址及修正程序版本。上述索引为修正程序47对应之将取代部分开端指令的地址,亦即被取代部分程序46的实际指令码开头地址。如果有第二个修正程序时,第二个修正程序标头还记录着第二个被取代部分程序开端指令的地址。同理,如果有第三个修正程序时,第三个修正程序的标头还记录着第三个被取代部分程序开端指令的地址。
举例来说,图4示出了修正程序47、修正程序48及修正程序49的数据结构示意图。字段471-474组成修正程序47。字段481-484组成修正程序48。字段491-494组成修正程序49。修正程序47的标头地址为以字节为单位的“4096”。修正程序48的标头地址为“4002”。修正程序49的标头地址为“3924”。修正程序47的标头中的下个修正程序地址字段473记录地址“4002”。修正程序48的标头中的下个修正程序地址字段483记录地址“3924”。修正程序49的标头中的下个修正程序地址字段493无地址记录。图中虚线表示根据下个修正程序地址字段可以找到下个修正程序实际地址。
在本实施例中,被取代部分程序46的开端指令地址为第“2002”字节,因此修正程序47的标头中的索引字段471记录“2002”代表修正程序47要取代的部分的开端指令地址。修正程序48的标头中的索引字段481记录“108”代表修正程序48要取代的部分的开端指令地址。修正程序49的标头中的索引字段491记录“254”代表修正程序47要取代的部分的开端指令地址。修正程序47-49的标头中的版本字段记录版本信息提供往后修正程序更新时比较新旧版本。
图3B是该电子装置程序修补完成后,执行该程序时的流程图,首先处理器1会持续检测是否有例外发生(步骤S8)。当处理器1检测到例外产生时,处理器1可以经由参照中断向量表44以取得例外处理模块45的程序代码读取地址(步骤S10)。接着处理器1可以通过例外处理模块45取得当时产生例外的程序代码地址。同时处理器1亦接收修正程序47-49标头中的索引值,即第一-第三被取代部分程序的开端指令的地址。在本实施例中,处理器1是根据各标头中“下一个修正程序地址”字段依序接收修正程序47-49标头中的索引值。接着处理器1比较上述索引及例外产生地址是否相同(步骤S12)。
如果修正程序47的上述索引和例外产生地址相同则代表处理器1所接收的例外为程序修补例外,亦即该例外为处理器1执行被取代部分程序46的开端指令而产生的程序修补例外。例如:若处理器1所接收到例外产生的地址是“2002”且和修正程序47索引值“2002”相同时,则处理器1会判定所接收到的例外是“被取代部分程序46”开端指令执行时所产生的程序修补例外。同时,处理器1目前接收的索引所属的修正程序47是用以取代产生例外的被取代部分程序46的修正程序。因此处理器1将不执行被取代部分程序46,而会执行修正程序47(步骤S14)。
上述修正程序记录回到位于上述被取代部分程序后的指令地址所需的相关信息。藉此,如果处理器1需要回到被取代部分程序原本被执行完毕后所应接续执行的程序所在地址,处理器1在执行目前修正程序完毕后可以根据此相关信息实现此操作。
如果修正程序47的上述索引和例外产生地址不相同,则代表处理器1所接收的例外不是目前修正程序的程序修补例外。处理器1判定目前修正程序标头中是否记录着下一个修正程序的地址(步骤S16)。如果目前修正程序标头中记录着下一个修正程序的地址,处理器1根据被记录的下一个修正程序的地址取得下一个修正程序作为目前修正程序(步骤S18)。接着重复步骤S12的操作。例如:若处理器1所接收到例外产生的地址是“254”,则处理器1会依序比对修正程序48-49标头中的索引值是否为“254”,而后执行修正程序49。
如果目前修正程序标头中没有记录着下一个修正程序的地址,处理器1判定上述接收例外不是程序修补例外。接着如同一般例外处理程序,处理器1取得此例外的对应例外处理程序并据以处理上述接收例外。例如:若处理器1所接收到例外产生的地址是“235”,则处理器1会依序比对修正程序47-49标头中的索引栏是否包含为“235”。当处理器1(a)依序比对修正程序49索引完毕,仍未找到储存值为“235”的索引栏,且(b)修正程序49标头又没有记录下一个修正程序地址时,此时处理器1判定目前所接收到的例外不是程序修补例外,而回归一般正常的例外处理程序。
(变形及进阶实施例)
固件预留区42为程序区中未使用来记录程序的部分,其大小通常可以高达数百千字节(kilobyte,简称KB)。因此利用固件预留区42来储存修正程序是可以较有效利用内存的方法。另外,紧邻数据区43的地址比较容易获得,因此将修正程序储存在紧邻数据区43的区域。然而将修正程序储存在数据区43或内存的其它区域同样可以实现本发明的目的。
将被取代部分程序46的开端指令修改成例外产生指令的方法中可以将经由记录开端指令的部分位由逻辑1修改成逻辑0来实现。此方法即使在上述开端指令记录在闪存的情况中也可以只修改开端指令而不必更新整个闪存区块的数据。
在移动通讯装置10是移动电话的例子中,可以经由接收包含修正程序47的短信来取得上述修正程序47。然而并非用以限定本发明,本发明的程序驱动电子装置可以经由其它方式取得修正程序。
其中,本发明较佳实施例的绕道修补程序方法可以利用一程序实现,记录于内存4的储存介质上,当此程序加载至上述移动通讯装置10中,则可执行如上所述绕道修补程序方法。
因此,本发明提出一种计算机可读取储存介质,用以储存一计算机程序,上述计算机程序用以实现绕道修补程序方法,此方法会执行如上所述的步骤。
图5示出了依据本发明实施例的绕道修补程序方法的计算机可读取储存介质示意图。此储存介质60,用以储存一计算机程序620,用以实现绕道修补程序方法。其计算机程序包含五个逻辑,分别为修正程序取得逻辑621、开端指令修改逻辑622与例外判断处理逻辑623。
修正程序取得逻辑621取得并储存修正程序于内存适当地址。开端指令修改逻辑622修改被取代部分程序的开端指令成为例外产生指令。例外判断处理逻辑623判断接收例外是否为程序修补例外并执行对应的修正程序。
综上所述,本发明的绕道修补程序方法可以应用在程序驱动电子装置中,以克服修改驱动上述程序驱动电子装置的程序时,需要更新整个程序及部分更新方法不能适用每种情况的缺点。
虽然本发明已以较佳实施例披露如上,然其并非用以限定本发明,本领域的技术人员在不脱离本发明的精神和范围的前提下,可作各种的更动与润饰,因此本发明的保护范围以本发明的权利要求为准。

Claims (41)

1.一种修补程序方法,执行于一程序驱动电子装置中,上述程序驱动电子装置具有一可重写内存,用以储存一程序,上述程序包含储存在一第一区域的一被取代部分程序,包括下列步骤:
取得一修正程序,用以取代上述被取代部分程序;
储存上述修正程序于上述可重写内存的一第二区域;
将上述被取代部分程序的一开头指令改成一例外产生指令,使得上述被取代部分程序被执行时产生程序修补例外;以及
当接收上述程序修补例外时,执行上述修正程序。
2.如权利要求1所述的修补程序方法,其中,上述第二区域为上述可重写内存的程序区中的固件预留区。
3.如权利要求1所述的修补程序方法,其中,上述第二区域为上述可重写内存的程序区中固件预留区紧邻于文件系统的部分。
4.如权利要求1所述的修补程序方法,其中,在执行上述修正程序步骤之前,还包含下列步骤:
接收由一指令产生的一例外。
5.如权利要求4所述的修补程序方法,其中,还包含下列步骤:
根据接收的例外经由参照一中断向量表取得一例外处理模块,上述例外处理模块用以决定上述接收例外是否为上述程序修补例外。
6.如权利要求4所述的修补程序方法,其中在上述接收步骤之后,还包含下列步骤:
比较上述指令的地址和一目前修正程序中的一索引是否相同以决定上述例外是否为上述程序修补例外,上述索引为上述目前修正程序中所记录将取代部分的开头指令地址。
7.如权利要求4所述的修补程序方法,其中,上述目前修正程序为上述修正程序。
8.如权利要求7所述的修补程序方法,其中,当上述指令的地址和上述索引相同时,还包含下例步骤:
判定上述例外为上述程序修补例外。
9.如权利要求4所述的修补程序方法,其中,上述第二区域记录多个修正程序,则上述比较步骤之前还包含下列步骤:
顺序取得上述多个修正程序中的一修正程序作为上述目前修正程序。
10.如权利要求9所述的修补程序方法,其中,上述顺序取得上述多个修正程序中一修正程序的步骤中,是根据上述目前修正程序中记录的下一修正程序地址来顺序取得。
11.如权利要求1所述的修补程序方法,其中,修改步骤还包含下列步骤:
经由将代表上述开端指令的位中某些位由逻辑1改成逻辑0来修改上述开端指令为上述例外产生指令。
12.如权利要求1所述的修补程序方法,其中,上述修正程序记录回到位于上述被取代部分程序后的指令地址所需的相关信息。
13.如权利要求1所述的修补程序方法,其中,上述程序驱动电子装置为一能够下载修正程序的移动通讯装置。
14.如权利要求13所述的修补程序方法,其中,上述移动通讯装置经由下载内含修正程序的短信来取得上述修正程序。
15.一种程序驱动电子装置,用以执行修补程序方法,包含:
一可重写内存,用以储存一程序,上述程序包含储存在一第一区域的一被取代部分程序;以及
一处理器,耦接于上述内存,其中当上述处理器取得一修正程序时,储存上述修正程序于上述可重写内存的一第二区域,用以取代上述被取代部分程序;上述处理器将上述被取代部分程序的一开头指令改成一例外产生指令,使得上述被取代部分程序被执行时产生程序修补例外;以及当上述处理器接收上述程序修补例外时,执行上述修正程序。
16.如权利要求15所述的程序驱动电子装置,其中,上述第二区域为上述可重写内存的程序区中的固件预留区。
17.如权利要求15所述的程序驱动电子装置,其中,上述第二区域为上述可重写内存的程序区中固件预留区紧邻于数据区的部分。
18.如权利要求15所述的程序驱动电子装置,其中,上述处理器在执行上述修正程序之前,还接收由一指令产生的一例外。
19.如权利要求18所述的程序驱动电子装置,其中,上述处理器还根据接收的例外经由参照一中断向量表取得一例外处理模块,上述例外处理模块用以决定上述接收例外是否为上述程序修补例外。
20.如权利要求18所述的程序驱动电子装置,其中上述处理器在上述接收上述例外之后,还比较上述指令的地址和一目前修正程序中的一索引是否相同以决定上述例外是否为上述程序修补例外,上述索引为上述目前修正程序中所记录将取代部分的开头指令地址。
21.如权利要求18所述的程序驱动电子装置,其中,上述目前修正程序为上述修正程序。
22.如权利要求18所述的程序驱动电子装置,其中,上述第二区域记录多个修正程序,上述处理器更顺序取得上述多个修正程序中的一修正程序作为上述目前修正程序。
23.如权利要求21、或22所述的程序驱动电子装置,其中,当上述指令的地址和上述索引相同时,上述处理器还判定上述例外为上述程序修补例外。
24.如权利要求22所述的程序驱动电子装置,其中,上述处理器根据上述目前修正程序中记录的下一修正程序地址来顺序取得另一修正程序。
25.如权利要求15所述的程序驱动电子装置,其中,上述处理器经由将代表上述开端指令的位中某些位由逻辑1改成逻辑0来修改上述开端指令为上述例外产生指令。
26.如权利要求15所述的程序驱动电子装置,其中,上述修正程序记录回到位于上述被取代部分程序以后的指令地址所需的相关信息。
27.如权利要求15所述的程序驱动电子装置,其中,上述程序驱动电子装置为能够下载修正程序的一电子装置。
28.如权利要求27所述的程序驱动电子装置,其中,上述能够下载修正程序的电子装置为一移动通讯装置。
29.如权利要求27所述的程序驱动电子装置,其中,上述处理器经由接收一短信来取得上述修正程序。
30.一种计算机可读取储存介质,用以储存一计算机程序,当上述计算机程序加载至一程序验驱动电子装置中,执行一种修补程序方法,上述程序驱动电子装置具有一可重写内存,用以储存一程序,上述程序包含储存在一第一区域的一被取代部分程序,包括下列步骤:
接收一修正程序,用以取代上述被取代部分程序;
储存上述修正程序于上述可重写内存的一第二区域;
将上述被取代部分程序的一开头指令改成一例外产生指令,使得上述被取代部分程序被执行时产生程序修补例外;以及
当接收上述程序修补例外时,执行上述修正程序。
31.如权利要求30所述的计算机可读取储存介质,其中,上述第二区域为上述可重写内存的程序区中的固件预留区。
32.如权利要求30所述的计算机可读取储存介质,其中,上述第二区域为上述可重写内存的程序区中固件预留区紧邻于文件系统的部分。
33.如权利要求30所述的计算机可读取储存介质,其中上述修补程序方法,在执行上述修正程序步骤之前,还包含下列步骤:
接收由一指令产生的一例外。
34.如权利要求33所述的计算机可读取储存介质,其中上述修补程序方法,还包含下列步骤:
根据接收的例外经由参照一中断向量表取得一例外处理模块,上述例外处理模块用以决定上述接收例外是否为上述程序修补例外。
35.如权利要求33所述的计算机可读取储存介质,其中上述修补程序方法在上述接收步骤之后,还包含下列步骤:
比较上述指令的地址和一目前修正程序中的一索引是否相同以决定上述例外是否为上述程序修补例外,上述索引为上述目前修正程序中所记录将取代部分的开头指令地址。
36.如权利要求33所述的计算机可读取储存介质,其中,上述目前修正程序为上述修正程序。
37.如权利要求36所述的计算机可读取储存介质,其中,当上述指令的地址和上述索引相同时,上述修补程序方法还包含下例步骤:
判定上述例外为上述程序修补例外。
38.如权利要求33所述的计算机可读取储存介质,其中,上述第二区域记录多个修正程序,则上述修补程序方法在上述比较步骤之前还包含下列步骤:
顺序取得上述多个修正程序中的一修正程序作为上述目前修正程序。
39.如权利要求38所述的计算机可读取储存介质,其中,上述顺序取得上述多个修正程序中一修正程序的步骤中,是根据上述目前修正程序中记录的下一修正程序地址来顺序取得。
40.如权利要求30所述的计算机可读取储存介质,其中,上述修补程序方法的修改步骤还包含下列步骤:
经由将代表上述开端指令的位中某些位由逻辑1改成逻辑0来修改上述开端指令为上述例外产生指令。
41.如权利要求30所述的计算机可读取储存介质,其中,上述修正程序记录回到位于上述被取代部分程序后的指令地址所需的相关信息。
CNB2004100067667A 2004-02-26 2004-02-26 绕道修补程序的方法及使用该方法的电子装置 Expired - Fee Related CN100378660C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100067667A CN100378660C (zh) 2004-02-26 2004-02-26 绕道修补程序的方法及使用该方法的电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100067667A CN100378660C (zh) 2004-02-26 2004-02-26 绕道修补程序的方法及使用该方法的电子装置

Publications (2)

Publication Number Publication Date
CN1661548A true CN1661548A (zh) 2005-08-31
CN100378660C CN100378660C (zh) 2008-04-02

Family

ID=35010888

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100067667A Expired - Fee Related CN100378660C (zh) 2004-02-26 2004-02-26 绕道修补程序的方法及使用该方法的电子装置

Country Status (1)

Country Link
CN (1) CN100378660C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104281443A (zh) * 2013-07-12 2015-01-14 重庆重邮信科通信技术有限公司 利用tcm实现代码、数据替换的方法
CN111782230A (zh) * 2020-07-07 2020-10-16 联想(北京)有限公司 程序安装控制方法、装置和电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6381741B1 (en) * 1998-05-18 2002-04-30 Liberate Technologies Secure data downloading, recovery and upgrading
CN1088868C (zh) * 1997-08-08 2002-08-07 华邦电子股份有限公司 可修补嵌入式微处理器系统中的程序的装置
US6202145B1 (en) * 1998-12-14 2001-03-13 International Business Machines Corporation System and method for eliminating a ring transition while executing in protected mode

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104281443A (zh) * 2013-07-12 2015-01-14 重庆重邮信科通信技术有限公司 利用tcm实现代码、数据替换的方法
CN104281443B (zh) * 2013-07-12 2020-06-26 锐迪科(重庆)微电子科技有限公司 利用tcm实现代码、数据替换的方法
CN111782230A (zh) * 2020-07-07 2020-10-16 联想(北京)有限公司 程序安装控制方法、装置和电子设备
CN111782230B (zh) * 2020-07-07 2022-05-31 联想(北京)有限公司 程序安装控制方法、装置和电子设备

Also Published As

Publication number Publication date
CN100378660C (zh) 2008-04-02

Similar Documents

Publication Publication Date Title
JP4399029B2 (ja) 半導体不揮発性大容量記憶メモリ内の自動摩耗レベリングによるシステム・データ制御の方法およびアーキテクチャ
US7636807B2 (en) Storage apparatus using nonvolatile memory as cache and mapping information recovering method for the storage apparatus
US7526599B2 (en) Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system
US7644406B2 (en) Update system capable of updating software across multiple FLASH chips
US8250294B2 (en) Block management for mass storage
US7039788B1 (en) Method and apparatus for splitting a logical block
US8200886B2 (en) Efficient system and method for updating a memory device
CN1235138C (zh) 用于现场下载无线通信设备软件代码段的系统及方法
CN1517903A (zh) 地图数据处理装置及中心系统
US20100077135A1 (en) Memory wear leveling method, system and device
US7287117B2 (en) Flash memory and mapping control apparatus and method for flash memory
CN1420440A (zh) 快闪存储器管理方法
US7664906B2 (en) Flash memory access apparatus and method
CN1834941A (zh) 具有闪存的半导体设备
CN1758220A (zh) 一种升级软件版本的方法
US7234036B1 (en) Method and apparatus for resolving physical blocks associated with a common logical block
CN1661548A (zh) 绕道修补程序的方法及使用该方法的电子装置
CN100346299C (zh) 固件更新处理方法及应用程序
CN1855049A (zh) 存储器配置系统与方法
CN1473336A (zh) 用于只读存储器的扩展使用的存储管理逻辑单元
CN1272709C (zh) 更新存储于便携式装置存储器的操作码的方法
CN1812336A (zh) 一种用户终端管理方法
CN117348972A (zh) 一种基于自动生成命令行的算法环境镜像构建方法及系统
CN114090036A (zh) 一种固件升级方法、装置及设备
CN1283942A (zh) 移动通信终端

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080402