CN110083393B - 快闪存储器和植入式医疗设备 - Google Patents
快闪存储器和植入式医疗设备 Download PDFInfo
- Publication number
- CN110083393B CN110083393B CN201910232906.9A CN201910232906A CN110083393B CN 110083393 B CN110083393 B CN 110083393B CN 201910232906 A CN201910232906 A CN 201910232906A CN 110083393 B CN110083393 B CN 110083393B
- Authority
- CN
- China
- Prior art keywords
- program
- application program
- storage unit
- normal
- flash memory
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
Abstract
本发明提供一种快闪存储器和植入式医疗设备,其中所述快闪存储器包括至少两个用于存储相同引导程序的第一存储单元,以及至少两个用于存储相同应用程序的第二存储单元;其中所述应用程序在被执行时周期性地检测其自身及各个所述第一存储单元和各个所述第二存储单元中存储的程序是否正常,并在检测到异常时进行处理。
Description
技术领域
本发明涉及电子设备存储器领域,具体涉及一种快闪存储器和植入式医疗设备。
背景技术
Flash存储器(闪存或快闪存储器)具有断电不丢失数据、方便多次擦除等优点,目前电子设备中的嵌入式处理器多数使用Flash存储器作为程序存储器。
当设备在极端环境下(例如高温、低温、强电磁干扰、强辐射等)运行,或者即使在正常环境但需要长期运行时,由于环境影响以及Flash存储器本身的潜在缺陷,可能造成Flash存储器中存储的代码遭到破坏。影响较轻时会导致部分数据错误;影响严重时可能导致程序错乱,甚至根本无法执行。
现有技术通常是在Flash中烧写一个Bootloader程序(引导程序)。Bootloader程序可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。设备启动时,可通过Bootloader程序对应用程序进行校验,当应用程序遭到破坏时,由Bootloader程序利用预先存储的应用程序备份重新擦写应用程序。
但是现有技术这存在两个问题,第一是对于某些需要长期运行的电子设备,例如植入式医疗设备,这种设备需要不间断地对人体进行某种疗法,而不能经常进行重启操作,因此也不能启动Bootloader程序;第二是即使设备能周期性重启,也无法避免Bootloader程序本身发生错误而引起异常。由此可见,现有Flash存储器的异常检测方案具有一定的局限性,在应用于医疗领域时,甚至存在安全隐患,其可靠性有待提高。
发明内容
有鉴于此,本发明提供一种快闪存储器,包括至少两个用于存储相同引导程序的第一存储单元,以及至少两个用于存储相同应用程序的第二存储单元;其中所述应用程序在被执行时周期性地检测其自身及各个所述第一存储单元和其它各个所述第二存储单元中存储的程序是否正常,并在检测到异常时进行处理。
可选地,当所述应用程序在被执行时检测到有至少一个所述第一存储单元中的引导程序正常,且有至少一个所述第一存储单元中的引导程序异常时,利用正常的引导程序代码刷新异常的引导程序代码。
可选地,当所述应用程序在被执行时检测到其自身正常,且有至少一个所述第二存储单元中的应用程序异常时,利用其自身代码刷新异常的应用程序代码。
可选地,所述快闪存储器还包括参数存储单元;当所述应用程序在被执行时检测到其自身异常时,将至少部分参数储存在所述参数存储单元中,并唤醒所述引导程序,由所述引导程序启动另一个第二存储单元中的应用程序,并读取所述参数存储单元中的参数。
可选地,当所述引导程序被唤醒时,判断自身被唤醒的次数是否等于所述第二存储单元的数量,当自身被唤醒的次数等于所述第二存储单元的数量时,输出错误信息。
可选地,所述快闪存储器还包括校验码存储单元,其中存储有多个引导程序校验码,所述引导程序校验码分别对应所述引导程序的各个数据段;所述应用程序在被执行时周期性地计算所述引导程序的各个数据段的校验码,并通过比对计算出的各个校验码与存储的多个引导程序校验码来确定所述引导程序是否正常。
可选地,所述快闪存储器还包括校验码存储单元,其中存储有多个应用程序校验码,所述应用程序校验码分别对应所述应用程序的各个数据段;所述应用程序在被执行时周期性地计算所述应用程序的各个数据段的校验码,并通过比对计算出的各个校验码与存储的多个应用程序校验码来确定所述应用程序是否正常。
本发明还提供一种程序检测方法,用于检测快闪存储器中的程序,所述快闪存储器包括至少两个用于存储相同引导程序的第一存储单元,以及至少两个用于存储相同应用程序的第二存储单元;所述方法包括:启动所述第二存储单元中的应用程序周期性地检测其自身及各个所述第一存储单元和各个所述第二存储单元中存储的程序是否正常,并在检测到异常时进行处理。
可选地,所述在检测到异常时进行处理包括:
启动所述第二存储单元中的应用程序分别检测各个第一存储单元中的引导程序是否正常;
当有至少一个所述第一存储单元中的引导程序正常,且有至少一个所述第一存储单元中的引导程序异常时,利用正常的引导程序代码刷新异常的引导程序代码。
可选地,所述在检测到异常时进行处理包括:
启动所述第二存储单元中的应用程序分别检测其自身和各个所述第二存储单元中的应用程序是否正常;
当其自身正常,且有至少一个所述第二存储单元中的应用程序异常时,利用其自身代码刷新异常的应用程序代码。
可选地,所述快闪存储器还包括参数存储单元;所述在检测到异常时进行处理包括:
启动所述第二存储单元中的应用程序分别检测其自身和各个所述第二存储单元中的应用程序是否正常;
当其自身异常时,将至少部分参数储存在所述参数存储单元中,并唤醒所述引导程序;
利用所述引导程序启动另一个第二存储单元中的应用程序,并读取所述参数存储单元中的参数。
可选地,当所述引导程序被唤醒时,判断其被唤醒的次数是否等于所述第二存储单元的数量,当其被唤醒的次数等于所述第二存储单元的数量时,输出错误信息。
可选地,所述快闪存储器还包括校验码存储单元,其中存储有多个引导程序校验码,所述引导程序校验码分别对应所述引导程序的各个数据段;
在周期性地检测各个所述第一存储单元中存储的程序是否正常的步骤中,针对每一个第一存储单元中存储的引导程序所执行的检测过程包括:
启动所述第二存储单元中的应用程序周期性地计算所述引导程序的各个数据段的校验码;
通过比对计算出的各个校验码与存储的多个引导程序校验码来确定所述引导程序是否正常。
可选地,所述快闪存储器还包括校验码存储单元,其中存储有多个应用程序校验码,所述应用程序校验码分别对应所述应用程序的各个数据段;
在周期性地检测各个所述第二存储单元中存储的程序是否正常的步骤中,针对每一个第二存储单元中存储的引导程序所执行的检测过程包括:
启动所述第二存储单元中的应用程序周期性地计算所述应用程序的各个数据段的校验码;
通过比对计算出的各个校验码与存储的多个应用程序校验码来确定所述引导程序是否正常。
本发明还提供了一种植入式医疗设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的上述快闪存储器;其中,所述快闪存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行所述快闪存储器中的应用程序。
根据本发明提供的快闪存储器,其具有多个用于存储引导程序的存储单元,以实现对引导程序的备份;并且具有多个用于存储应用程序的存储单元,以备份应用程序。存储器中烧写了具有检测功能的应用程序,其周期性地检测包括自身在内的所有存储单元的程序是否正常,并可在检测到异常时采取相应的措施。本方案不需要引导程序执行检测操作,因此不需要重启设备,并且可以检测引导程序是否出现异常,应用本方案时可以提高系统的可靠性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一个实施例中的快闪存储器结构示意图;
图2为本发明的一个实施例中的引导程序检测方法的流程图;
图3为本发明的一个实施例中的应用程序检测方法的一个分支流程图;
图4为本发明的一个实施例中的应用程序检测方法的另一个分支流程图;
图5为本发明的另一个实施例中的快闪存储器结构示意图;
图6为本发明的第三个实施例中的快闪存储器结构示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本发明实施例提供一种快闪存储器,即Flash存储器,如图1所示该存储器包括第一引导程序存储单元11、第二引导程序存储单元12、第一应用程序存储单元13和第二应用程序存储单元14。本发明中的“单元”可以是对存储器的一个存储空间分割的若干个连续区域,在本领域中也可以称之为“区”或者“块”;本发明中的“单元”也可以是硬件,例如“单元”可以是快闪存储系统中的子存储器、子存储芯片等等。
第一引导程序存储单元11和第二引导程序存储单元12中所存储的内容完全相同,即初次烧写后均存储相同的引导程序的代码(Bootloader的代码),可将其统称为“第一存储单元”。引导程序用于初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备正确的环境。
本实施例中存储了两个完全相同的引导程序,而在同一时间,它们中只有一个被执行,为此可以预先设置它们的主次关系。正常情况下,例如初次启动时,执行预设的一个引导程序。相应地,可以将第一引导程序存储单元11设为主单元,第二引导程序存储单元12设为备份单元。
在其它实施例中,也可以设置更多的引导程序存储单元和更多相同的引导程序,并相应地设置它们的顺位。
第一应用程序存储单元13和第二应用程序存储单元14中所存储的内容完全相同,初次烧写后均存储应用程序的代码,可将其统称为“第二存储单元”。应用程序用于实现各种特定的功能,例如在医疗设备应用场景中,它可以是实现疗法的程序。在设备正常运行时,处理器执行的是应用程序而非引导程序。上述引导程序还可以用于更新这些应用程序。
与引导程序相似的是,本实施例中存储了两个完全相同的应用程序,在同一时间,它们中只有一个被执行,为此可以预先设置它们的主次关系,正常情况下,执行预设的一个应用程序。相应地可以将第一应用程序存储单元13设为主单元,第二应用程序存储单元14设为备份单元。
与引导程序不同的是,设计者可以个性化地设置应用程序的内容,在实现其本身特定功能之外,在本实施例中还被设置了检测存储器的功能。当应用程序被执行时,周期性地检测其自身及各个存储单元中存储的程序是否正常,并在检测到异常时进行处理。也即应用程序除了包括功能模块以外,还包括程序检查模块,例如Bootloader程序检查模块、应用程序检查模块。
在一个实施例中,假设当前第一应用程序存储单元13中的应用程序处于被执行的状态,它将周期性地分别检测第一引导程序存储单元11、第二引导程序存储单元12、第一应用程序存储单元13(其本身所处的单元)和第二应用程序存储单元14中的程序是否正常。其检测周期可以是每隔几小时、每隔几天甚至每隔几个月,并且对每一个检测对象的检测周期可以相同或者不同的。例如对于引导程序,检测周期可以相对较长(每隔个月),而对于应用程序,检测周期可以相对较短(每隔几天或者几周)。
针对不同的检测对象,在检测到异常时所采取的处理方式可以有多种,例如在检测到引导程序异常时,由于两个引导程序都不处于执行状态,因此所采取的措施相对容易,例如可以直接使用正常的引导程序代码刷新异常的引导程序代码;而在检测到应用程序异常时,由于两个应用程序中会有一个处于执行状态,因此所采取的措施相对复杂,也即针对其本身异常和备份的应用程序异常将采取不同的应对措施。
在其它实施例中,也可以设置更多的应用程序存储单元和更多相同的应用程序,并相应地设置它们的顺位。当应用程序被执行时,将周期性地检测其自身及其它所有存储单元中存储的程序是否正常,并在检测到异常时进行处理。
在一些极端的情况下可能会检测到所有引导程序都存在异常,或者所有的应用程序都存在异常,此时可以输出错误信息,以提示用户采取其它措施,例如借助外界设备来更新这些应用程序和引导程序。
根据本发明实施例提供的快闪存储器,其具有多个用于存储引导程序的存储单元,以实现对引导程序的备份;并且具有多个用于存储应用程序的存储单元,以备份应用程序。存储器中烧写了具有检测功能的应用程序,其周期性地检测包括自身在内的所有存储单元的程序是否正常,并可在检测到异常时采取相应的措施。本方案不需要引导程序执行检测操作,因此不需要重启设备,并且可以检测引导程序是否出现异常,应用本方案时可以提高系统的可靠性。
在其它实施例中,如果侧重点在于检测和处理引导程序,快闪存储器也可以只设置一个第二存储单元,并设置多个第一存储单元,存储的应用程序可以检测其自身和各个第一存储单元中的引导程序是否正常,并根据检测结果进行上述处理。
本发明提供了一种引导程序的检测和错误应对方案。具体地,当应用程序存储单元中的应用程序在被执行时,若检测到有至少一个引导程序存储单元中的引导程序正常,且有至少一个引导程序存储单元中的引导程序异常时,利用正常的引导程序代码刷新异常的引导程序代码。
以图1所示的快闪存储器的结构为例,在一实施例中,假设当前第一应用程序存储单元13中的应用程序处于被执行状态,它将周期性地执行如图2所示的方法,包括如下步骤:
S21,检测第一引导程序存储单元11中的引导程序是否正常。在检测结果为正常的情况下执行步骤S22-S23,否则执行步骤S24-S26。
S22,检测第二引导程序存储单元12中的引导程序是否正常。在检测结果为正常的情况下则表示所有的引导程序均正常,结束本周期的检测操作;若检测结果为异常则执行步骤S23;
S23,利用第一引导程序存储单元11中的引导程序代码刷新第二引导程序存储单元12中的引导程序代码,也即使用正常的引导程序代码刷新了异常的程序代码。在此之后,可以返回步骤S21,重新进行检测。
S24,检测第二引导程序存储单元12中的引导程序是否正常。在检测结果为正常的情况下则执行步骤S25,否则执行步骤S26;
S25,利用第二引导程序存储单元12中的引导程序代码刷新第一引导程序存储单元11中的引导程序代码,也即使用正常的引导程序代码刷新了异常的程序代码。在此之后,可以返回步骤S21,重新进行检测。
S26,输出错误信息,即表示所有的引导程序均存在异常,以提示用户采取其它措施。例如用户可以启动应用程序,借助外界设备来更新所有的引导程序,或者当前运行的应用程序可以自动借助外界设备更新这些引导程序。
在本发明的一个实施例中,具有应用程序存储单元和引导程序存储单元的快闪存储器设置在植入医疗设备中。当应用程序存储单元中的应用程序在被执行时,若检测到所有引导程序存储单元中的引导程序全部异常,则可以通过植入医疗设备的无线通信模块与体外装置进行近程无线通信,以获取正常的引导程序的代码,然后更新全部引导程序存储单元中的引导程序;或者也可以通过植入医疗设备的无线通信模块与远程终端进行远程无线通信,以获取正常的引导程序的代码,然后更新全部引导程序存储单元中的引导程序。
本发明提供了一种应用程序的检测和错误应对方案。具体地,当应用程序在被执行时检测到其自身正常,且有至少一个第二存储单元中的应用程序异常时,利用其自身代码刷新异常的应用程序代码。
以图1所示的快闪存储器的结构为例,在一实施例中,假设当前第一应用程序存储单元13中的应用程序处于被执行状态,它将周期性地执行如图3所示的方法:
S31,检测自身是否正常。在检测结果为正常的情况下执行步骤S32,否则应用程序将唤醒一个第一存储单元中的引导程序,由被唤醒的引导程序启动另一个所述第二存储单元中的应用程序。具体将在下一个实施例中结合图4进行详细介绍。
S32,检测第二应用程序存储单元14中的应用程序是否正常。在检测结果为正常的情况下则表示所有的应用程序均正常,结束对应用程序的检测操作;若检测结果为异常则执行步骤S33;
S33,利用第一应用程序存储单元13中的应用程序代码刷新第二应用程序存储单元14中的应用程序代码,也即使用正常的应用程序代码刷新了异常的程序代码。在此之后,可以返回步骤S31,重新进行检测。
关于刷新应用程序的代码,在本发明的一个实施例中可以具体辨别存在错误的程序模块,并只对错误的程序模块进行更新。例如应用程序包括程序检查模块(Bootloader程序检查模块和应用程序检查模块)以及功能模块,当程序检查模块程序检查模块正常而功能模块异常时,可以只刷新功能模块的代码。在一个优选的实施例中,同时采用图2和图3两种方法对应用程序和引导程序进行检测和处理。假设当前第一应用程序存储单元13中的应用程序处于被执行的状态,当启动检测操作时,它将首先执行如图3所示的方法,检测第一应用程序存储单元13(其本身所处的单元)中的程序是否正常,当自身正常时再分别检测第二应用程序存储单元14、第一引导程序存储单元11、第二引导程序存储单元12中的程序是否正常,由此避免在应用程序本身存在错误的情况下,而错误地检测其它程序。下面结合图4和图5介绍处于执行状态下的应用程序自身出现异常的应对措施。如图5所示,在图1所示的存储器结构基础上,本实施例中的快闪存储器还包括参数存储单元15,该单元用于存储应用程序所使用的参数,例如可以是全部参数,也可以是部分关键参数。
以图5所示的快闪存储器的结构为例,假设当前第一应用程序存储单元13中的应用程序处于被执行状态,它将周期性地执行如图4所示的方法:
S41,将至少部分参数储存在参数存储单元15中,并唤醒引导程序。这里需要说明的是,在与图2所示方法的同步进行的情况下,本实施例优选先执行图2所示的方法,以确保引导程序的状态,当引导程序被确认正常的情况下再执行图3和图4所示的方法。当然,在其它实施例中,例如只有一个引导程序的情况下也可以默认其正常,或者不考虑其状态而直接执行本方法。
S42,引导程序判断自身被唤醒的次数是否等于第二存储单元的数量,在本实施例中,有第一应用程序存储单元和第二应用程序存储单元,该数量取值为2。当被唤醒的次数等于第二存储单元的数量时执行步骤S43,否则执行步骤S44。
S43,输出错误信息,即表示所有的应用程序均存在异常,以提示用户采取其它措施。
S44,利用引导程序启动第二应用程序存储单元14中的应用程序,并读取参数存储单元15中的参数。在这之后,第二应用程序存储单元14中的应用程序将读取保存的参数而继续执行中断之前的操作,它可以返回执行如图3所示的方法,继续检测其自身是否正常。
在本发明的一个实施例中,具有应用程序存储单元和引导程序存储单元的快闪存储器设置在植入医疗设备中。当应用程序存储单元中的应用程序在被执行时,若检测到所有应用程序存储单元中的应用程序全部异常,则可以通过植入医疗设备的无线通信模块与体外装置进行近程无线通信,以获取正常的应用程序的代码,然后更新全部应用程序存储单元中的应用程序;或者也可以通过植入医疗设备的无线通信模块与远程终端进行远程无线通信,以获取正常的应用程序的代码,然后更新全部应用程序存储单元中的应用程序。
关于程序的检测方式,现有技术通常采取验证校验码来判断程序是否发生了变化。具体地,是预先根据正常的程序代码生成并保存校验码,到检测时则根据当前的程序代码计算校验码,将其与预先存储的校验码进行比对,如果二者一致则认为当前程序正常。更进一步地,还可将校验码存储多份,进行多次比对,采用多数投票方式来判断程序是否发生了变化。
在本发明的一个实施例中,采用了校验码的方式对程序进行检测,与现有技术不同之处在于,本实施例使用多段校验码来检测程序,该方式可以应用于检测上述应用程序和引导程序。
在图1或图5所示的存储器结构的基础上,如图6所示本实施例中的快闪存储器还包括校验码存储单元16,可以用于存储多个引导程序校验码,这些引导程序校验码分别对应引导程序的各个数据段;
以及,可以用于存储多个应用程序校验码,这些应用程序校验码分别对应应用程序的各个数据段。
对于引导程序,可以预先将正常的引导程序分为多个数据段,针对每个数据段计算一个校验码,分别存储在校验码存储单元16中。应用程序在被执行时,周期性地计算引导程序的各个数据段的校验码,并通过比对计算出的各个校验码与存储的多个引导程序校验码来确定所述引导程序是否正常。
在对引导程序进行刷新时,还可以利用正常的校验码刷新校验码存储单元16中与被刷新的引导程序相应的引导程序校验码。具体地,可以利用正常的引导程序重新计算出正常的校验码;或者借助外界设备来获取正常的校验码。
对于应用程序,可以预先将正常的应用程序分为多个数据段,针对每个数据段计算一个校验码,分别存储在校验码存储单元16中。应用程序在被执行时,周期性地计算应用程序的各个数据段的校验码,并通过比对计算出的各个校验码与存储的多个应用程序校验码来确定引导程序是否正常。
在对应用程序进行刷新时,还可以利用正常的校验码刷新校验码存储单元16中与被刷新的应用程序相应的应用程序校验码。具体地,可以利用正常的应用程序重新计算出正常的校验码;或者借助外界设备来获取正常的校验码。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (8)
1.一种快闪存储器,其特征在于,包括至少两个用于存储相同引导程序的第一存储单元,以及至少两个用于存储相同应用程序的第二存储单元,所述应用程序是用于实现疗法的程序;其中所述引导程序用于在设备启动时初始化硬件设备,所述引导程序完成初始化后,所述应用程序被不间断地执行从而实现相应疗法,所述应用程序在被执行时周期性地检测其自身及其它各个所述第二存储单元中存储的应用程序是否正常,且所述应用程序在被执行时周期性地检测各个所述第一存储单元中的所述引导程序是否正常,并在检测到异常时进行处理;
所述快闪存储器还包括校验码存储单元,其中存储有多个引导程序校验码和多个应用程序校验码,所述引导程序校验码分别对应所述引导程序的各个数据段,所述应用程序校验码分别对应所述应用程序的各个数据段;
所述应用程序在被执行时周期性地计算所述引导程序的各个数据段的校验码,并通过比对计算出的各个校验码与存储的多个引导程序校验码来确定所述引导程序是否正常;
所述应用程序在被执行时周期性地计算所述应用程序的各个数据段的校验码,并通过比对计算出的各个校验码与存储的多个应用程序校验码来确定所述应用程序是否正常。
2.根据权利要求1所述的快闪存储器,其特征在于,当所述应用程序在被执行时检测到有至少一个所述第一存储单元中的引导程序正常,且有至少一个所述第一存储单元中的引导程序异常时,利用正常的引导程序代码刷新异常的引导程序代码。
3.根据权利要求1所述的快闪存储器,其特征在于,当所述应用程序在被执行时检测到其自身正常,且有至少一个所述第二存储单元中的应用程序异常时,利用其自身代码刷新异常的应用程序代码。
4.根据权利要求3所述的快闪存储器,其特征在于,所述快闪存储器还包括参数存储单元;当所述应用程序在被执行时检测到其自身异常时,将至少部分参数储存在所述参数存储单元中,并唤醒所述引导程序,由所述引导程序启动另一个第二存储单元中的应用程序,并读取所述参数存储单元中的参数。
5.根据权利要求4所述的快闪存储器,其特征在于,当所述引导程序被唤醒时,判断自身被唤醒的次数是否等于所述第二存储单元的数量,当自身被唤醒的次数等于所述第二存储单元的数量时,输出错误信息。
6.根据权利要求1所述的快闪存储器,其特征在于,当判定所述引导程序异常时,所述应用程序利用正常的引导程序校验码刷新所述校验码存储单元中的校验码。
7.根据权利要求1所述的快闪存储器,其特征在于,当判定所述应用程序异常时,所述应用程序利用正常的应用程序校验码刷新所述校验码存储单元中的校验码。
8.一种植入式医疗设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的如权利要求1-7中任意一项所述的快闪存储器;其中,所述快闪存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行所述快闪存储器中的应用程序;
当被执行的应用程序测到所有引导程序存储单元中的引导程序全部异常时,通过本设备的无线通信模块与体外装置进行近程无线通信,或者通过本设备的无线通信模块与远程终端进行远程无线通信,以获取正常的引导程序的代码,并更新全部所述第一存储单元中的引导程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2019100911197 | 2019-01-30 | ||
CN201910091119 | 2019-01-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110083393A CN110083393A (zh) | 2019-08-02 |
CN110083393B true CN110083393B (zh) | 2022-12-16 |
Family
ID=67413697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910232906.9A Active CN110083393B (zh) | 2019-01-30 | 2019-03-26 | 快闪存储器和植入式医疗设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110083393B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112579338B (zh) * | 2020-12-30 | 2023-03-24 | 浪潮电子信息产业股份有限公司 | 一种设备的启动方法、系统及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1497462A (zh) * | 2002-09-24 | 2004-05-19 | ���ǵ�����ʽ���� | 利用快闪存储器引导的系统和方法 |
JP2012064244A (ja) * | 2011-12-19 | 2012-03-29 | Hitachi Ltd | ネットワークブート計算機システム、管理計算機、及び計算機システムの制御方法 |
CN103226482A (zh) * | 2013-03-22 | 2013-07-31 | 深圳市九洲电器有限公司 | 一种机顶盒引导启动方法和装置 |
CN104778060A (zh) * | 2015-04-07 | 2015-07-15 | 珠海全志科技股份有限公司 | 一种嵌入式Linux系统快速安全启动方法 |
CN105824717A (zh) * | 2016-03-16 | 2016-08-03 | 硅谷数模半导体(北京)有限公司 | 控制芯片运行的方法、装置及芯片 |
CN108376077A (zh) * | 2018-02-11 | 2018-08-07 | 广东美的厨房电器制造有限公司 | 控制单元的升级方法和装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100532413B1 (ko) * | 2002-12-02 | 2005-12-02 | 삼성전자주식회사 | 플래시 메모리 보호 장치 및 방법 |
CN100410893C (zh) * | 2005-09-28 | 2008-08-13 | 联想(北京)有限公司 | 自行修复嵌入式设备的主控应用程序的方法及设备 |
JP4939102B2 (ja) * | 2006-04-21 | 2012-05-23 | 株式会社日立製作所 | ネットワークブート計算機システムの高信頼化方法 |
CN100578461C (zh) * | 2008-03-12 | 2010-01-06 | 中兴通讯股份有限公司 | 一种引导程序的备份方法及其备份装置 |
CN102270162B (zh) * | 2011-07-29 | 2013-01-16 | 中国航天科技集团公司第五研究院第五一三研究所 | 一种应用于sparcv8结构计算机的容错引导方法 |
DE112012005589T5 (de) * | 2012-01-05 | 2014-10-16 | Mitsubishi Electric Corporation | Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Computerprogramm |
CN104809398A (zh) * | 2015-04-21 | 2015-07-29 | 深圳怡化电脑股份有限公司 | 密码键盘引导程序固件防篡改方法及装置 |
CN104850472B (zh) * | 2015-05-18 | 2018-07-20 | 西安诺瓦电子科技有限公司 | 系统应用软件备份还原方法和装置 |
CN106873990B (zh) * | 2017-01-23 | 2020-07-10 | 北京空间飞行器总体设计部 | 嵌入式系统ram损坏模式下的多分区引导方法 |
-
2019
- 2019-03-26 CN CN201910232906.9A patent/CN110083393B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1497462A (zh) * | 2002-09-24 | 2004-05-19 | ���ǵ�����ʽ���� | 利用快闪存储器引导的系统和方法 |
JP2012064244A (ja) * | 2011-12-19 | 2012-03-29 | Hitachi Ltd | ネットワークブート計算機システム、管理計算機、及び計算機システムの制御方法 |
CN103226482A (zh) * | 2013-03-22 | 2013-07-31 | 深圳市九洲电器有限公司 | 一种机顶盒引导启动方法和装置 |
CN104778060A (zh) * | 2015-04-07 | 2015-07-15 | 珠海全志科技股份有限公司 | 一种嵌入式Linux系统快速安全启动方法 |
CN105824717A (zh) * | 2016-03-16 | 2016-08-03 | 硅谷数模半导体(北京)有限公司 | 控制芯片运行的方法、装置及芯片 |
CN108376077A (zh) * | 2018-02-11 | 2018-08-07 | 广东美的厨房电器制造有限公司 | 控制单元的升级方法和装置 |
Non-Patent Citations (3)
Title |
---|
"A two-stage bootloader to support multi-application deployment and switching in wireless sensor networks";A Marchiori 等;《2009 International Conference on Computational Science and Engineering 2》;20091231;第72-78页 * |
"基于证书链验证机制的智能终端安卓系统安全加固方案";江家仁 等;《电信科学》;20170210;第33卷(第2期);第32-35页 * |
"基于高频RFID的微处理器IAP技术";刘根贤 等;《电子技术应用》;20130406;第39卷(第4期);第29-31页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110083393A (zh) | 2019-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090094450A1 (en) | Firmware image update and management | |
US10068661B2 (en) | Post package repair (PPR) data in non-volatile memory | |
US20110320794A1 (en) | Flash System And Method For Updating The Flash System | |
WO2016062084A1 (zh) | 掉电处理方法、装置及电子设备 | |
US10395038B2 (en) | System and method for automatic recovery of firmware image | |
CN112379932B (zh) | 电子设备的Boot方法、Boot装置和电子设备 | |
CN103577201A (zh) | 嵌入式双系统的更新方法及系统 | |
CN110083393B (zh) | 快闪存储器和植入式医疗设备 | |
US20140258699A1 (en) | Boot fault tolerant device and method thereof | |
WO2015184732A1 (zh) | 引导程序的存储方法、故障恢复方法及设备、计算机存储介质 | |
JP2009271737A (ja) | 情報処理装置 | |
CN110060726B (zh) | 快闪存储器的程序检测方法和植入式医疗设备 | |
CN110059005B (zh) | 快闪存储器的程序检测方法和植入式医疗设备 | |
CN113238790A (zh) | 基于sd卡和eeprom的固件程序更新方法及系统 | |
CN111857785B (zh) | 一种mcu的启动方法、装置及终端设备 | |
US20230087221A1 (en) | Detection fields of view | |
US10101765B2 (en) | BIOS real-time clock update | |
CN106611124B (zh) | 计算机装置及其开机方法 | |
CN104216797B (zh) | 嵌入式系统设定值设定系统、方法及电子装置 | |
CN103093827A (zh) | 启动现场设备 | |
CN111324497B (zh) | 一种linux系统分区自检方法及系统 | |
JP2014035729A (ja) | 車両用制御装置 | |
JP2013011988A (ja) | Icカード及びプログラムコードの診断方法 | |
US20060112296A1 (en) | Data recovery system for appliances | |
CN106815033B (zh) | 开机检查方法及计算机系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |