CN100410893C - 自行修复嵌入式设备的主控应用程序的方法及设备 - Google Patents
自行修复嵌入式设备的主控应用程序的方法及设备 Download PDFInfo
- Publication number
- CN100410893C CN100410893C CNB200510113343XA CN200510113343A CN100410893C CN 100410893 C CN100410893 C CN 100410893C CN B200510113343X A CNB200510113343X A CN B200510113343XA CN 200510113343 A CN200510113343 A CN 200510113343A CN 100410893 C CN100410893 C CN 100410893C
- Authority
- CN
- China
- Prior art keywords
- application program
- controlling application
- repair procedure
- embedded device
- equipment
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
根据本发明,提出了一种自行修复嵌入式设备的主控应用程序的方法,包括以下步骤:判断是否存在来自用户的特定硬件输入;在存在特定硬件输入的情况下,启动修复过程;在启动所述修复过程之后,所述修复过程读取用户不可访问的专用存储区中的主控应用程序代码备份并覆写到主控应用程序的存储区,并且屏蔽主控应用程序存储区中发生损坏的存储部分。
Description
技术领域
本发明涉及一种自行修复嵌入式设备的主控应用程序的方法及设备,能够利用完全独立于嵌入式设备的主控应用程序存储部分的修复装置来修复主控应用程序存储部分的应用程序。
背景技术
目前的嵌入式电子设备涵盖范围广泛,包括消费电子设备、工业电子设备、网络和通信设备等等。目前这类设备基本都采用独立的嵌入式计算机系统方案,由设计者编写的软件进行独立控制。在嵌入式系统中,软件经常是和硬件紧密结合的,可称为固件。目前嵌入式系统用来存储程序代码的存储设备多采用非易失存储芯片,例如FLASH芯片(闪速存储器)。当然,也可以将程序代码部分或全部存储在其他类型的介质上,例如硬盘或光盘。
在这种设备中,如果出现异常故障,如程序运行故障导致固件内的部分代码被误改写;或者存储芯片发生硬件故障,则系统就会陷入崩溃,无法继续运行和使用。目前大量用来作为存储芯片的FLASH芯片,有较大概率出现区块损坏,如果这种损坏发生在主控应用程序存储区,就会导致系统运行出现故障。硬盘、光盘等存储介质同样可能出现类似故障。
在消费电子设备产品中,目前解决这种问题的方法是提供基于PC的修复软件,通过USB接口来修复设备的固件。这种方法使用起来比较不方便,并且需要用户比较了解修复软件的操作。
在消费电子设备,如手机、数码娱乐产品中,用户可能在各种环境中使用产品。如果由于软件或硬件的原因系统发生故障,无法正常工作,用户很可能无法及时将其连接到PC上,并通过专用工具软件进行系统修复。
因此,需要提供一种自行修复嵌入式设备的主控应用程序的方法及设备来解决上述缺陷。
发明内容
本发明的目的是提供一种自行修复嵌入式设备的主控应用程序的方法及设备,能够通过用户不可访问的专用存储区来存储修复程序,该修复程序的全部操作完全独立于嵌入式设备的主控应用程序,并且当主控应用程序软件和部分硬件发生故障时,可以利用该修复程序快速方便地修复系统的相应部分(例如,主控应用程序)。此外,基于本发明的方案,用户可以随时通过特殊的操作方法(如嵌入式设备上的特殊按键组合),或者当检测到加载主控程序失败的标志时,启动修复程序进行自动恢复,更为方便快捷。
根据本发明,提出了一种自行修复嵌入式设备的主控应用程序的方法,包括以下步骤:判断是否存在来自用户的特定硬件输入,以及检测主控应用程序加载是否成功;在存在特定硬件输入的情况下或当所述嵌入式设备无法正常加载应用程序时,启动修复程序;在启动所述修复程序之后,所述修复程序读取用户不可访问的专用存储区中的主控应用程序代码备份并覆写到主控应用程序的存储区,并且屏蔽主控应用程序存储区中发生损坏的存储部分,其中,修复程序的全部操作完全独立于嵌入式设备的主控应用程序。
优选地,在不存在特定硬件输入的情况下,启动主控应用程序存储区中的主控应用程序以操作嵌入式设备。
优选地,所述特定硬件输入是嵌入式设备上的任意按键或按钮组合。
优选地,用户不可访问的专用存储区中的主控应用程序代码备份根据硬件和标志位变化执行更新。
根据本发明,还提出了一种自行修复嵌入式设备的主控应用程序的设备,包括:主控应用程序存储装置,用于存储用于执行嵌入式设备的操作的主控应用程序;启动调用装置,判断是否存在来自用户的特定硬件输入,以及检测主控应用程序加载是否成功;在存在特定硬件输入的情况下,或者当所述嵌入式设备无法正常加载应用程序时,启动修复装置中所存储的修复程序;否则,启动主控应用程序存储装置中所存储的主控应用程序;以及修复装置,用于存储主控应用程序代码备份以及修复程序,并且当所述启动调用装置启动所述修复装置中所存储的修复程序时,所述修复程序读取用户不可访问的专用存储区中的主控应用程序代码备份并覆写到主控应用程序存储装置上,并且屏蔽主控应用程序存储区中发生损坏的存储部分,,其中,修复程序的全部操作完全独立于嵌入式设备的主控应用程序。
附图说明
通过参考以下结合附图对所采用的优选实施例的详细描述,本发明的上述目的、优点和特征将变得显而易见,其中:
图1是示出了根据本发明实施例的自行修复嵌入式设备的主控应用程序的设备的功能方框图;
图2是示出了根据本发明实施例的自行修复嵌入式设备的主控应用程序的方法的修复功能激活过程的流程图;以及
图3是示出了根据本发明实施例的自行修复嵌入式设备的主控应用程序的方法的修复过程的流程图。
具体实施方式
图1是示出了根据本发明实施例的自行修复嵌入式设备的主控应用程序的设备的功能方框图。
如图1所示,根据本发明实施例的自行修复嵌入式设备的主控应用程序的设备包括:主控应用程序存储装置10、启动调度装置20、以及修复装置30。
启动调度装置20为可存储程序的ROM和微处理器(中央处理器,在图中未示出)的上电和复位入口,包含以下两种功能:读取特定硬件的输入信息和检测主控程序加载失败标志位,例如特定管脚的数字电平值(0或者1);以及根据读取到的值来判断是进入主控应用程序存储装置10还是进入修复装置30。
主控应用程序存储装置10存储用于实现嵌入式设备的全部应用功能的主控应用程序代码。需要注意的是,主控应用程序为控制嵌入式设备的功能操作的所有应用程序。在正常情况下,当在启动调度装置20的引导下进入该主控应用程序存储装置10时,微处理器执行该主控应用程序存储装置10所存储的主控应用程序代码,以实现所需功能。
修复装置30存储了主控应用程序备份文件和修复程序,当发生故障时,在特定硬件输入下,启动调度装置20被引导到该修复装置30。此时,修复装置30的修复程序将所存储的主控应用程序备份文件写入主控应用程序存储装置10,覆盖主控应用程序存储装置10原有的主控应用程序、以及屏蔽发生损坏的存储区域,以实现对嵌入式设备的自行修复。
对本领域的人员显而易见,以上所述的主控应用程序存储装置10、启动调度装置20、修复装置30能够以软件、硬件或其组合的形式来实现。
下面将结合图2和图3对根据本发明实施例的自行修复嵌入式设备的主控应用程序的方法进行描述。
图2是示出了根据本发明实施例的自行修复嵌入式设备的主控应用程序的方法的修复功能激活过程的流程图。
所有用于嵌入式系统的微处理器,都具有一个固定的入口地址。每当处理器上电或收到复位中断信号,就会从这个地址开始执行程序代码。
在本发明中,如图2所示,启动调度装置20的起始指令就存放在入口地址处,根据该入口地址,该启动调度装置20被激活(步骤201)。然后,在步骤203,启动调度装置20读取指定管脚的电平和指定标志位。例如,在管脚电平为高的状态下,跳转到修复装置30执行根据本发明的修复过程(步骤207)。而在管脚电平为低的状态下,跳转到主控应用程序存储装置10以启动主控应用程序(步骤205)。
需要注意的是,管脚电平的高低电平分别代表存在特定的硬件输入和嵌入式设备处于默认状态。通常,嵌入式设备处于默认状态表示嵌入式设备操作正常,而在嵌入式设备出现故障和异常的情况下,则可以由用户输入特定的按键组合(硬件输入)来激活修复装置30。
当然,本发明并不局限于此。例如,也可以在嵌入式设备正常操作情况下通过用户的硬件输入来激活修复装置30,以使主控应用程序进入复位状态。亦可以通过检测相应的标志位、寄存器等激活修复装置30。
图3是示出了根据本发明实施例的自行修复嵌入式设备的主控应用程序的方法的修复过程的流程图。
如图3所示,在步骤301,进入修复过程。在步骤303,修复装置30读取其中所存储的主控应用程序代码备份。在步骤305,将主控应用程序代码备份覆写到主控应用程序存储装置10上,并且屏蔽发生损坏的存储区域。在步骤307,在上述覆写和屏蔽操作结束之后,由启动调度装置20引导到初始复位状态。
在实际中,主控应用程序代码为最复杂、运行最频繁的代码区域,主控应用程序存储装置则是读写操作最频繁、存储空间最大的区域。因此这一部分出现故障的可能性也最大,一旦出现故障,就可以用硬件输入操作或者自我检测标志位,通过调度程序进入修复程序以修复主控应用程序。
此外,在通常情况下,可能会在主控应用程序中添加功能。此时,可以更新修复装置30中的主控应用程序代码备份,从而避免这一部分出现故障导致修复装置30不再可用。用户不可访问专用存储区中的主控应用程序代码备份,并根据硬件和标志位变化执行更新。
尽管以上已经结合本发明的优选实施例示出了本发明,但是本领域的技术人员将会理解,在不脱离本发明的精神和范围的情况下,可以对本发明进行各种修改、替换和改变。因此,本发明不应由上述实施例来限定,而应由所附权利要求及其等价物来限定。
Claims (7)
1. 一种自行修复嵌入式设备的主控应用程序的方法,包括以下步骤:
判断是否存在来自用户的特定硬件输入,以及检测主控应用程序加载是否成功;
在存在特定硬件输入的情况下或当所述嵌入式设备无法正常加载应用程序时,启动修复程序;
在启动所述修复程序之后,所述修复程序读取用户不可访问的专用存储区中的主控应用程序代码备份并覆写到主控应用程序的存储区,并且屏蔽主控应用程序存储区中发生损坏的存储部分,
其中,修复程序的全部操作完全独立于嵌入式设备的主控应用程序。
2. 根据权利要求1所述的方法,其特征在于在不存在特定硬件输入的情况下,启动主控应用程序存储区中的主控应用程序以操作嵌入式设备。
3. 根据权利要求1所述的方法,其特征在于所述特定硬件输入是嵌入式设备上的任意按键或按钮组合。
4. 根据权利要求1所述的方法,其特征在于用户不可访问的专用存储区中的主控应用程序代码备份根据硬件和标志位变化执行更新。
5. 一种自行修复嵌入式设备的主控应用程序的设备,包括:
主控应用程序存储装置,用于存储用于执行嵌入式设备的操作的主控应用程序;
启动调用装置,判断是否存在来自用户的特定硬件输入,以及检测主控应用程序加载是否成功;在存在特定硬件输入的情况下,或者当所述嵌入式设备无法正常加载应用程序时,启动修复装置中所存储的修复程序;否则,启动主控应用程序存储装置中所存储的主控应用程序;以及
修复装置,用于存储主控应用程序代码备份以及修复程序,并且当所述启动调用装置启动所述修复装置中所存储的修复程序时,所述修复程序读取用户不可访问的专用存储区中的主控应用程序代码备份并覆写到主控应用程序存储装置上,并且屏蔽主控应用程序存储区中发生损坏的存储部分,
其中,修复程序的全部操作完全独立于嵌入式设备的主控应用程序。
6. 根据权利要求5所述的设备,其特征在于所述特定硬件输入是嵌入式设备上的任意按键或按钮组合。
7. 根据权利要求5所述的设备,其特征在于所述用户不可访问的专用存储区中的主控应用程序代码备份根据硬件和标志位变化执行更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200510113343XA CN100410893C (zh) | 2005-09-28 | 2005-09-28 | 自行修复嵌入式设备的主控应用程序的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200510113343XA CN100410893C (zh) | 2005-09-28 | 2005-09-28 | 自行修复嵌入式设备的主控应用程序的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1940887A CN1940887A (zh) | 2007-04-04 |
CN100410893C true CN100410893C (zh) | 2008-08-13 |
Family
ID=37959093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200510113343XA Expired - Fee Related CN100410893C (zh) | 2005-09-28 | 2005-09-28 | 自行修复嵌入式设备的主控应用程序的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100410893C (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214130A (zh) * | 2010-04-08 | 2011-10-12 | 纬创资通股份有限公司 | 测试装置及测试方法 |
CN110858148B (zh) * | 2018-12-18 | 2023-02-17 | 安天科技集团股份有限公司 | 一种存储介质预置应用程序的更新方法、装置及电子设备 |
CN110083393B (zh) * | 2019-01-30 | 2022-12-16 | 北京品驰医疗设备有限公司 | 快闪存储器和植入式医疗设备 |
CN110059005B (zh) * | 2019-01-30 | 2022-12-16 | 北京品驰医疗设备有限公司 | 快闪存储器的程序检测方法和植入式医疗设备 |
CN110060726B (zh) * | 2019-01-30 | 2022-12-16 | 北京品驰医疗设备有限公司 | 快闪存储器的程序检测方法和植入式医疗设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1474285A (zh) * | 2002-08-19 | 2004-02-11 | 乐金电子(天津)电器有限公司 | 电子产品中微电脑的操作程序备份装置 |
US6711699B1 (en) * | 2000-05-04 | 2004-03-23 | International Business Machines Corporation | Real time backup system for information based on a user's actions and gestures for computer users |
CN1535418A (zh) * | 2001-07-26 | 2004-10-06 | 用于管理无线通信设备系统软件现场下载的系统和方法 |
-
2005
- 2005-09-28 CN CNB200510113343XA patent/CN100410893C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6711699B1 (en) * | 2000-05-04 | 2004-03-23 | International Business Machines Corporation | Real time backup system for information based on a user's actions and gestures for computer users |
CN1535418A (zh) * | 2001-07-26 | 2004-10-06 | 用于管理无线通信设备系统软件现场下载的系统和方法 | |
CN1474285A (zh) * | 2002-08-19 | 2004-02-11 | 乐金电子(天津)电器有限公司 | 电子产品中微电脑的操作程序备份装置 |
Also Published As
Publication number | Publication date |
---|---|
CN1940887A (zh) | 2007-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2506114B1 (en) | Method and device for intelligent terminal reset | |
TWI382346B (zh) | 保護雙基本輸出入系統程式之電腦系統及其控制方法 | |
US7644292B2 (en) | Information processing apparatus, quick activation method, and storage medium | |
CN101281469B (zh) | 嵌入式系统及其启动加载的方法 | |
CN108304282B (zh) | 一种双bios的控制方法及相关装置 | |
US8490081B2 (en) | Method and apparatus for installing software in mobile communication terminal | |
KR100248757B1 (ko) | 손상된 롬 바이오스 복구 방법 | |
CN101470615B (zh) | 单键控制自动修复系统组态的方法 | |
CN103729220A (zh) | 一种利用ec rom恢复bios rom的方法及装置 | |
CN102567135B (zh) | 刷新/恢复方法和一种电子设备 | |
CN100410893C (zh) | 自行修复嵌入式设备的主控应用程序的方法及设备 | |
JP2006215905A (ja) | コンピュータの停止状況監視方法、情報処理装置及びプログラム | |
US20110040958A1 (en) | Method of switching computer operating systems | |
CN101650647A (zh) | 一种efi平台的兼容方法 | |
CN101373451A (zh) | 保护双基本输出入系统程序的计算机系统及其控制方法 | |
CN104951328A (zh) | 嵌入式设备及其启动方法 | |
US20090132798A1 (en) | Electronic device and method for resuming from suspend-to-memory state thereof | |
TW201426547A (zh) | 可更新基本輸入輸出系統的電子裝置及其基本輸入輸出系統的更新方法 | |
US20030120977A1 (en) | Debugging method through serial port under system shutdown and standby conditions | |
CN100395713C (zh) | 自动修复基本输入输出系统元件的方法与模块 | |
JP4409681B2 (ja) | 情報処理装置及び情報処理装置のメモリ制御方法 | |
CN111078469A (zh) | 一种数据处理方法和数据处理设备 | |
CN101515236B (zh) | 基本输入输出系统的恢复方法及其更新模组与电脑系统 | |
US20060288198A1 (en) | Data storage system and related method | |
CN101201746A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080813 Termination date: 20200928 |
|
CF01 | Termination of patent right due to non-payment of annual fee |