CN114911648A - Xip flash程序驱动方法及*** - Google Patents
Xip flash程序驱动方法及*** Download PDFInfo
- Publication number
- CN114911648A CN114911648A CN202210826174.8A CN202210826174A CN114911648A CN 114911648 A CN114911648 A CN 114911648A CN 202210826174 A CN202210826174 A CN 202210826174A CN 114911648 A CN114911648 A CN 114911648A
- Authority
- CN
- China
- Prior art keywords
- program
- bad block
- area
- backup
- current
- 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
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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- 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/1448—Management of the data involved in backup or backup restore
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Hardware Redundancy (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明实施例提供一种XIP FLASH程序驱动方法及***,属于计算机技术领域。所述方法包括:基于预设存储框架中读取的初始化数据进行程序运行初始化;所述预设存储框架包括:BootLoader存储区域、配置区信息存储区域、程序存储区域和备份程序存储区域;基于程序运行初始化,校验待运行程序是否存在坏块;若待运行程序存在坏块,校验对应的备份程序是否存在坏块,若备份程序存在坏块,则中断程序运行,输出报警信息;若备份程序不存在坏块,则执行备份程序,并在程序运行过程中实时监测并修复故障状态;若待运行程序不存在坏块,则执行待运行程序,并在程序运行过程中实时监测并修复故障状态。本发明方案减少了XIP FLASH芯片的淘汰率,缩减了运维成本。
Description
技术领域
本发明涉及计算机技术领域,具体地涉及一种XIP FLASH程序驱动方法及一种XIPFLASH程序驱动***。
背景技术
XIP(eXecute In Place) FLASH即芯片内执行,是指软件程序可以直接在FLASH中运行,不必将软件程序text段拷贝至RAM(Random Access Memory,随机存取存储器)中运行,只需要将data段及bss段放置在RAM中即可,这样不仅可以减少对RAM空间的需求,而且还能节约成本。基于XIP FLASH的优势,其被广泛应用在嵌入式设备中。在电力***中,XIPFLASH应用十分广泛,但电力设备的嵌入式设备的使用寿命往往需要满足很长的时间需求,一般都在15-20年之间。想要在如此上的时间内保证嵌入式设备满足使用需求,对设备的可靠性、可升级以及工作年限提出了严格的要求。嵌入式设备在对XIP FLASH上程序进行频繁升级时,会对XIP FLASH相应的区域进行擦写,多擦写次数过多时,XIP FLASH会产生坏块,导致程序运行失败,设备无法正常运行。
在现有的方法中,只要出现因为XIP FLASH坏块产生的程序运行失败而导致的设备故障,均是直接对XIP FLASH芯片进行更换,或直接更换板卡。这种方式一方面会因为增加了跟换芯片和板卡的而带来的时间成本、人力成本,另一方面还会因为更换物料而产生的经济成本。针对现有应用场景下XIP FLASH程序发生故障后维护成本高和维护效率低的问题,需要创造一种新的XIP FLASH程序驱动方法,以减少XIP FLASH芯片的故障率和淘汰率,以此缩减XIP FLASH芯片的运维成本。
发明内容
本发明实施方式的目的是提供一种XIP FLASH程序驱动方法及***,以至少解决现有应用场景下XIP FLASH程序发生故障后维护成本高和维护效率低的问题。
为了实现上述目的,本发明第一方面提供一种XIP FLASH程序驱动方法,所述方法包括:基于预设存储框架中读取的初始化数据进行程序运行初始化;所述预设存储框架包括:BootLoader存储区域、配置区信息存储区域、程序存储区域和备份程序存储区域;基于程序运行初始化,校验待运行程序是否存在坏块:若待运行程序存在坏块,校验对应的备份程序是否存在坏块,若备份程序存在坏块,则中断程序运行,输出报警信息;若备份程序不存在坏块,则执行备份程序,并在程序运行过程中实时监测并修复故障状态;若待运行程序不存在坏块,则执行待运行程序,并在程序运行过程中实时监测并修复故障状态。
可选的,配置区信息包括:启动指示,用于指示BootLoader待检查校验的待运行程序;第一坏块标志,用于记录待运行程序是否存在坏块;第一程序地址,用于记录待运行程序的起始位置;第一程序长度,用于记录待运行程序的大小信息;第一程序校验值,用于指示待运行程序的文件校验值;第二坏块标志,用于记录备份程序是否存在坏块;第二程序地址,用于记录备份程序的起始位置;第二程序长度,用于记录备份程序的大小信息;第二程序校验值,用于指示备份程序的文件校验值。
可选的,所述第一程序校验值和所述第二程序校验值均为CRC32校验值。
可选的,所述基于预设存储框架中读取的初始化数据进行程序运行初始化,包括:暂停所有正在运行指令和缓存步骤;依次进行初始化中断向量表和初始化串口,并将XIPFLASH初始化为普通模式。
可选的,所述基于程序运行初始化,校验待运行程序是否存在坏块,包括:基于普通模式读取所述启动指示,基于所述启动指示读取所述第一程序校验值;基于所述第一程序校验值校验待运行程序是否存在坏块;若待运行程序存在坏块,校验备份程序是否存在坏块,包括:若校验结果为待运行程序存在坏块,则修改所述第一坏块标志为存在坏块,并读取所述第二程序校验值;基于所述第二程序校验值校验备份程序是否存在坏块。
可选的,所述在程序运行过程中实时监测并修复故障状态,包括:实时采集程序运行过程中的反馈指令,并判断其是否为非法指令;若存在非法指令,则跳转至中断向量表,获得非法指令对应的异常向量地址;将XIP FLASH切换为普通模式,读取当前运行程序的配置区信息;其中,所述当前运行程序为待运行程序或对应的备份程序;对比所述配置区信息和当前运行程序的实际信息,基于对比结果选定对应的故障修复方法。
可选的,所述基于对比结果选定对应的故障修复方法,包括:若所述配置区信息和当前运行程序的实际信息一致,则继续执行后续的程序;若所述配置区信息和当前运行程序的实际信息不一致,且当前运行程序为待运行程序时,则将当前运行程序的第一坏块标志修改为存在坏块,并校验对应的备份程序的第二程序校验值;若备份程序校验成功,则跳转到备份程序执行备份程序;若备份程序校验不成功,则更新备份程序的第二坏块标志为存在坏块,并重启设备;若所述配置区信息和当前运行程序的实际信息不一致,且当前运行程序为备份程序时,则更新备份程序的第二坏块标志为存在坏块,并重启设备。
可选的,所述方法还包括:进行故障检修识别,包括:响应于故障检修触发信号,逐一读取各程序的坏块标志;所述故障检修触发信号在报警信息之后被触发;其中,当前程序为待运行程序时,对应的坏块标志为第一坏块标志;当前程序为备份程序时,对应的坏块标志为第二坏块标志;若坏块标志记录为存在坏块,基于当前程序的配置区信息进行对应存储区域多轮擦除和写入,并基于擦除和写入结果判断当前程序是否为存在坏块误判;若当前程序不存在坏块误判,则输出对应程序存储区域地址信息;若当前程序为存在坏块误判,则修改当前区域坏块标志为不存在坏块。
可选的,所述基于当前程序的配置区信息进行对应存储区多轮擦除和写入,并基于擦除和写入结果判断当前程序是否为存在坏块误判,包括:基于当前程序的配置区信息进行对应存储区域擦除,并在擦除后判断该区域是否全为0xff;若非全为0xff,则确定当前区域为坏块,输出区域地址信息;反之,则将该区域烧写为0,并检测该区域是否全为0;若非全为0,则确定当前区域为坏块,输出区域地址信息;反之,则擦除该区域并烧写为0xAA,并检测该区域是否全为0xAA;若非全为0xAA,则确定当前区域为坏块,输出区域地址信息;反之,则擦除该区域并烧写为0x55,并检测该区域是否全为0x55;若非全为0x55,则确定当前区域为坏块,输出区域地址信息;反之,则修改当前区域坏块标志为不存在坏块。
本发明第二方面提供一种XIP FLASH程序驱动***,所述***包括:初始化单元,用于基于预设存储框架中读取的初始化数据进行程序运行初始化;所述预设存储框架包括:BootLoader存储区域、配置区信息存储区域、程序存储区域和备份程序存储区域;校验单元,用于:基于程序运行初始化,校验待运行程序是否存在坏块;若待运行程序存在坏块,校验对应的备份程序是否存在坏块,并输出校验结果;报警单元,用于在校验结果为备份程序存在坏块时中断程序运行,输出报警信息;处理单元,用于:在待运行程序不存在坏块时执行待运行程序,并在程序运行过程中实时监测并修复故障状态;在备份程序不存在坏块时执行备份程序,并在程序运行过程中实时监测并修复故障状态。
可选的,配置区信息包括:启动指示,用于指示BootLoader待检查校验的待运行程序;第一坏块标志,用于记录待运行程序是否存在坏块;第一程序地址,用于记录待运行程序的起始位置;第一程序长度,用于记录待运行程序的大小信息;第一程序校验值,用于指示待运行程序的文件校验值;第二坏块标志,用于记录备份程序是否存在坏块;第二程序地址,用于记录备份程序的起始位置;第二程序长度,用于记录备份程序的大小信息;第二程序校验值,用于指示备份程序的文件校验值;所述***还包括:存储单元,用于构建所述预设存储框架。
可选的,所述基于预设存储框架中读取的初始化数据进行程序运行初始化,包括:暂停所有正在运行指令和缓存步骤;依次进行初始化中断向量表和初始化串口,并将XIPFLASH初始化为普通模式。
可选的,所述基于程序运行初始化,校验待运行程序是否存在坏块,包括:基于普通模式读取所述启动指示,基于所述启动指示读取所述第一程序校验值;基于所述第一程序校验值校验待运行程序是否存在坏块;若待运行程序存在坏块,校验备份程序是否存在坏块,包括:若校验结果为待运行程序存在坏块,则修改所述第一坏块标志为存在坏块,并读取所述第二程序校验值;基于所述第二程序校验值校验备份程序是否存在坏块。
可选的,所述在程序运行过程中实时监测并修复故障状态,包括:实时采集程序运行过程中的反馈指令,并判断其是否为非法指令;若存在非法指令,则跳转至中断向量表,获得非法指令对应的异常向量地址;将XIP FLASH切换为普通模式,读取当前运行程序的配置区信息;其中,所述当前运行程序为待运行程序或对应的备份程序;对比所述配置区信息和当前运行程序的实际信息,基于对比结果选定对应的故障修复方法。
可选的,所述基于对比结果选定对应的故障修复方法,包括:若所述配置区信息和当前运行程序的实际信息一致,则继续执行后续的程序;若所述配置区信息和当前运行程序的实际信息不一致,且当前运行程序为待运行程序时,则将当前运行程序的第一坏块标志修改为存在坏块,并校验对应的备份程序的第二程序校验值;若备份程序校验成功,则跳转到备份程序执行备份程序;若备份程序校验不成功,则更新备份程序的第二坏块标志为存在坏块,并重启设备;若所述配置区信息和当前运行程序的实际信息不一致,且当前运行程序为备份程序时,则更新备份程序的第二坏块标志为存在坏块,并重启设备。
可选的,所述处理单元还用于:进行故障检修识别,包括:响应于故障检修触发信号,逐一读取各程序的坏块标志;所述故障检修触发信号在报警信息之后被触发;其中,当前程序为待运行程序时,对应的坏块标志为第一坏块标志;当前程序为备份程序时,对应的坏块标志为第二坏块标志;若坏块标志记录为存在坏块,基于当前程序的配置区信息进行对应存储区域多轮擦除和写入,并基于擦除和写入结果判断当前程序是否为存在坏块误判;若当前程序不存在坏块误判,则输出对应程序存储区域地址信息;若当前程序为存在坏块误判,则修改当前区域坏块标志为不存在坏块。
可选的,所述基于当前程序的配置区信息进行对应存储区多轮擦除和写入,并基于擦除和写入结果判断当前程序是否为存在坏块误判,包括:基于当前程序的配置区信息进行对应存储区域擦除,并在擦除后判断该区域是否全为0xff;若非全为0xff,则确定当前区域为坏块,输出区域地址信息;反之,则将该区域烧写为0,并检测该区域是否全为0;若非全为0,则确定当前区域为坏块,输出区域地址信息;反之,则擦除该区域并烧写为0xAA,并检测该区域是否全为0xAA;若非全为0xAA,则确定当前区域为坏块,输出区域地址信息;反之,则擦除该区域并烧写为0x55,并检测该区域是否全为0x55;若非全为0x55,则确定当前区域为坏块,输出区域地址信息;反之,则修改当前区域坏块标志为不存在坏块。
另一方面,本发明提供一种计算机可读储存介质,该计算机可读存储介质上储存有指令,其在计算机上运行时使得计算机执行上述的XIP FLASH程序驱动方法。
通过上述技术方案,本发明方案充分考虑XIP FLASH存储容量大的优势,利用软件方案设计,在保证程序正常运行的情况下,充分利用XIP FLASH非坏块区域,延长设备的使用年限。本申请采用程序双备份,并利用BootLoder启动校验以及程序运行异常处理校验双重保护,利用特殊区域来标识坏块区域,当运行或者升级时避开坏块区域,增强设备的鲁棒性、安全性。
本发明实施方式的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施方式的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施方式,但并不构成对本发明实施方式的限制。在附图中:
图1是本发明一种实施方式提供的XIP FLASH程序驱动方法的步骤流程图;
图2是本发明一种实施方式提供的确定执行程序的步骤流程图;
图3是本发明一种实施方式提供的程序运行过程中进行故障监测和修复的步骤流程图;
图4是本发明一种实施方式提供的故障检修的步骤流程图;
图5是本发明一种实施方式提供的XIP FLASH程序驱动***的***结构图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
XIP(eXecute In Place) FLASH即芯片内执行,是指软件程序可以直接在FLASH中运行,不必将软件程序text段拷贝至RAM中运行,只需要将data段及bss段放置在RAM中即可,这样不仅可以减少对RAM空间的需求,而且还能节约成本。基于XIP FLASH的优势,其被广泛应用在嵌入式设备中。
在电力***中,XIP FLASH应用十分广泛,但电力设备的嵌入式设备的使用寿命往往需要满足很长的时间需求,一般都在15-20年之间。想要在如此上的时间内保证嵌入式设备满足使用需求,对设备的可靠性、可升级以及工作年限提出了严格的要求。嵌入式设备在对XIP FLASH上程序进行频繁升级时,会对XIP FLASH相应的区域进行擦写,多擦写次数过多时,XIP FLASH会产生坏块,导致程序运行失败,设备无法正常运行。
在现有的方法中,只要出现因为XIP FLASH坏块产生的程序运行失败而导致的设备故障,均是直接对XIP FLASH芯片进行更换,或直接更换板卡。这种方式一方面会因为增加了更换芯片和板卡的而带来的时间成本、人力成本,另一方面还会因为更换物料而产生的经济成本。本发明方案针对现有XIP FLASH程序发生故障后维护成本高和效率低的问题,创造了一种新的XIP FLASH程序驱动方法,减少XIP FLASH故障率,从而减少XIP FLASH芯片更换率,以此实现对XIP FLASH程序故障的维护成本控制,并降低电力设备停机维护的概率,保证电网供电的稳定性。
本发明方案充分考虑XIP FLASH存储容量大的优势,利用软件方案设计,在保证程序正常运行的情况下,充分利用XIP FLASH非坏块区域,延长设备的使用年限。本申请采用程序双备份,并利用BootLoder启动校验以及程序运行异常处理校验双重保护,利用特殊区域来标识坏块区域,当运行或者升级时避开坏块区域,增强设备的鲁棒性、安全性。
图1是本发明一种实施方式提供的XIP FLASH程序驱动方法的方法流程图。如图1所示,本发明实施方式提供一种XIP FLASH程序驱动方法,所述方法包括:
步骤S10:基于预设存储框架中读取的初始化数据进行程序运行初始化。
具体的,上述已知,本发明方案利用XIP FLASH内存大的特点,采用程序双备份。在现有方法中,存在很多XIP FLASH闲置内存,当出现程序坏块时,可能仅影响了一部分存储区域,但还有很大一部分存储区域是可以正常工作的。但毕竟无法正常工作,所以不得不放弃大部分正常工作的区域,对整个芯片进行更换,造成很大的资源浪费的同时增大了运维成本。本发明方案充分利用这部分闲置的区域,改变传统运行程序的存储架构,在闲置区域进行各运行程序备份,当某运行程序出现坏块时,可以进行对应的备份程序运行,在不影响工作状态调整的基础上,降低了XIP FLASH芯片的淘汰率,不仅可以降低运维成本,还能减少电力设备停机运维次数。
为了实现想要的存储框架,优选的,本发明方案对XIP FLASH存储方案进行了设计。所述预设存储框架包括:BootLoader存储区域、配置区信息存储区域、程序存储区域和备份程序存储区域。其中,BootLoader负责检查校验XIP FLASH的坏块以及通过处理特殊区域标记和识别坏块区域,并跳转正确的应用程序运行。配置区信息存储区域用于作为标记和识别区域。程序存储区域为待运行程序运行和升级区域。备份程序存储区域为备份程序对应的存储区域,其具备升级功能的稳定版本,当待运行程序区域出现坏块时,切换至备份程序区域代替待运行功能,保证设备正常运行。
在一种可能的实施方式中,备份程序存储区域中存储的备份软件,可以是每一次程序更新后对应同步更新的最新备份程序,也可以是用户预设的稳定版本的备份程序。
优选的,配置区信息包括:启动指示,用于指示BootLoader待检查校验的待运行程序;第一坏块标志,用于记录待运行程序是否存在坏块;第一程序地址,用于记录待运行程序的起始位置;第一程序长度,用于记录带运行程序的大小信息;第一程序校验值,用于指示待运行程序的文件校验值;第二坏块标志,用于记录备份程序是否存在坏块;第二程序地址,用于记录备份程序的起始位置;第二程序长度,用于记录备份程序的大小信息;第二程序校验值,用于指示备份程序的文件校验值。
优选的,所述第一程序校验值和所述第二程序校验值均为CRC32校验值。CRC32检错能力极强,开销小,易于用编码器及检测电路实现。从其检错能力来看,它所不能发现的错误的几率仅为0.0047%以下。从性能上和开销上考虑,均远远优于奇偶校验及算术和校验等方式。因而,在数据存储和数据通讯领域,CRC无处不在。常见的通讯协议X.25的FCS(帧检错序列)采用的是CRC-CCITT,ARJ、LHA等压缩工具软件均采用的是CRC32进行校验。
基于该预设的存储框架,每次在执行对应的应用程序时,便可以基于该存储框架中存储的内容进行对应的驱动方法。首先,为了避免其他数据指令或正在缓存进程影响Bootloader对坏块的标识识别,需要在启动前,将所有正在运行的指令和缓存进程进行关闭,保证数据指令一致,且不会被其他进程打断。然后进行对应的执行初始化,首先初始化中断向量表,后续应用程序不再重新初始化中断向量表,防止应用程序出现坏块导致程序运行异常。然后进行串口初始化,用于印日志信息,接收指令用于维修检验和升级烧写应用程序。接着初始化XIP FLASH为普通模式,基于该普通模式用于数据的读取与校验。最后初始化期其他外设,使得设备处于待运行状态。
步骤S20:基于程序运行初始化,校验待运行程序是否存在坏块,并在存在坏块时校验备份程序是否存在坏块。
具体的,如图2,基于普通模式读取所述启动指示,基于所述启动指示读取所述第一程序校验值;基于所述第一程序校验值校验待运行程序是否存在坏块;若校验结果为存在坏块,则修改所述第一坏块标志为存在坏块,并读取所述第二程序校验值;基于所述第二程序校验值校验备份程序是否存在坏块。
在一种可能的实施方式中,首先读取特殊区域中启动指示,根据启动指示读取特殊区域中的校验信息并根据校验信息对对应的应用程序进行校验,当校验成功后,切换为XIP模式跳转至相应的应用程序执行,如果校验不成功,修改其对应特殊区域中的坏块标识,修改启动指示为另外一个应用程序,并校验另外一个应用程序,如校验成功则跳转至相应应用程序执行,如果校验不成功,修改其对应特殊区域中的坏块标识,修改启动指示为错误执行。
简单来说,优先执行预存储的待运行程序,当该待运行程序存在坏块时,即无法正常运行以满足用户需求时。则跳转到备份程序,判断备份程序是否存在坏块,若备份程序可以正常运行,则直接运行备份程序便可,也可以实现用户需求。基于此,在传统方法中,只要存在坏块,便需要对应进行硬件更换,而本申请提供了备选方案,原始程序和备份程序同时出现坏块的概率很低,也就说明硬件需要更换的概率很低,从而实现成本控制,提高硬件的利用率,减少淘汰率,减少资源浪费。
步骤S30:若备份程序存在坏块,则中断程序运行。
具体的,若对备份程序进行校验时,判断其依旧存在坏块,则表示两个程序均无法满足用户需求,这种情况下便不得不进行硬件检修或更换。所以为了保证电力***运行稳定性,硬件检修或更换必须有足够的响应速度,为了提醒相关人员,设备输出对应的报警信息,指示设备故障,提醒相关人员进行设备检修或更改。
步骤S40:若备份程序不存在坏块,则执行备份程序,若待运行程序不存在坏块,则执行待运行程序,并在程序运行过程中实时监测并修复故障状态。
具体的,若待运行程序本身不存在问题,则不会进行对应备份程序校验,直接执行对应的待运行程序便可。若待运行程序存在坏块,但经过校验,备用程序可以执行时,则跳转执行备用程序便可。在程序执行过程中,依旧存在临时出现坏块的可能,这些坏块会引发非法指令出现,所以,为了进一步保证设备运行稳定性,本发明方案还将在程序运行过程中进行对应的故障监测,并在监测到故障状态时执行对应的修复方法。
具体的,如图3,实时采集程序运行过程中的反馈指令,并判断其是否为非法指令;若存在非法指令,则跳转至中断向量表,获得非法指令对应的异常向量地址;将XIP FLASH切换为普通模式,读取当前运行程序的配置区信息;对比所述配置区信息和当前运行程序的实际信息,基于对比结果选定对应的故障修复方法。实时采集程序运行过程中是否存在非法指令,当识别到非法指令时,表示可能出现了坏块。则跳转至RAM的中断向量表取非法指令异常向量地址并跳转至非法指令异常处理函数执行。切换XIP FLASH为普通模式,读取特殊区域中相应启动指示的相应的地址、长度、校验值,校验相应的应用程序CRC,比较与特殊区域的相应的校验值是否一致,如果一致则退出异常中断执行后面的程序,如果不一致则修改坏块标志,校验另一个应用程序的CRC,如果一致则直接跳到另一个应用程序去执行,如果不一致则更新坏块标志,重启设备。
在本发明实施例中,本发明方案充分利用CPU异常处理机制,Bootloader和应用程序共用相同的异常处理程序,这样不仅节省了代码空间,同时解决了因为异常处理需要对XIP FLASH进行操作而对XIP FLASH操作代码进行搬移RAM运行的过程,减小了异常处理时间,保证了安全性。
优选的,所述方法还包括:进行故障检修识别,包括:响应于报警信息后的故障检修触发信号,逐一读取各程序的坏块标志;若坏块标志记录为存在坏块时,基于当前程序的配置区信息进行对应存储区域多轮擦除和写入,并基于擦除和写入结果判断当前程序是否真的存在坏块;若当前程序真的存在坏块,则输出对应程序存储区域地址信息;若当前程序不存在坏块,则修改当前区域坏块标志为不存在坏块。
在一种可能的实施方式中,如图4,基于当前程序的配置区信息进行对应存储区域擦除,并在擦除后判断该区域是否全为0xff;
若不是全为0xff,则确定当前区域为坏块,输出区域地址信息;反之,则将该区域烧写为0,并检测该区域是否全为0;若不是全为0,则确定当前区域为坏块,输出区域地址信息;反之,则擦除该区域,并烧写为0xAA,并检测该区域是否全为0xAA;若不是全为0xAA,则确定当前区域为坏块,输出区域地址信息;反之,则擦除该区域,并烧写为0x55,并检测该区域是否全为0x55;若不是全为0x55,则确定当前区域为坏块,输出区域地址信息;反之,则修改当前区域坏块标志为不存在坏块。当判定为不存在坏块时,对0x55进行擦除,然后修改对应的坏块表示信息为不存在坏块。
在本发明实施例中,本发明方案划分了XIP FLASH的功能分配区域,并采用了双应用程序备份,并对各区域进行了描述。设计了简单易操作的特殊区域方案,用于标识和校验应用程序的完整性。设计了BootLoader启动时检验和校验XIP FLASH的执行流程。设计了检修处理指令,对XIP FLASH的坏块检修进行了详细的设计。设计了应用程序与Bootloader一体化异常处理方案,并对流程进行了描述。最后还对非法指令异常处理对XIP FLASH的坏块检查和处理进行了设计。本发明方案设计充分考虑XIP FLASH存储容量大的优势,利用软件方案设计,在保证程序正常运行的情况下,充分利用XIP FLASH非坏块区域,延长设备的使用年限。本申请采用程序双备份,并利用BootLoder启动校验以及程序运行异常处理校验双重保护,利用特殊区域来标识坏块区域,当运行或者升级时避开坏块区域,增强设备的鲁棒性、安全性。
图5是本发明一种实施方式提供的XIP FLASH程序驱动***的***结构图。如图5所示,本发明实施方式提供一种XIP FLASH程序驱动***,所述***包括:初始化单元,用于基于预设存储框架中读取的初始化数据进行程序运行初始化;其中,所述预设存储框架包括:BootLoader存储区域、配置区信息存储区域、程序存储区域和备份程序存储区域;校验单元,用于:基于程序运行初始化校验待运行程序是否存在坏块;在待运行程序存在坏块时,校验备份程序是否存在坏块,并输出校验结果;报警单元,用于在校验结果为备份程序存在坏块时中断程序运行,输出报警信息;处理单元,用于在待运行程序不存在坏块或对应备份程序不存在坏块时,对应执行待运行程序或备份程序,并在程序运行过程中实时监测并修复故障状态。
可选的,配置区信息包括:启动指示,用于指示BootLoader待检查校验的待运行程序;第一坏块标志,用于记录待运行程序是否存在坏块;第一程序地址,用于记录待运行程序的起始位置;第一程序长度,用于记录待运行程序的大小信息;第一程序校验值,用于指示待运行程序的文件校验值;第二坏块标志,用于记录备份程序是否存在坏块;第二程序地址,用于记录备份程序的起始位置;第二程序长度,用于记录备份程序的大小信息;第二程序校验值,用于指示备份程序的文件校验值;所述***还包括:存储单元,用于存储所述配置区信息。
可选的,所述基于预设存储框架中读取的初始化数据进行程序运行初始化,包括:暂停所有正在运行指令和缓存步骤;依次进行初始化中断向量表和初始化串口,并将XIPFLASH初始化为普通模式。
可选的,所述基于程序运行初始化校验待运行程序是否存在坏块,包括:基于普通模式读取所述启动指示,基于所述启动指示读取所述第一程序校验值;基于所述第一程序校验值校验待运行程序是否存在坏块;所述在待运行程序存在坏块时,校验备份程序是否存在坏块,包括:若校验结果为待运行程序存在坏块,则修改所述第一坏块标志为存在坏块,并读取所述第二程序校验值;基于所述第二程序校验值校验备份程序是否存在坏块。
可选的,所述在程序运行过程中实时监测并修复故障状态,包括:实时采集程序运行过程中的反馈指令,并判断其是否为非法指令;若存在非法指令,则跳转至中断向量表,获得非法指令对应的异常向量地址;将XIP FLASH切换为普通模式,读取当前运行程序的配置区信息;对比所述配置区信息和当前运行程序的实际信息,基于对比结果选定对应的故障修复方法。
可选的,所述基于对比结果选定对应的故障修复方法,包括:若所述配置区信息和当前运行程序的实际信息一致,则继续执行后续的程序;若所述配置区信息和当前运行程序的实际信息不一致,则将对应程序的坏块标志修改为存在坏块,并校验备份程序的程序校验值;其中,所述另一个程序为当前运行程序的原待运行程序或备份程序;若另一个程序校验成功,则跳转到对应另一个程序进行执行;若另一个程序校验依旧不成功,则更新对应备份程序的坏块标志为存在坏块,并重启设备。
可选的,所述处理单元还用于:进行故障检修识别,包括:响应于故障检修触发信号,逐一读取各程序的坏块标志;所述故障检修触发信号在报警信息之后被触发;若坏块标志记录为存在坏块,基于当前程序的配置区信息进行对应存储区域多轮擦除和写入,并基于擦除和写入结果判断当前程序是否为存在坏块误判;若当前程序非存在坏块误判,则输出对应程序存储区域地址信息;若当前程序为存在坏块误判,则修改当前区域坏块标志为不存在坏块。
可选的,所述基于当前程序的配置区信息进行对应存储区多轮擦除和写入,并基于擦除和写入结果判断当前程序是否为存在坏块误判,包括:基于当前程序的配置区信息进行对应存储区域擦除,并在擦除后判断该区域是否全为0xff;若非全为0xff,则确定当前区域为坏块,输出区域地址信息;反之,则将该区域烧写为0,并检测该区域是否全为0;若非全为0,则确定当前区域为坏块,输出区域地址信息;反之,则擦除该区域,并烧写为0xAA,并检测该区域是否全为0xAA;若非全为0xAA,则确定当前区域为坏块,输出区域地址信息;反之,则擦除该区域,并烧写为0x55,并检测该区域是否全为0x55;若非全为0x55,则确定当前区域为坏块,输出区域地址信息;反之,则修改当前区域坏块标志为不存在坏块。
本发明实施方式还提供一种计算机可读储存介质,该计算机可读存储介质上储存有指令,其在计算机上运行时使得计算机执行上述的XIP FLASH程序驱动方法。
本领域技术人员可以理解实现上述实施方式的方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上结合附图详细描述了本发明的可选实施方式,但是,本发明实施方式并不限于上述实施方式中的具体细节,在本发明实施方式的技术构思范围内,可以对本发明实施方式的技术方案进行多种简单变型,这些简单变型均属于本发明实施方式的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施方式对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施方式的思想,其同样应当视为本发明实施方式所公开的内容。
Claims (18)
1.一种XIP FLASH程序驱动方法,其特征在于,所述方法包括:
基于预设存储框架中读取的初始化数据进行程序运行初始化;所述预设存储框架包括:BootLoader存储区域、配置区信息存储区域、程序存储区域和备份程序存储区域;
基于程序运行初始化,校验待运行程序是否存在坏块:
若待运行程序存在坏块,校验对应的备份程序是否存在坏块,若备份程序存在坏块,则中断程序运行,输出报警信息;若备份程序不存在坏块,则执行备份程序,并在程序运行过程中实时监测并修复故障状态;
若待运行程序不存在坏块,则执行待运行程序,并在程序运行过程中实时监测并修复故障状态。
2.根据权利要求1所述的方法,其特征在于,配置区信息包括:
启动指示,用于指示BootLoader待检查校验的待运行程序;
第一坏块标志,用于记录待运行程序是否存在坏块;
第一程序地址,用于记录待运行程序的起始位置;
第一程序长度,用于记录待运行程序的大小信息;
第一程序校验值,用于指示待运行程序的文件校验值;
第二坏块标志,用于记录备份程序是否存在坏块;
第二程序地址,用于记录备份程序的起始位置;
第二程序长度,用于记录备份程序的大小信息;
第二程序校验值,用于指示备份程序的文件校验值。
3.根据权利要求2所述的方法,其特征在于,所述第一程序校验值和所述第二程序校验值均为CRC32校验值。
4.根据权利要求3所述的方法,其特征在于,所述基于预设存储框架中读取的初始化数据进行程序运行初始化,包括:
暂停所有正在运行指令和缓存步骤;
依次进行初始化中断向量表和初始化串口,并将XIP FLASH初始化为普通模式。
5.根据权利要求4所述的方法,其特征在于,所述基于程序运行初始化,校验待运行程序是否存在坏块,包括:
基于普通模式读取所述启动指示,基于所述启动指示读取所述第一程序校验值;
基于所述第一程序校验值校验待运行程序是否存在坏块;
若待运行程序存在坏块,校验备份程序是否存在坏块,包括:
若校验结果为待运行程序存在坏块,则修改所述第一坏块标志为存在坏块,并读取所述第二程序校验值;
基于所述第二程序校验值校验备份程序是否存在坏块。
6.根据权利要求2所述的方法,其特征在于,所述在程序运行过程中实时监测并修复故障状态,包括:
实时采集程序运行过程中的反馈指令,并判断其是否为非法指令;
若存在非法指令,则跳转至中断向量表,获得非法指令对应的异常向量地址;
将XIP FLASH切换为普通模式,读取当前运行程序的配置区信息;其中,所述当前运行程序为待运行程序或对应的备份程序;
对比所述配置区信息和当前运行程序的实际信息,基于对比结果选定对应的故障修复方法。
7.根据权利要求6所述的方法,其特征在于,所述基于对比结果选定对应的故障修复方法,包括:
若所述配置区信息和当前运行程序的实际信息一致,则继续执行后续的程序;
若所述配置区信息和当前运行程序的实际信息不一致,且当前运行程序为待运行程序时,则将当前运行程序的第一坏块标志修改为存在坏块,并校验对应的备份程序的第二程序校验值;
若备份程序校验成功,则跳转到备份程序执行备份程序;
若备份程序校验不成功,则更新备份程序的第二坏块标志为存在坏块,并重启设备;
若所述配置区信息和当前运行程序的实际信息不一致,且当前运行程序为备份程序时,则更新备份程序的第二坏块标志为存在坏块,并重启设备。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
进行故障检修识别,包括:
响应于故障检修触发信号,逐一读取各程序的坏块标志;所述故障检修触发信号在报警信息之后被触发;其中,当前程序为待运行程序时,对应的坏块标志为第一坏块标志;当前程序为备份程序时,对应的坏块标志为第二坏块标志;
若坏块标志记录为存在坏块,基于当前程序的配置区信息进行对应存储区域多轮擦除和写入,并基于擦除和写入结果判断当前程序是否为存在坏块误判;
若当前程序不存在坏块误判,则输出对应程序存储区域地址信息;
若当前程序为存在坏块误判,则修改当前区域坏块标志为不存在坏块。
9.根据权利要求8所述的方法,其特征在于,所述基于当前程序的配置区信息进行对应存储区多轮擦除和写入,并基于擦除和写入结果判断当前程序是否为存在坏块误判,包括:
基于当前程序的配置区信息进行对应存储区域擦除,并在擦除后判断该区域是否全为0xff;
若非全为0xff,则确定当前区域为坏块,输出区域地址信息;
反之,则将该区域烧写为0,并检测该区域是否全为0;
若非全为0,则确定当前区域为坏块,输出区域地址信息;
反之,则擦除该区域并烧写为0xAA,并检测该区域是否全为0xAA;
若非全为0xAA,则确定当前区域为坏块,输出区域地址信息;
反之,则擦除该区域并烧写为0x55,并检测该区域是否全为0x55;
若非全为0x55,则确定当前区域为坏块,输出区域地址信息;
反之,则修改当前区域坏块标志为不存在坏块。
10.一种XIP FLASH程序驱动***,其特征在于,所述***包括:
初始化单元,用于基于预设存储框架中读取的初始化数据进行程序运行初始化;所述预设存储框架包括:BootLoader存储区域、配置区信息存储区域、程序存储区域和备份程序存储区域;
校验单元,用于:
基于程序运行初始化,校验待运行程序是否存在坏块;
若待运行程序存在坏块,校验对应的备份程序是否存在坏块,并输出校验结果;
报警单元,用于在校验结果为备份程序存在坏块时中断程序运行,输出报警信息;
处理单元,用于:
在待运行程序不存在坏块时执行待运行程序,并在程序运行过程中实时监测并修复故障状态;
在备份程序不存在坏块时执行备份程序,并在程序运行过程中实时监测并修复故障状态。
11.根据权利要求10所述的***,其特征在于,配置区信息包括:
启动指示,用于指示BootLoader待检查校验的待运行程序;
第一坏块标志,用于记录待运行程序是否存在坏块;
第一程序地址,用于记录待运行程序的起始位置;
第一程序长度,用于记录待运行程序的大小信息;
第一程序校验值,用于指示待运行程序的文件校验值;
第二坏块标志,用于记录备份程序是否存在坏块;
第二程序地址,用于记录备份程序的起始位置;
第二程序长度,用于记录备份程序的大小信息;
第二程序校验值,用于指示备份程序的文件校验值;
所述***还包括:
存储单元,用于构建所述预设存储框架。
12.根据权利要求11所述的***,其特征在于,所述基于预设存储框架中读取的初始化数据进行程序运行初始化,包括:
暂停所有正在运行指令和缓存步骤;
依次进行初始化中断向量表和初始化串口,并将XIP FLASH初始化为普通模式。
13.根据权利要求12所述的***,其特征在于,所述基于程序运行初始化,校验待运行程序是否存在坏块,包括:
基于普通模式读取所述启动指示,基于所述启动指示读取所述第一程序校验值;
基于所述第一程序校验值校验待运行程序是否存在坏块;
若待运行程序存在坏块,校验备份程序是否存在坏块,包括:
若校验结果为待运行程序存在坏块,则修改所述第一坏块标志为存在坏块,并读取所述第二程序校验值;
基于所述第二程序校验值校验备份程序是否存在坏块。
14.根据权利要求11所述的***,其特征在于,所述在程序运行过程中实时监测并修复故障状态,包括:
实时采集程序运行过程中的反馈指令,并判断其是否为非法指令;
若存在非法指令,则跳转至中断向量表,获得非法指令对应的异常向量地址;
将XIP FLASH切换为普通模式,读取当前运行程序的配置区信息;其中,所述当前运行程序为待运行程序或对应的备份程序;
对比所述配置区信息和当前运行程序的实际信息,基于对比结果选定对应的故障修复方法。
15.根据权利要求14所述的***,其特征在于,所述基于对比结果选定对应的故障修复方法,包括:
若所述配置区信息和当前运行程序的实际信息一致,则继续执行后续的程序;
若所述配置区信息和当前运行程序的实际信息不一致,且当前运行程序为待运行程序时,则将当前运行程序的第一坏块标志修改为存在坏块,并校验对应的备份程序的第二程序校验值;
若备份程序校验成功,则跳转到备份程序执行备份程序;
若备份程序校验不成功,则更新备份程序的第二坏块标志为存在坏块,并重启设备;
若所述配置区信息和当前运行程序的实际信息不一致,且当前运行程序为备份程序时,则更新备份程序的第二坏块标志为存在坏块,并重启设备。
16.根据权利要求11所述的***,其特征在于,所述处理单元还用于:
进行故障检修识别,包括:
响应于故障检修触发信号,逐一读取各程序的坏块标志;所述故障检修触发信号在报警信息之后被触发;其中,当前程序为待运行程序时,对应的坏块标志为第一坏块标志;当前程序为备份程序时,对应的坏块标志为第二坏块标志;
若坏块标志记录为存在坏块,基于当前程序的配置区信息进行对应存储区域多轮擦除和写入,并基于擦除和写入结果判断当前程序是否为存在坏块误判;
若当前程序不存在坏块误判,则输出对应程序存储区域地址信息;
若当前程序为存在坏块误判,则修改当前区域坏块标志为不存在坏块。
17.根据权利要求16所述的***,其特征在于,所述基于当前程序的配置区信息进行对应存储区多轮擦除和写入,并基于擦除和写入结果判断当前程序是否为存在坏块误判,包括:
基于当前程序的配置区信息进行对应存储区域擦除,并在擦除后判断该区域是否全为0xff;
若非全为0xff,则确定当前区域为坏块,输出区域地址信息;
反之,则将该区域烧写为0,并检测该区域是否全为0;
若非全为0,则确定当前区域为坏块,输出区域地址信息;
反之,则擦除该区域并烧写为0xAA,并检测该区域是否全为0xAA;
若非全为0xAA,则确定当前区域为坏块,输出区域地址信息;
反之,则擦除该区域并烧写为0x55,并检测该区域是否全为0x55;
若非全为0x55,则确定当前区域为坏块,输出区域地址信息;
反之,则修改当前区域坏块标志为不存在坏块。
18.一种计算机可读储存介质,该计算机可读存储介质上储存有指令,其在计算机上运行时使得计算机执行权利要求1-9中任一项权利要求所述的XIP FLASH程序驱动方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210826174.8A CN114911648B (zh) | 2022-07-14 | 2022-07-14 | Xip flash程序驱动方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210826174.8A CN114911648B (zh) | 2022-07-14 | 2022-07-14 | Xip flash程序驱动方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114911648A true CN114911648A (zh) | 2022-08-16 |
CN114911648B CN114911648B (zh) | 2022-10-04 |
Family
ID=82772962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210826174.8A Active CN114911648B (zh) | 2022-07-14 | 2022-07-14 | Xip flash程序驱动方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114911648B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040128582A1 (en) * | 2002-11-06 | 2004-07-01 | Ching-Hai Chou | Method and apparatus for dynamic bad disk sector recovery |
CN103135995A (zh) * | 2011-11-22 | 2013-06-05 | 中兴通讯股份有限公司 | 一种BootLoader的备份管理方法及装置 |
CN105589765A (zh) * | 2015-12-17 | 2016-05-18 | 迈普通信技术股份有限公司 | 一种实现程序备份的方法 |
CN109189457A (zh) * | 2018-11-05 | 2019-01-11 | 北京原子机器人科技有限公司 | 智能惯导传感***的固件升级***及方法 |
CN109614265A (zh) * | 2018-11-05 | 2019-04-12 | 北京原子机器人科技有限公司 | 智能惯导传感***的双备份***及其配置启动方法 |
CN112596808A (zh) * | 2020-12-16 | 2021-04-02 | 微网智控(北京)科技有限公司 | 一种嵌入式***的参数存储机制 |
CN113886145A (zh) * | 2021-10-26 | 2022-01-04 | 江苏集萃智能光电***研究所有限公司 | 基于片内flash且无需重新烧写的程序自备份方法 |
CN114398087A (zh) * | 2021-12-20 | 2022-04-26 | 鹏城实验室 | 一种提高单片机更新程序后运行稳定性的方法及单片机 |
-
2022
- 2022-07-14 CN CN202210826174.8A patent/CN114911648B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040128582A1 (en) * | 2002-11-06 | 2004-07-01 | Ching-Hai Chou | Method and apparatus for dynamic bad disk sector recovery |
CN103135995A (zh) * | 2011-11-22 | 2013-06-05 | 中兴通讯股份有限公司 | 一种BootLoader的备份管理方法及装置 |
CN105589765A (zh) * | 2015-12-17 | 2016-05-18 | 迈普通信技术股份有限公司 | 一种实现程序备份的方法 |
CN109189457A (zh) * | 2018-11-05 | 2019-01-11 | 北京原子机器人科技有限公司 | 智能惯导传感***的固件升级***及方法 |
CN109614265A (zh) * | 2018-11-05 | 2019-04-12 | 北京原子机器人科技有限公司 | 智能惯导传感***的双备份***及其配置启动方法 |
CN112596808A (zh) * | 2020-12-16 | 2021-04-02 | 微网智控(北京)科技有限公司 | 一种嵌入式***的参数存储机制 |
CN113886145A (zh) * | 2021-10-26 | 2022-01-04 | 江苏集萃智能光电***研究所有限公司 | 基于片内flash且无需重新烧写的程序自备份方法 |
CN114398087A (zh) * | 2021-12-20 | 2022-04-26 | 鹏城实验室 | 一种提高单片机更新程序后运行稳定性的方法及单片机 |
Non-Patent Citations (2)
Title |
---|
YONGFENG MA ET AL.: "Independent Bad Block Management for Mass", 《IEEE XPLORE》 * |
任海等: "一种高效的星载高速固态存储器坏块管理算法", 《计算机测量与控制》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114911648B (zh) | 2022-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106020865B (zh) | 一种***升级方法和装置 | |
CN102023908B (zh) | 一种引导程序备份方法及装置 | |
CN101329631B (zh) | 一种嵌入式***自动检测和恢复启动的方法及装置 | |
US7290097B2 (en) | Nonvolatile memory | |
CN103761122A (zh) | 一种芯片固件的升级方法和*** | |
CN106873990B (zh) | 嵌入式***ram损坏模式下的多分区引导方法 | |
CN111552592A (zh) | 一种双备份启动方法及*** | |
CN112015447B (zh) | 电子设备的***更新方法及装置、电子设备及存储介质 | |
CN104615471A (zh) | 一种终端的***升级方法及装置 | |
CN114911648B (zh) | Xip flash程序驱动方法及*** | |
CN113127035A (zh) | 一种基于单片机的可回溯的升级方法 | |
CN110865906B (zh) | 一种电机初始位置角度存储方法、装置、车辆及存储介质 | |
CN112394965B (zh) | 电池管理***升级和运行方法,控制器,电池管理***及存储介质 | |
CN114398087B (zh) | 一种提高单片机更新程序后运行稳定性的方法及单片机 | |
CN101299200A (zh) | 一种处理器***、设备及故障处理方法 | |
CN111783162B (zh) | 数据保护实现方法、装置及计算机设备 | |
CN113094107B (zh) | 数据保护方法、装置、设备及计算机存储介质 | |
CN112882757A (zh) | 一种嵌入式***双分区安全启动方法 | |
CN111666094B (zh) | 一种实时固件升级***与方法 | |
CN111061514A (zh) | Flash器件、集成电路及Flash器件启动方法 | |
JP4131147B2 (ja) | プリンタにおけるフラッシュメモリの判定方法、この方法をコンピュータに実行させるプログラム、このプログラムを記録した記録媒体、フラッシュメモリを備えるプリンタ | |
US7096394B2 (en) | Method for protecting software programs from inadvertent execution | |
JPH06266573A (ja) | 障害復旧情報管理システム | |
CN113986383A (zh) | 一种引导加载程序的启动方法及相关装置 | |
CN118409894A (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 |