CN101178678A - 一种flash的写操作处理方法、系统及设备 - Google Patents

一种flash的写操作处理方法、系统及设备 Download PDF

Info

Publication number
CN101178678A
CN101178678A CNA2007101955683A CN200710195568A CN101178678A CN 101178678 A CN101178678 A CN 101178678A CN A2007101955683 A CNA2007101955683 A CN A2007101955683A CN 200710195568 A CN200710195568 A CN 200710195568A CN 101178678 A CN101178678 A CN 101178678A
Authority
CN
China
Prior art keywords
write operation
flash
write
module
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
CNA2007101955683A
Other languages
English (en)
Other versions
CN100590599C (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.)
Beijing Zhigu Ruituo Technology Services Co Ltd
Original Assignee
Fujian Star Net Communication 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 Fujian Star Net Communication Co Ltd filed Critical Fujian Star Net Communication Co Ltd
Priority to CN200710195568A priority Critical patent/CN100590599C/zh
Publication of CN101178678A publication Critical patent/CN101178678A/zh
Application granted granted Critical
Publication of CN100590599C publication Critical patent/CN100590599C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种FLASH的写操作处理方法、系统及设备,包括:在对FLASH进行写操作前,对FLASH中将要被改写的数据进行备份;在对FLASH写操作完成后,发起中断请求;在接到中断请求后,进入中断处理,根据写操作记录对所述写操作进行合法性判断;在确定所述写操作合法时,退出中断处理,在确定所述写操作非法时,根据备份数据恢复被改写的数据。使用本发明,能够在确定写操作非法时,则可以恢复被改写的数据,使得即使出现错误的写操作,也不会因错误修改而导致系统瘫痪。

Description

一种FLASH的写操作处理方法、系统及设备
技术领域
本发明涉及数据安全,特别涉及一种FLASH的写操作处理方法、系统、FLASH写操作处理装置及CPU管理系统。
背景技术
FLASH存储器又称闪存,是一种可以在线多次擦除的非易失性存储器,即掉电后数据不会丢失,是一种嵌入式系统中典型的存储设备,在嵌入式系统中FLASH一般用于存储系统工作的代码和数据。
并行FLASH是FLASH存储器的一种,又称为NOR FLASH,由于并行FLASH支持代码片上执行,应用程序和启动代码可以直接在FLASH上运行,因此嵌入式系统中一般用于存储系统的启动代码。
并行FLASH器件一般包含地址信号线、数据信号线和读写控制线,CPU处理器通过以上三种信号线读或写FLASH内容。
图1为并行FLASH的管脚示意图,如图所示,例中并行FLASH的管脚分别代表是:
RESET为芯片的复位管脚;
CE为芯片的片选信号线;
WE为芯片的写控制线;
OE为芯片的读控制线;
VCC为芯片的电源输入管脚;
VSS为芯片的接地管脚;
BYTE为芯片的工作方式选择管脚,BYTE接高电平时芯片工作在16位工作模式,BYTE接地时芯片工作在8位工作模式;
WP/ACC芯片的写保护管脚,WP接低电平时芯片不允许被修改;
DQ0-DQ7芯片工作在8位模式下的数据信号线;
DQ8-DQ15芯片工作在16位模式下的数据信号线;
A0、A1、A2到A20为芯片工作在16位工作模式下的地址线;
A-1、A0、A1到A20为芯片工作在8位工作模式下的地址线。
其中:
地址线:用来传输地址信息的信号线,如图1中的A0、A1等。
数据线:用来传输数据信息的信号线,如图1中的DQ0-DQ7。
控制信号线:用来传输控制信息的信号线,比如读写选择等信息。
图2为读写系统中FLASH连接方式结构示意图,如图所示,读写系统中的管理系统200和FLASH201通过地址线、读信号线、写信号线、片选信号线连接在一起。其中:
管理系统200完成整个系统的控制,包括发起对FLASH201的读写操作;
FLASH201用于存储系统工作中正常的代码和数据,接受管理系统发送的读写命令。
写信号线:用于当管理系统要对FLASH进行写操作时,将该信号线管脚置为低电平。
写保护管脚203直接连接到高电平,允许管理系统的写操作行为,高电平一般是3.3V的电压,写保护管脚即为图1中的WP管脚。
管理系统200通过串口204输出系统的工作状态。
传统的电子读写系统写FLASH的操作一般存在以下几种情况:
1、升级启动BOOT代码(相当于PC的BIOS);
2、升级主程序(相当于WINDOWS操作系统);
3、记录故障信息(相当于在使用PC出错时,PC记录错误日志);
4、用户设置信息(类似修改BIOS的参数)。
以上四种操作一般只在一定的条件被使用,什么时候调用这些操作理论上是已知的、确定的,但是,由于人为或其他一些客观的原因会导致这些操作被错误的调用,比如由于系统设计人员粗心大意,在某些不该写FLASH的时候调用写FLASH操作,也就是说现有技术中存在的不足在于:写操作也存在着在不该被调用的时候调用的异常情况,而当这些异常情况发生时就有可能导致的系统启动代码和主程序被破坏,进而将导致系统无法正常工作。
发明内容
本发明提供一种对FLASH的写操作进行处理的方法、系统、装置及CPU管理系统,用以解决在异常情况导致系统启动代码和主程序被破坏后进行恢复的问题。
本发明提供了一种FLASH的写操作处理方法,包括如下步骤:
在对FLASH进行写操作前,对FLASH中将要被改写的数据进行备份;
在对FLASH写操作完成后,发起中断请求;
在接到中断请求后,进入中断处理,根据写操作记录对所述写操作进行合法性判断;
在确定所述写操作合法时,退出中断处理,在确定所述写操作非法时,根据备份数据恢复被改写的数据。
本发明还提供了一种FLASH的写操作处理系统,包括管理系统,还包括:
备份模块,用于在对FLASH进行写操作前,对FLASH中将要被改写的数据进行备份;
请求模块,用于在对FLASH写操作完成后,向判断模块发起中断请求;
判断模块,与所述请求模块、所述管理系统相连,用于在接到中断请求后进入中断处理,根据管理系统的写操作记录对所述写操作进行合法性判断,在确定所述写操作合法时,退出中断处理,在确定所述写操作非法时,触发恢复模块;
恢复模块,与所述判断模块、所述备份模块相连,用于根据所述备份模块的备份数据恢复被改写的数据。
本发明提供了一种FLASH写操作处理装置,包括:
请求模块,用于在对FLASH写操作完成后,发起对所述写操作进行合法性判断的中断请求。
本发明提供了一种CPU管理系统,包括管理系统,还包括:
备份模块,用于在对FLASH进行写操作前,对FLASH中将要被改写的数据进行备份;
判断模块,用于在接到中断请求后进入中断处理,根据管理系统的写操作记录对所述写操作进行合法性判断,在确定所述写操作合法时,退出中断处理,在确定所述写操作非法时,触发恢复模块;
恢复模块,与所述判断模块、所述备份模块相连,用于根据所述备份模块的备份数据恢复被改写的数据。
本发明有益效果如下:
本发明在对FLASH进行写操作时,首先对FLASH中将要被改写的数据进行备份,通过中断请求使管理系统对写操作进行合法性判断,在确定写操作非法时,则可以根据备份数据恢复被改写的数据,从而使得即使出现错误的写操作后,也不会因错误修改而导致系统瘫痪。
附图说明
图1为现有技术中所述并行FLASH的管脚示意图;
图2为现有技术中所述读写系统中FLASH连接方式结构示意图;
图3为现有技术中所述中断处理装置结构示意图;
图4为本发明实施例中所述对FLASH的写操作处理方法实施流程示意图;
图5为本发明实施例中所述FLASH的写操作处理系统结构示意图;
图6为本发明实施例中所述FLASH写操作处理装置结构示意图;
图7为本发明实施例中所述CPU管理系统结构示意图;
图8为本发明实施例一中所述FLASH写操作处理系统结构示意图;
图9为本发明实施例一中所述写操作处理系统的实施流程示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行说明。
现有技术中,在对FLASH进行写操作时,当发生写操作在不该被调用的时候却被调用了的异常情况后,由于FLASH的写保护管脚直接接高电平,而FLASH是一种非智能器件,因此,不管管理系统发起的写操作是否合法,只要管理系统发起写操作,FLASH就允许改写;另外一方面,由于没有用于检测写FLASH操作的检测电路存在,即使管理系统发起错误的写操作也无法被发现和恢复。这也就导致了如果出现错误的写操作,并将会导致FLASH内部的内容被破坏,进而导致系统无法正常工作。
进一步的,由于系统中并不能对错误进行检测,当发生错误后,软件编码人员也无法确认到底是代码逻辑哪里出现了问题。
基于以上分析,本发明结合CPU的中断处理机制,对FLASH的写操作处理进行了改进,使其受到更充分的保护。下面先对中断机制进行简要介绍。
中断机制是CPU处理外部突发事件的一个重要技术。它能使CPU在运行过程中对外部事件发出的中断请求进行及时的处理,在对中断请求进行处理时,CPU中断正在执行的程序转去处理发出中断请求的任务,处理完成后又立即返回断点,继续进行CPU原来的工作。引起中断的原因或者说发出中断请求的来源称为中断源,根据中断源的不同,可以把中断分为硬件中断和软件中断两大类,而硬件中断又可以分为外部中断和内部中断两类。
图3为中断处理装置结构示意图,如图所示,处理装置中包括CPU300、中断产生电路301、状态暂存器302,下面结合图1对中断进行说明。
外部中断一般为处理器的中断管脚直接传递给CPU。如图3的INT0~4中断即为外部中断来源,在系统的正常运行过程中,状态暂存器302收到如INTO中断管脚发生电平变化后,状态暂存器302触发中断产生电路301产生中断通知CPU300中断目前的软件处理,转而进入INT0的中断处理。
内部中断由CPU内部处理模块在一定的情况下产生的中断,内部中断优先级一般低于外部中断。如图1所示的UART及TIMER收发中断,在系统的正常运行过程中,状态暂存器302收到如从UART发送过来的数据,状态暂存器302触发中断产生电路301产生中断通知CPU300,CPU300中断目前的软件处理,转而进入UART的中断处理。
结合中断机制,本发明通过在电路中添加检测判断机制,当对FLASH进行写操作时,发起中断,通知CPU进行中断处理,中断处理用于判断当前写操作是否合法。
基于上述分析,下面对如何具体实施进行说明。
图4为对FLASH的写操作处理方法实施流程示意图,为更清楚的描述本发明实施,处理中断的CPU中视为包含有管理系统,该管理系统会对执行的合法操作进行记录,则如图所示,处理时可以包括如下步骤:
步骤401、将FLASH中将要被改写的数据进行备份。
步骤402、对FLASH进行写操作。
步骤403、FLASH写操作完成。
本步骤中,获知对FLASH写操作完成,可以用如下方式来获知写操作完成,如在写操作完成后,管理系统发出写操作完成指令触发发起中断请求;也可以通过检测FLASH硬件上的写操作动作结束来获知,还可以通过写操作的磁盘日志记录来获知,获知写操作完成是本领域技术人员易知的。本实施例中提供了一种简便的获知方式,当在采样到FLASH写信号与FLASH片选信号线为低时,即可获知写操作完成。
步骤404、发起中断请求。
本步骤中,可以在接收到写操作指令,在对FLASH写操作完成后,接收到写操作完成指令后发起中断请求;
或,虽然没有接收到写操作指令,但当采样到FLASH写信号与FLASH片选信号线为低电平时发起中断请求;
或,在接收到写操作指令后,但是在设定时间阈值内没有接收到写操作完成指令时,也发送中断请求。
步骤405、接到中断请求,进入中断处理。
步骤406、对写操作进行合法性判断,在确定写操作合法时转入步骤407,否则转入步骤408,本步骤中可以根据管理系统的写操作记录进行合法性判断。
步骤407、退出中断处理。
步骤408、在确定写操作非法时,根据备份数据恢复被改写的数据。
步骤409、定位写操作错误发生原因。
步骤410、将错误原因输出。
从上述实施可以看出,本发明在确定写操作是非法的时候,将会根据在写操作时备份的数据进行恢复,从而克服了现有技术中一旦发起错误的写操作后无法被发现和恢复的不足,提高了对FLASH的写操作的安全性。
进一步的,实施中在进行处理时还可以包括如下步骤:
在接收对FLASH进行写操作的指令时,关闭对FLASH的写保护后,执行写操作;
在对FLASH写操作完成,接收到写操作完成指令时;或,在没有接收到写操作指令时,当采样到FLASH写信号与FLASH片选信号线为低电平时;或,接收到写操作指令后,在设定时间阈值内没有接收到写操作完成指令时,打开对FLASH的写保护。
实施中,不仅可以通过主动的检测写操作是否完成来决定是否打开对FLASH的写保护,还可以通过接收到的写操作完成的指令触发打开对FLASH的写保护,该写操作完成的指令具体的可以由CPU管理系统在写操作完成后发出,还可以在进入中断处理后,判断出写操作非法后发出该指令用以打开被非法写操作指令关闭的写保护。
对FLASH进行写保护具体可以通过将FLASH写保护管脚置于低电平后,实现打开对FLASH的写保护。打开对FLASH的写保护目的在于,打开后就不能再对FLASH进行写操作了。
上述写保护目的主要是通过控制FLASH的写保护管脚,达到在平时工作的时候不允许非法的写操作,克服了由于FLASH的写保护管脚平时一直处于打开状态,导致系统被错误改写的概率增加的不足,从而降低了FLASH被改写的概率,减轻了管理系统的负荷。
上述实施例中,可以针对的存在情况主要有:升级启动BOOT代码、升级主程序、记录故障信息、用户设置信息,下面对实施中这四种情况的处理来对本发明进行说明,但易知,通过本发明的方法,即:当检测到错误后,对错误操作进行恢复,可见本发明可以解决的问题并不仅限于只在这四种情况。下面对四种情况进行说明如下:
如果在步骤401中发现当前的写操作是对BOOT的代码进行修改,则在步骤406中的合法性判断即为判断当前的任务是否为允许升级BOOT的任务,如果是即为合法,则允许升级BOOT,退出中断处理;否则为非法,执行步骤408中恢复被修改的代码;
如果在步骤401中的写操作中,当前操作FLASH的地址是否为针对主程序的存储空间进行修改,如果是,则在步骤406中的合法性判断即为判断当前调用写操作的任务是否是约定好允许修改主程序的任务,如果是即为合法,则不处理,退出中断处理;否则为非法,执行步骤408中恢复被修改的代码;
同样,故障信息记录、用户配置也可以通过类似的方法进行检测。
更进一步的,当发现写操作错误的时候,在步骤409中可以由系统产生外部中断信号触发管理系统的调试代码,用于帮助软件人员找出错误的软件逻辑避免后续的错误操作,减低系统FLASH被改写的隐患。
本发明还提供了一种FLASH的写操作处理系统、FLASH写操作处理装置以及CPU管理系统,下面结合附图对其具体实施方式进行说明。
图5为FLASH的写操作处理系统结构示意图,如图所示,本系统用于对FLASH201进行写操作处理,系统中包括管理系统200、备份模块501、请求模块502、判断模块503、恢复模块504、定位模块505、输出模块506、写保护模块507,下面以本系统对FLASH201的具体实施为例进行说明。
备份模块501与FLASH201相连,用于在对FLASH进行写操作时,对FLASH20 1中将要被改写的数据进行备份;
请求模块502与判断模块503、FLASH201相连,用于在对FLASH201写操作完成后,向判断模块503发起中断请求;
判断模块503与管理系统200相连,用于在接到中断请求后进入中断处理,根据管理系统的写操作记录对所述写操作进行合法性判断,在确定所述写操作合法时,退出中断处理,在确定所述写操作非法时,触发恢复模块504;
恢复模块504与判断模块503、备份模块501相连,用于根据备份模块501的备份数据恢复被改写的数据。
在请求模块502中可以包括检测单元以及请求单元,其中:
检测单元在对FLASH写操作完成,接收到写操作完成指令后;或,在没有接收到写操作指令时,当采样到FLASH写信号与FLASH片选信号线为低电平时;或,接收到写操作指令后,在设定时间阈值内没有接收到写操作完成指令时,触发请求单元;
请求单元在被检测单元触发后向判断模块发起中断请求。
从上述实施可以看出,在判断模块确定写操作是非法的时候,将会触发恢复模块根据备份模块在写操作时备份的数据进行恢复,从而克服了现有技术中一旦发起错误的写操作后无法被发现和恢复的不足,提高了对FLASH的写操作的安全性。
系统中还可以进一步包括与判断模块503相连的定位模块505,用于在确定所述写操作非法时,根据判断模块的判断结果定位所述写操作错误发生原因。
系统中还可以进一步包括输出模块506与定位模块505相连,用于将定位模块定位出的写操作发生原因输出。具体的可以通过在管理系统所处的CPU管理系统上的串口204进行输出。
可以看出,由系统产生外部中断信号后,触发定位模块的调试代码,可以用于帮助软件人员找出错误的软件逻辑避免后续的错误操作,减低系统FLASH被改写的隐患。
系统中进一步还可以包括与FLASH201相连写保护模块507,用于根据对FLASH的写操作指令,对FLASH进行写保护。
具体的,写保护模块中可以包括:
写操作指令接收单元,用于在接收到对FLASH进行写操作的指令后,触发置位单元;
置位单元,用于在被所述写操作指令接收单元触发后,关闭对FLASH的写保护,在对FLASH写操作完成,接收到写操作完成指令时;或,在没有接收到写操作指令时,当采样到FLASH写信号与FLASH片选信号线为低电平时;或,接收到写操作指令后,在设定时间阈值内没有接收到写操作完成指令时,打开对FLASH的写保护。
置位单元可以与FLASH201的写保护管脚相连,在关闭对FLASH的写保护时将写保护管脚置于低电平,在打开对FLASH的写保护时将写保护管脚置于高电平。
可以看出,通过写保护模块控制FLASH的写保护管脚,达到了在平时工作的时候不允许非法的写操作,克服了由于FLASH的写保护管脚平时一直处于打开状态,导致系统被错误改写的概率增加的不足,从而降低了FLASH被改写的概率,减轻了管理系统的负荷。
图6为FLASH写操作处理装置结构示意图,如图所示,装置中包括请求模块502、写保护模块507,其中:
请求模块502用于在对FLASH写操作完成后,发起对所述写操作进行合法性判断的中断请求。
装置中请求模块可以包括:
检测单元5021,用于在对FLASH写操作完成,接收到写操作完成指令后;或,在没有接收到写操作指令时,当采样到FLASH写信号与FLASH片选信号线为低电平时;或,接收到写操作指令后,在设定时间阈值内没有接收到写操作完成指令时,触发请求单元;
请求单元5022,用于在被所述检测单元触发后向管理系统发起中断请求;所述中断请求用于触发管理系统对所述写操作进行合法性判断。
装置中还可以进一步包括写保护模块507,用于根据对FLASH的写操作状态,对FLASH进行写保护。
写保护模块中可以包括:
写操作指令接收单元5072,用于在接收对FLASH进行写操作的指令进入写操作状态时,触发置位单元;
置位单元5071,用于在被所述写操作指令接收单元触发后,关闭对FLASH的写保护,在对FLASH写操作完成,接收到写操作完成指令时;或,在没有接收到写操作指令时,当采样到FLASH写信号与FLASH片选信号线为低电平时;或,接收到写操作指令后,在设定时间阈值内没有接收到写操作完成指令时,打开对FLASH的写保护。
置位单元可以与FLASH的写保护管脚相连,在对FLASH进行写保护时将写保护管脚置于低电平,在打开写保护时将写保护管脚置于高电平来实现写保护。
图7为CPU管理系统结构示意图,如图所示,系统中可以包括:备份模块501、管理系统200、判断模块503、恢复模块504,其中:
备份模块501,用于在对FLASH进行写操作前,对FLASH中将要被改写的数据进行备份;
判断模块503在接到中断请求后进入中断处理,根据管理系统200的写操作记录对所述写操作进行合法性判断,在确定所述写操作合法时,退出中断处理,在确定所述写操作非法时,触发恢复模块504;
恢复模块504,与所述判断模块503、所述备份模块501相连,用于根据所述备份模块的备份数据恢复被改写的数据。
CPU管理系统中还可以进一步包括定位模块505,用于在确定所述写操作非法时,根据判断模块503的判断结果定位所述写操作错误发生原因。
CPU管理系统还可以进一步包括输出模块506,用于将定位模块505定位出的所述写操作错误发生原因输出。
下面再用实施例一来说明本发明的具体实施方式。
实施例一
本例中将以CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)的实施来进行说明,CPLD是一种可编程逻辑器件,它可以在制造完成后由用户根据自己的需要定义其逻辑功能,在电子系统中一般用于实现一些简单的用户定制逻辑。显然,使用CPLD就能够实现上述请求模块、写保护模块的功能,同时,实施中还使用了包括前述实施例中管理系统的CPU管理系统,由于CPU管理系统是一个软件操作系统,在该CPU管理系统中实现备份模块、接收模块、判断模块、定位模块、输出模块、恢复模块的功能,对本领域技术人员来说也是易知的。同时需要指出,实施时可以根据需要在CPU管理系统或CPLD或其他实体中实现不同的功能模块,并不仅限于本例中的实施方式,比如,备份模块、恢复模块不仅可以在CPU管理系统上实现,也可以用其他具备数据存储功能、数据读写功能的实体上实现。在利用了现行的CPLD进行实施本发明时,则可以按如下方式实施:
图8为实施例一的FLASH写操作处理系统结构示意图,如图所示,系统由CPLD801、FLASH201、CPU管理系统800、以及与CPU管理系统相连的串口204组成,其中:
CPU管理系统800通过总线发送读写命令用于控制CPLD801;
CPU管理系统800通过读信号线、写信号线、数据线、地址线等发送读写命令给FLASH201;
CPLD801通过INT(管理系统的外部中断信号线)用于通知CPU管理系统800及时的处理中断请求,即发生的写操作;
CPLD801通过一根管脚802控制FLASH201的写保护管脚203,在平时工作情况下,该管脚的电平输出低电平,不允许FLASH完成写操作,只有接收到CPU管理系统发送的写操作指令触发关闭写保护的时候才送出高电平,这个时候FLASH才会接受管理系统的写操作。
图9为实施例一中写操作处理系统的实施流程示意图,则如图所示,上述写操作处理系统的写操作流程可以如下:
步骤901、CPU管理系统通知CPLD打开写保护管脚允许写操作。
具体的,本步骤中可是通过对CPLD上的写保护模块发出写操作指令,从而使写保护模块关闭对FLASH的写保护,以便进行写操作。
步骤902、CPU管理系统备份被改写的FLASH内容到系统的内存。
具体实施中,并不仅限于备份至内存,容易知道所有的数据存储介质都可以实现。
步骤903、CPU管理系统发起写操作,FLASH接受写操作。
步骤904、CPU管理系统等待写操作完成。
步骤905、CPU管理系统通知CPLD关闭写保护管脚禁止非法的写操作。
在步骤904、905中,不仅可以通过CPU管理系统在写操作完成后发出写操作完成指令通知CPLD中的写保护模块关闭,还可以通过CPLD主动检测到异常写操作后关闭。
实施中,可能会出现发出错误的写操作指令,也因而没有步骤905中所述的正确地与之对应的写操作完成指令来使FLASH进入写保护,在此情况下,写保护模块可以通过主动检测到异常写操作后使FLASH进入写保护状态,也可以通过中断请求判断出该写操作为非法操作后,再发出写操作完成指令来使FLASH进入写保护状态。
步骤906、CPLD关闭写保护管脚禁止非法的写操作。
上述步骤904、905、906中,并不仅限于在步骤904中CPU管理系统在等待写操作完成后,向CPLD发出写操作完成指令的一种实施方式,也可以是CPLD虽然没有接收到写操作指令,但当采样到FLASH写信号与FLASH片选信号线为低电平时;或,接收到写操作指令,但在设定时间阈值内没有接收到写操作完成指令时,CPLD也主动关闭写保护管脚,其原因在于,写操作并不一定是由CPU管理系统通过写操作指令发起的,写操作有可能是在CPU管理系统不知情的情况下进行的,为更好的对FLASH进行写保护,CPLD也可在没有接收到写操作完成指令时关闭写保护管脚。
步骤907、CPLD产生中断信号(INT)通知CPU管理系统写操作完成。
本步骤的发出中断信号可以是:CPLD接收到写操作指令,在对FLASH写操作完成后,CPLD接收到写操作完成指令后发起中断请求;
或,在CPLD没有接收到写操作指令时,当CPLD采样到FLASH写信号与FLASH片选信号线为低电平时发起中断请求;
或,CPLD接收到写操作指令后,但在设定时间阈值内没有接收到写操作完成指令时,CPLD发送中断请求。
步骤908、CPU管理系统响应INT的外部中断,进入中断处理程序。
步骤909、CPU管理系统确认目前的写操作是否合法,如果合法则转入步骤910,否则转入步骤911。
步骤910、退出中断处理。
步骤911、CPU管理系统定位当前写操作可能的错误。
步骤912、CPU管理系统恢复被改写的FLASH内容。
步骤913、CPU管理系统通过串口输出提示信息,提示用户修改管理系统的软件代码。
本实施例中通过在电路中添加CPLD用于检测不正确的改写FLASH的行为。在每次写操作完成后管理系统都对写操作进行核对确认是否是被允许的写操作。如果发现错误的写FLASH操作,CPU管理系统负责恢复被改写的FLASH内容,从而避免老设计系统的FLASH由于被CPU管理系统错误修改而导致系统瘫痪,比如系统启动代码被错误的修改,系统的主程序被破坏。
实施中通过在CPU管理系统发起写操作的时候由CPLD产生外部中断信号触发CPU管理系统的调试代码,便可以帮助软件人员找出错误的软件逻辑以避免后续的错误操作,减低了系统FLASH被改写的隐患。
同时还通过控制FLASH的写保护管脚,达到在平时工作的时候不允许非法的写操作,进一步降低了FLASH被改写的概率,减轻管理系统的负荷。
由上述实施例可知,本发明中通过检测对FLASH的写操作,并且在出现错误的写操作后进行出错处理,提高了软件人员查出软件代码的错误逻辑的效率。进一步的可以通过控制WP管脚的高低电平,来达到允许和禁止写FLASH的操作,减低了FLASH被误写的概率。并且通过检测每次CPU管理系统发起的写FLASH的操作后,通知CPU管理系统确认当前的写操作是否合法,并将恢复被错误改写的FLASH内容,使得系统能够在出现写操作错误时进行恢复。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (16)

1.一种FLASH的写操作处理方法,其特征在于,包括如下步骤:
在对FLASH进行写操作前,对FLASH中将要被改写的数据进行备份;
在对FLASH写操作完成后,发起中断请求;
在接到中断请求后,进入中断处理,根据写操作记录对所述写操作进行合法性判断;
在确定所述写操作合法时,退出中断处理,在确定所述写操作非法时,根据备份数据恢复被改写的数据。
2.如权利要求1所述的方法,其特征在于,在确定所述写操作非法时,进一步包括如下步骤:
定位所述写操作错误发生原因。
3.如权利要求2所述的方法,其特征在于,定位出所述写操作发生原因后,进一步包括如下步骤:
将所述错误原因输出。
4.如权利要求1所述的方法,其特征在于,所述在对FLASH写操作完成后,发起中断请求具体为:
在对FLASH写操作完成,接收到写操作完成指令后发起中断请求;
或,在没有接收到写操作指令时,当采样到FLASH写信号与FLASH片选信号线为低电平时发起中断请求;
或,接收到写操作指令后,在设定时间阈值内没有接收到写操作完成指令时发送中断请求。
5.如权利要求1至4任一所述的方法,其特征在于,进一步包括如下步骤:
在接收到对FLASH进行写操作的指令时,关闭对FLASH的写保护,执行写操作;
在对FLASH写操作完成,接收到写操作完成指令时;或,在没有接收到写操作指令时,当采样到FLASH写信号与FLASH片选信号线为低电平时;或,接收到写操作指令后,在设定时间阈值内没有接收到写操作完成指令时,打开对FLASH的写保护。
6.一种FLASH的写操作处理系统,包括管理系统,其特征在于,还包括:
备份模块,用于在对FLASH进行写操作前,对FLASH中将要被改写的数据进行备份;
请求模块,用于在对FLASH写操作完成后,向判断模块发起中断请求;
判断模块,与所述请求模块、所述管理系统相连,用于在接到中断请求后进入中断处理,根据管理系统的写操作记录对所述写操作进行合法性判断,在确定所述写操作合法时,退出中断处理,在确定所述写操作非法时,触发恢复模块;
恢复模块,与所述判断模块、所述备份模块相连,用于根据所述备份模块的备份数据恢复被改写的数据。
7.如权利要求6所述的系统,其特征在于,所述请求模块包括:
检测单元,用于在对FLASH写操作完成,接收到写操作完成指令后;或,在没有接收到写操作指令时,当采样到FLASH写信号与FLASH片选信号线为低电平时;或,接收到写操作指令后,在设定时间阈值内没有接收到写操作完成指令时,触发请求单元;
请求单元,用于在被所述检测单元触发后向所述判断模块发起中断请求。
8.如权利要求6所述的系统,其特征在于,进一步包括定位模块,与所述判断模块相连,用于在确定所述写操作非法时,根据所述判断模块的判断结果定位所述写操作错误发生原因。
9.如权利要求8所述的系统,其特征在于,进一步包括输出模块,与所述定位模块相连,用于将所述定位模块定位出的所述写操作发生原因输出。
10.如权利要求6至9任一所述的系统,其特征在于,进一步包括写保护模块,用于根据对FLASH的写操作指令,对FLASH进行写保护。
11.如权利要求10所述的系统,其特征在于,所述写保护模块包括:
写操作指令接收单元,用于在接收到对FLASH进行写操作的指令后,触发置位单元;
置位单元,用于在被所述写操作指令接收单元触发后,关闭对FLASH的写保护,在对FLASH写操作完成,接收到写操作完成指令时;或,在没有接收到写操作指令时,当采样到FLASH写信号与FLASH片选信号线为低电平时;或,接收到写操作指令后,在设定时间阈值内没有接收到写操作完成指令时,打开对FLASH的写保护。
12.一种FLASH写操作处理装置,其特征在于,包括:
请求模块,用于在对FLASH写操作完成后,发起对所述写操作进行合法性判断的中断请求。
13.如权利要求12所述的装置,其特征在于,所述请求模块包括:
检测单元,用于在对FLASH写操作完成,接收到写操作完成指令后;或,在没有接收到写操作指令时,当采样到FLASH写信号与FLASH片选信号线为低电平时;或,接收到写操作指令后,在设定时间阈值内没有接收到写操作完成指令时,触发请求单元;
请求单元,用于在被所述检测单元触发后向管理系统发起中断请求;所述中断请求用于触发管理系统对所述写操作进行合法性判断。
14.如权利要求12所述的装置,其特征在于,进一步包括:
写操作指令接收单元,用于在接收对FLASH进行写操作的指令进入写操作状态时,触发置位单元;
置位单元,用于在被所述写操作指令接收单元触发后,关闭对FLASH的写保护,在对FLASH写操作完成,接收到写操作完成指令时;或,在没有接收到写操作指令时,当采样到FLASH写信号与FLASH片选信号线为低电平时;或,接收到写操作指令后,在设定时间阈值内没有接收到写操作完成指令时,打开对FLASH的写保护。
15.一种CPU管理系统,包括管理系统,其特征在于,还包括:
备份模块,用于在对FLASH进行写操作前,对FLASH中将要被改写的数据进行备份;
判断模块,用于在接到中断请求后进入中断处理,根据管理系统的写操作记录对所述写操作进行合法性判断,在确定所述写操作合法时,退出中断处理,在确定所述写操作非法时,触发恢复模块;
恢复模块,与所述判断模块、所述备份模块相连,用于根据所述备份模块的备份数据恢复被改写的数据。
16.如权利要求15所述的系统,其特征在于,进一步包括定位模块,用于在确定所述写操作非法时,根据所述判断模块的判断结果定位所述写操作错误发生原因。
CN200710195568A 2007-12-06 2007-12-06 一种flash的写操作处理方法、系统及设备 Active CN100590599C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200710195568A CN100590599C (zh) 2007-12-06 2007-12-06 一种flash的写操作处理方法、系统及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200710195568A CN100590599C (zh) 2007-12-06 2007-12-06 一种flash的写操作处理方法、系统及设备

Publications (2)

Publication Number Publication Date
CN101178678A true CN101178678A (zh) 2008-05-14
CN100590599C CN100590599C (zh) 2010-02-17

Family

ID=39404939

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710195568A Active CN100590599C (zh) 2007-12-06 2007-12-06 一种flash的写操作处理方法、系统及设备

Country Status (1)

Country Link
CN (1) CN100590599C (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102446141A (zh) * 2011-09-14 2012-05-09 杭州华三通信技术有限公司 用于实现写保护控制的装置和方法
CN108229178A (zh) * 2018-01-26 2018-06-29 郑州云海信息技术有限公司 Bios写保护方法、装置、设备及计算机可读存储介质
CN109117314A (zh) * 2015-12-18 2019-01-01 福建随行软件有限公司 一种防误操作的数据备份方法及系统
CN109522241A (zh) * 2018-11-15 2019-03-26 锐捷网络股份有限公司 一种基于Flash的写保护方法、装置及电路
CN109936528A (zh) * 2017-12-15 2019-06-25 阿里巴巴集团控股有限公司 监测方法、装置、设备及系统
CN111104064A (zh) * 2019-12-10 2020-05-05 深圳震有科技股份有限公司 Flash存储器写保护处理方法及装置、计算机设备、介质
CN111782440A (zh) * 2020-06-30 2020-10-16 北京奇艺世纪科技有限公司 一种数据处理方法、装置及电子设备
CN113360198A (zh) * 2021-08-11 2021-09-07 成都博宇利华科技有限公司 一种只用fpga自身在线更新fpga配置的方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102446141A (zh) * 2011-09-14 2012-05-09 杭州华三通信技术有限公司 用于实现写保护控制的装置和方法
CN102446141B (zh) * 2011-09-14 2014-07-02 杭州华三通信技术有限公司 用于实现写保护控制的装置和方法
CN109165121B (zh) * 2015-12-18 2021-03-23 福建随行软件有限公司 恢复被误操作的数据的方法及系统
CN109117314A (zh) * 2015-12-18 2019-01-01 福建随行软件有限公司 一种防误操作的数据备份方法及系统
CN109165121A (zh) * 2015-12-18 2019-01-08 福建随行软件有限公司 恢复被误操作的数据的方法及系统
CN109936528A (zh) * 2017-12-15 2019-06-25 阿里巴巴集团控股有限公司 监测方法、装置、设备及系统
CN109936528B (zh) * 2017-12-15 2022-08-05 阿里巴巴集团控股有限公司 监测方法、装置、设备及系统
CN108229178A (zh) * 2018-01-26 2018-06-29 郑州云海信息技术有限公司 Bios写保护方法、装置、设备及计算机可读存储介质
CN109522241A (zh) * 2018-11-15 2019-03-26 锐捷网络股份有限公司 一种基于Flash的写保护方法、装置及电路
CN111104064A (zh) * 2019-12-10 2020-05-05 深圳震有科技股份有限公司 Flash存储器写保护处理方法及装置、计算机设备、介质
CN111104064B (zh) * 2019-12-10 2023-12-01 深圳震有科技股份有限公司 Flash存储器写保护处理方法及装置、计算机设备、介质
CN111782440A (zh) * 2020-06-30 2020-10-16 北京奇艺世纪科技有限公司 一种数据处理方法、装置及电子设备
CN111782440B (zh) * 2020-06-30 2024-03-08 北京奇艺世纪科技有限公司 一种数据处理方法、装置及电子设备
CN113360198A (zh) * 2021-08-11 2021-09-07 成都博宇利华科技有限公司 一种只用fpga自身在线更新fpga配置的方法

Also Published As

Publication number Publication date
CN100590599C (zh) 2010-02-17

Similar Documents

Publication Publication Date Title
CN100590599C (zh) 一种flash的写操作处理方法、系统及设备
US7428663B2 (en) Electronic device diagnostic methods and systems
CN102760090B (zh) 除错方法及计算机系统
CN109670319B (zh) 一种服务器flash安全管理方法及其系统
US8843785B2 (en) Collecting debug data in a secure chip implementation
US20120110378A1 (en) Firmware recovery system and method of baseboard management controller of computing device
US7941658B2 (en) Computer system and method for updating program code
JP5412644B2 (ja) 電子機器装置の不正取り外し検知方法
US20130124917A1 (en) Recovering from stack corruption faults in embedded software systems
CN101276297A (zh) 一种处理器系统、设备及故障处理方法
US7966486B2 (en) Computer system with dual basic input output system and operation method thereof
CN110704228B (zh) 一种固态硬盘异常处理方法及系统
CN101295255B (zh) 固件更新系统及方法
KR20170020324A (ko) 보안 소거 동작을 완료하기 위한 방법
US10921871B2 (en) BAS/HVAC control device automatic failure recovery
US20180095806A1 (en) Technologies for fast boot with adaptive memory pre-training
US20020162052A1 (en) Method for entering system firmware recovery mode using software-detectable buttons
CN101233495A (zh) 用于在具有快闪程序存储器的微控制器中提供程序断点的机制
CN106775674A (zh) 一种基于通用引导加载程序的设备及其启动方法
CN101221518A (zh) 一种防止硬件看门狗的定时器溢出的方法、装置与系统
US20070277028A1 (en) Method and system for recovery from reprogramming failures in nonvolatile memory
CN106909382B (zh) 输出不同类型系统启动信息的方法及装置
CN111459730A (zh) 一种Whitley平台下PCH端参数的调整方法及系统
CN104615387A (zh) 基于xpe系统的车载设备及其设计方法
CN202331426U (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
ASS Succession or assignment of patent right

Owner name: BEIJING Z-GOOD RUITUO TECHNOLOGY SERVICE CO., LTD.

Free format text: FORMER OWNER: FUJIAN XINGWANGRUIJIE NETWORK CO., LTD.

Effective date: 20140211

COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 350015 FUZHOU, FUJIAN PROVINCE TO: 100085 HAIDIAN, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20140211

Address after: 100085 Beijing city Haidian District No. 33 Xiaoying Road 1 1F05 room

Patentee after: Beijing Zhigu Ruituo Technology Service Co., Ltd.

Address before: 350015 M9511 Industrial Park, fast road, Mawei District, Fujian, Fuzhou

Patentee before: Fujian Xingwangruijie Network Co., Ltd.

TR01 Transfer of patent right