CN116521405A - sd卡状态检测方法、装置、设备及存储介质 - Google Patents
sd卡状态检测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116521405A CN116521405A CN202211723151.0A CN202211723151A CN116521405A CN 116521405 A CN116521405 A CN 116521405A CN 202211723151 A CN202211723151 A CN 202211723151A CN 116521405 A CN116521405 A CN 116521405A
- Authority
- CN
- China
- Prior art keywords
- card
- text
- preset
- connection
- writing
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 93
- 230000002159 abnormal effect Effects 0.000 claims abstract description 39
- 230000006870 function Effects 0.000 claims description 80
- 238000000034 method Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明属于设备检测技术领域,公开了一种sd卡状态检测方法、装置、设备及存储介质。本发明通过调用预设sd连接函数连接sd卡,获得sd卡连接结果;若sd卡连接结果为连接失败,则获取异常提示状态码;根据异常提示状态码生成总线提示报文;通过can总线将总线提示报文进行广播。由于是通过预设sd连接函数连接sd卡,通过连接结果确定sd卡的状态是否出现异常,无需增加额外引脚,不会提升硬件复杂度,也不会产生信号中断,即使设备的io接口紧缺,依旧可正常检测sd卡的状态。
Description
技术领域
本发明涉及设备检测技术领域,尤其涉及一种sd卡状态检测方法、装置、设备及存储介质。
背景技术
目前,设备检测sd卡的拔插状态,是通过T卡座来进行检测,信号TCARD_DETECT连在中断控制器上。在没有插sd卡时,TCARD_DETECT信号为低电平。插入sd卡后,信号TCARD_DETECT被拉高为高电平,从而产生一个中断,但是,此种实现方式需要在设备中设置额外的引脚,会增加设备的硬件复杂度,且在sd卡出现拔插时,需要硬件信号产生中断,对于io口紧缺的设备也并不适用。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种sd卡状态检测方法、装置、设备及存储介质,旨在解决现有技术无法在不产生信号中断,且不提升硬件复杂度的情况下,实现对sd卡的拔插状态的检测的技术问题。
为实现上述目的,本发明提供了一种sd卡状态检测方法,所述方法包括以下步骤:
调用预设sd连接函数连接sd卡,获得sd卡连接结果;
若所述sd卡连接结果为连接失败,则获取异常提示状态码;
根据所述异常提示状态码生成总线提示报文;
通过can总线将所述总线提示报文进行广播。
可选的,所述在系统状态满足预设检测条件时,调用预设sd连接函数连接sd卡,获得sd卡连接结果的步骤之后,还包括:
若所述sd卡连接结果为连接成功,则获取当前系统时刻及预设间隔时长;
根据所述当前系统时刻及预设间隔时长生成定时检测时刻;
若系统时刻达到所述定时检测时刻,则返回所述调用预设sd连接函数连接sd卡,获得sd卡连接结果的步骤。
可选的,所述若所述sd卡连接结果为连接成功,则获取当前系统时刻及预设间隔时长的步骤,包括:
若所述sd卡连接结果为连接成功,则获取状态校验文本及文本读取路径;
通过sd卡读取函数获取所述sd卡中所述文本读取路径对应的数据,获得待校验文本;
将所述状态校验文本与所述待校验文本进行比较;
若所述状态校验文本与所述待校验文本一致,则获取当前系统时刻及预设间隔时长。
可选的,所述将所述状态校验文本与所述待校验文本进行比较的步骤之后,还包括:
若所述状态校验文本与所述待校验文本不一致,则检测写入日志库中是否存在所述文本读取路径对应的文本写入日志;
若存在,则从所述文本写入日志中读取被写入文本;
根据所述被写入文本对状态校验文本进行更新,并返回所述通过sd卡读取函数获取所述sd卡中所述文本读取路径对应的数据,获得待校验文本的步骤。
可选的,所述若所述sd卡连接结果为连接成功,则获取状态校验文本及文本读取路径的步骤,包括:
若所述sd卡连接结果为连接成功,则读取所述sd卡的sd卡规格信息;
将所述sd卡规格信息与预设规格信息进行比对;
若所述sd卡规格信息与所述预设规格信息一致,则获取状态校验文本及文本读取路径。
可选的,所述若所述状态校验文本与所述待校验文本一致,则获取当前系统时刻及预设间隔时长的步骤,包括:
若所述状态校验文本与所述待校验文本一致,则获取写入校验文本及预设写入位置;
根据所述预设写入位置调用sd卡写入函数将所述写入校验文本写入所述sd卡中;
在写入完成时,通过所述sd卡读取函数读取所述sd卡中所述预设写入位置对应的数据,获得已写入数据;
将所述写入校验文本与所述已写入数据进行比较;
若所述写入校验文本与所述已写入数据一致,则获取当前系统时刻及预设间隔时长。
可选的,所述将所述写入校验文本与所述已写入数据进行比较的步骤之后,还包括:
若所述写入校验文本与所述已写入数据不一致,则获取历史不一致次数;
根据所述历史不一致次数确定当前不一致总数;
若所述当前不一致总数小于或等于预设失败总数,则返回所述根据所述预设写入位置调用sd卡写入函数将所述写入校验文本写入所述sd卡中的步骤。
此外,为实现上述目的,本发明还提出一种sd卡状态检测装置,所述sd卡状态检测装置包括以下模块:
内存连接模块,用于调用预设sd连接函数连接sd卡,获得sd卡连接结果;
提示获取模块,用于若所述sd卡连接结果为连接失败,则获取异常提示状态码;
报文生成模块,用于根据所述异常提示状态码生成总线提示报文;
报文发送模块,用于通过can总线将所述总线提示报文进行广播。
此外,为实现上述目的,本发明还提出一种sd卡状态检测设备,所述sd卡状态检测设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的sd卡状态检测程序,所述sd卡状态检测程序被处理器执行时实现如上所述的sd卡状态检测方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有sd卡状态检测程序,所述sd卡状态检测程序执行时实现如上所述的sd卡状态检测方法的步骤。
本发明通过调用预设sd连接函数连接sd卡,获得sd卡连接结果;若sd卡连接结果为连接失败,则获取异常提示状态码;根据异常提示状态码生成总线提示报文;通过can总线将总线提示报文进行广播。由于是通过预设sd连接函数连接sd卡,通过连接结果确定sd卡的状态是否出现异常,无需增加额外引脚,不会提升硬件复杂度,也不会产生信号中断,即使设备的io接口紧缺,依旧可正常检测sd卡的状态。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的电子设备的结构示意图;
图2为本发明sd卡状态检测方法第一实施例的流程示意图;
图3为本发明sd卡状态检测方法第二实施例的流程示意图;
图4为本发明一实施例的检测执行流程图;
图5为本发明sd卡状态检测方法第三实施例的流程示意图;
图6为本发明sd卡状态检测方法第四实施例的流程示意图;
图7为本发明sd卡状态检测装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的sd卡状态检测设备结构示意图。
如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及sd卡状态检测程序。
在图1所示的电子设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在sd卡状态检测设备中,所述电子设备通过处理器1001调用存储器1005中存储的sd卡状态检测程序,并执行本发明实施例提供的sd卡状态检测方法。
本发明实施例提供了一种sd卡状态检测方法,参照图2,图2为本发明一种sd卡状态检测方法第一实施例的流程示意图。
本实施例中,所述sd卡状态检测方法包括以下步骤:
步骤S10:调用预设sd连接函数连接sd卡,获得sd卡连接结果。
需要说明的是,本实施例的执行主体可以是所述sd卡状态检测设备,简称为sd卡检测设备,所述sd卡检测设备可以是设置有sd卡的电子设备,如:智能手机、平板电脑等电子设备,当然,也可以是其他功能相同或相似的其他设备,本实施例对此不加以限制,在本实施例及下述各实施例中,以sd卡检测设备为例对本发明sd卡状态检测方法进行说明。
需要说明的是,预设sd连接函数可以是设置在sd卡检测设备中,用于与sd卡进行连接的系统函数或驱动函数,通过调用预设sd连接函数可以尝试与sd卡进行连接,在进行连接之后,才可从sd卡中读取数据或写入数据。
在具体实现中,调用预设sd连接函数连接sd卡可以是调用预设sd连接函数连接sd卡检测设备中设置的sd卡。
步骤S20:若所述sd卡连接结果为连接失败,则获取异常提示状态码。
需要说明的是,若sd卡连接结果为连接失败,则表示此时sd卡检测设备中的sd卡无法正常被连接,sd卡检测设备中的sd卡可能已经被拔出或插入的sd卡出现了松动,此时sd卡检测设备中的其他硬件无法正常使用sd卡,因此,可以获取异常提示状态码,以便于生成相关的信息进行提示。
在具体实现中,异常提示状态码可以由sd卡检测设备的管理人员预先设置在sd卡检测设备中,例如:以state表示异常提示状态码,sd卡连接失败时,state=0,sd卡连接成功时,state=1。
步骤S30:根据所述异常提示状态码生成总线提示报文。
需要说明的是,根据异常提示状态码生成总线提示报文可以是将异常提示状态码填充至提示报文模板中,生成总线提示报文。
其中,提示报文模板可以由sd卡检测设备的管理人员预先进行设置。
例如:将提示报文模板设置为“Id:002,Data:AAstate?AA”,其中,id为报文类型编号,002表示为提示报文,Data为报文内容,AA为固定的特殊格式标识符,“?”为占位符,在将异常提示状态码填充至提示报文模板中时,会将占位符替换为异常提示状态码。
步骤S40:通过can总线将所述总线提示报文进行广播。
需要说明的是,sd卡检测设备中的多个硬件可以通过can总线进行连接,通过can总线将总线提示报文进行广播,则所有通过can总线连接的硬件均可以接收到总线提示报文,而各硬件在接收到总线提示报文之后,即可确定sd卡已经出现异常,无法成功连接,从而可以进行后续的异常处理,避免对其他硬件的运行产生影响。
在具体实现中,为了在sd卡恢复之后第一时间发现,在将总线提示报文进行广播之后,可以在间隔一定时长(例如:间隔1秒)之后,返回步骤S10,再重新尝试连接sd卡。
本实施例通过调用预设sd连接函数连接sd卡,获得sd卡连接结果;若sd卡连接结果为连接失败,则获取异常提示状态码;根据异常提示状态码生成总线提示报文;通过can总线将总线提示报文进行广播。由于是通过预设sd连接函数连接sd卡,通过连接结果确定sd卡的状态是否出现异常,无需增加额外引脚,不会提升硬件复杂度,也不会产生信号中断,即使设备的io接口紧缺,依旧可正常检测sd卡的状态。
参考图3,图3为本发明一种sd卡状态检测方法第二实施例的流程示意图。
基于上述第一实施例,本实施例sd卡状态检测方法在所述步骤S10之后,还包括:
步骤S20':若所述sd卡连接结果为连接成功,则获取当前系统时刻及预设间隔时长。
需要说明的是,在sd卡检测设备运行过程中,sd卡随时可能会出现状态编码,需要持续对sd卡的状态进行检测,而若sd卡连接结果为连接成功,则表示此时sd卡至少在当前时刻可以正常连接,此时,为了避免不断进行检测导致sd卡检测设备的运行异常,可以间隔一段时间之后,再进行检测,因此,可以获取当前系统时刻及预设间隔时长。
其中,当前系统时刻可以是sd卡检测设备中当前的系统运行时刻,预设间隔时长可以由sd卡检测设备的管理人员预先进行设置,例如:将预设间隔时长设置为3秒。
步骤S30':根据所述当前系统时刻及预设间隔时长生成定时检测时刻。
需要说明的是,根据当前系统时刻及预设间隔时长生成定时检测时刻可以是将当前系统时刻与预设间隔时长相加,并将相加所得到的的时刻作为定时检测时刻。
步骤S40':若系统时刻达到所述定时检测时刻,则返回所述调用预设sd连接函数连接sd卡,获得sd卡连接结果的步骤。
需要说明的是,若sd卡检测设备的系统时刻达到了定时检测时刻,则表示距离上次尝试连接sd卡,检测sd卡的状态,已经间隔了足够长的时间,因此,可以返回所述调用预设sd连接函数连接sd卡,获得sd卡连接结果的步骤,再次对sd卡的状态进行检测。
为了便于理解,现结合图4进行说明,但不对本方案进行限定。图4为本实施例的检测执行流程图,如图4所示,对sd卡的检测循环执行(while循环),先通过预设sd连接函数连接sd卡,获得连接结果,之后判断连接结果是否为连接失败,若是连接失败(false),则可以生成CAN报文,并通过can总线进行发出,令通过can总线连接的硬件明确sd卡出现异常,并在报文发出后延时一定时间,重新进行检测;而若是连接成功(true),则不进行处理,直接延时一定时间,再重新进行检测。
本实施例通过若所述sd卡连接结果为连接成功,则获取当前系统时刻及预设间隔时长;根据所述当前系统时刻及预设间隔时长生成定时检测时刻;若系统时刻达到所述定时检测时刻,则返回所述调用预设sd连接函数连接sd卡,获得sd卡连接结果的步骤。由于在sd卡连接结果为连接成功时,会根据当前系统时刻及预设间隔时长计算定时检测时刻,在系统时刻达到定时检测时刻时,才会返回所述调用预设sd连接函数连接sd卡,获得sd卡连接结果的步骤再次进行检测,避免了因sd卡检测频率过高,从而影响到设备的正常运行。
参考图5,图5为本发明一种sd卡状态检测方法第三实施例的流程示意图。
基于上述第二实施例,本实施例sd卡状态检测方法的所述步骤S20',包括:
步骤S201':若所述sd卡连接结果为连接成功,则获取状态校验文本及文本读取路径。
需要说明的是,在部分情况下,sd松动之后,虽然可以正常进行连接,但是,其实无法正常进行数据读写,为了保证此时sd卡是真正可正常进行使用,在sd卡连接结果为连接成功时,还可以获取状态校验文本及文本读取路径,以便于对sd卡的数据读取功能进行验证。
其中,状态校验文本可以是sd卡中已经存在的部分数据(状态校验文本可以由sd卡检测设备的管理人员预先写入),文本读取路径可以是sd卡中存储状态校验文本的存储路径。
在具体实现中,为了保证对读取功能的有效校验,且避免对sd卡的寿命造成较大的影响,状态校验文本可以设置的容量较小,且避免与其他文本重复(例如:将特定的md5码值作为状态校验文本),文本读取路径可以设置为sd卡的根路径,以保证只要sd卡的读取功能正常,即必定可以访问到该路径。
进一步地,部分情况下,sd卡虽然可连接,但是,驱动可能已经无法正常识别sd卡的型号等规格信息,此时,sd卡虽然可连接,但是,其实已经无法正常使用,此时根本无需浪费资源去验证读写功能,则此时,本实施例所述步骤S201',可以包括:
若所述sd卡连接结果为连接成功,则读取所述sd卡的sd卡规格信息;
将所述sd卡规格信息与预设规格信息进行比对;
若所述sd卡规格信息与所述预设规格信息一致,则获取状态校验文本及文本读取路径。
需要说明的是,sd卡规格信息可以包括sd卡的生产厂家、生产型号、内存卡大小等信息。预设规格信息可以是由sd卡检测设备的管理人员根据sd卡检测设备中插入的sd卡预先存入的sd卡规格信息。
可以理解的是,若sd卡规格信息与预设规格信息一致,则表示此时驱动读取到的sd卡的规格信息与真实的规格信息一致,驱动可以正常识别该sd卡的规格信息,因此,可以获取状态校验文本及文本读取路径,并进行后续的读取功能验证。
而若是sd卡规格信息与预设规格信息不一致,则表示驱动无法正常识别该sd卡的规格信息,因此,可以直接判定sd卡状态异常,此时可以获取对应的异常提示状态码,并生成总线提示报文进行广播。
步骤S202':通过sd卡读取函数获取所述sd卡中所述文本读取路径对应的数据,获得待校验文本。
需要说明的是,sd卡读取函数可以是sd卡驱动提供的读取函数。
在具体实现中,通过sd卡读取函数获取sd卡中文本读取路径对应的数据,获得待校验文本可以是通过sd卡读取函数读取sd卡中文本读取路径下存储的数据,并将读取到的数据作为待校验文本。
步骤S203':将所述状态校验文本与所述待校验文本进行比较。
步骤S204':若所述状态校验文本与所述待校验文本一致,则获取当前系统时刻及预设间隔时长。
可以理解的是,若状态校验文本与待校验文本一致,则表示sd卡的读取功能可正常使用,且读取到的文本数据与此前写入的特定文本数据一致,此时可以判定sd卡的读取功能并未出现异常,则此时sd卡可正常连接,且读取功能也可正常使用,因此,可以判定sd卡状态正常,此时可以获取当前系统时刻及预设间隔时长。
而若是状态校验文本与待校验文本不一致,则表示此时读取到的sd卡中的数据可能出现了乱码等现象,导致读取到的文本数据与此前写入的特定文本数据不一致,此时可以判定sd卡的读取功能出现异常,可以获取对应的异常提示状态码,并生成总线提示报文进行广播。
进一步地,由于是预先将特定文本写入sd卡中,但是,sd卡中的数据可能会被修改,此时,文本读取路径下对应的数据可能已经被更改,则此时需要将状态校验文本进行相应的更新,则此时本实施例所述步骤S203'之后,还可以包括:
若所述状态校验文本与所述待校验文本不一致,则检测写入日志库中是否存在所述文本读取路径对应的文本写入日志;
若存在,则从所述文本写入日志中读取被写入文本;
根据所述被写入文本对状态校验文本进行更新,并返回所述通过sd卡读取函数获取所述sd卡中所述文本读取路径对应的数据,获得待校验文本的步骤。
需要说明的是,写入日志库中可以是存储有文本写入日志的数据库,sd卡检测设备在检测到向sd卡中写入数据的操作时,会自动生成相应的文本写入日志,并存入写入日志库中。
在实际使用中,若状态校验文本与待校验文本不一致,则此时可能是由于文本读取路径下对应的数据可能已经被更改,从而导致的文本不一致,因此,可以检测写入日志库中是否存在文本读取路径对应的文本写入日志。
可以理解的是,若存在文本读取路径对应的文本写入日志,则此时可以确定文本读取路径对应的数据已经被修改,此时,可以从文本读取路径对应的文本写入日志中读取被写入文本,然后将旧的状态校验文本清空,将读取到的被写入文本作为新的状态校验文本,然后返回所述通过sd卡读取函数获取所述sd卡中所述文本读取路径对应的数据,获得待校验文本的步骤,重新进行校验。
而若是不存在文本读取路径对应的文本写入日志,则表示文本读取路径对应的数据并未被修改,则此时可以直接判定sd卡的读取功能出现异常,可以获取对应的异常提示状态码,并生成总线提示报文进行广播。
本实施例通过若所述sd卡连接结果为连接成功,则获取状态校验文本及文本读取路径;通过sd卡读取函数获取所述sd卡中所述文本读取路径对应的数据,获得待校验文本;将所述状态校验文本与所述待校验文本进行比较;若所述状态校验文本与所述待校验文本一致,则获取当前系统时刻及预设间隔时长。由于在sd卡连接结果为连接成功,还会获取状态校验文本及文本读取路径,对sd卡的读取功能进行进一步校验,提高了对sd卡状态进行检测的检测准确性。
参考图6,图6为本发明一种sd卡状态检测方法第四实施例的流程示意图。
基于上述第三实施例,本实施例sd卡状态检测方法的所述步骤S204',包括:
步骤S2041':若所述状态校验文本与所述待校验文本一致,则获取写入校验文本及预设写入位置。
需要说明的是,若状态校验文本与待校验文本一致,则此时可确定sd卡可正常进行连接,且读取功能正常,则此时可以进一步检测sd卡的写入功能是否正常,因此,可以获取写入校验文本及预设写入位置。
其中,为了避免对sd卡的寿命造成较大的影响,写入校验文本可以设置的内容较小,且预设写入位置可以选取sd卡中必定存在的目录,如根目录或特定目录。写入校验文本及预设写入位置均可以由sd卡检测设备的管理人员预先进行设置。
步骤S2042':根据所述预设写入位置调用sd卡写入函数将所述写入校验文本写入所述sd卡中。
需要说明的是,sd卡写入函数可以是sd卡驱动提供的用于向sd卡中写入数据的函数。根据预设写入位置调用sd卡写入函数将写入校验文本写入sd卡中可以是通过调用sd卡写入函数将写入校验文本写入sd卡中预设写入位置对应的路径下。
步骤S2043':在写入完成时,通过所述sd卡读取函数读取所述sd卡中所述预设写入位置对应的数据,获得已写入数据。
可以理解的是,在写入完成之后,需要验证sd卡中存储的数据是否与写入的数据一致,因此,可以通过sd卡读取函数读取sd卡中预设写入位置对应的数据,获得已写入数据。
步骤S2044':将所述写入校验文本与所述已写入数据进行比较。
步骤S2045':若所述写入校验文本与所述已写入数据一致,则获取当前系统时刻及预设间隔时长。
可以理解的是,若写入校验文本与已写入数据一致,则表示sd卡中存储的数据与写入的数据一致,此时,可以判定sd卡的写入功能正常,因此,可以获取当前系统时刻与预设间隔时长,执行后续步骤。
而若是写入校验文本与已写入数据不一致,则表示sd卡中存储的数据与写入的数据不一致,此时,可以判定sd卡的写入功能异常,因此,可以获取对应的异常提示状态码,并生成总线提示报文进行广播。
进一步地,由于sd卡可能同时被多个不同的硬件所操控,此时,向sd卡中写入数据时,可能会由于写入冲突等现象,导致sd卡中存储的数据与写入的数据不一致,为了避免误判,本实施例所述步骤S2044之后,还可以包括:
若所述写入校验文本与所述已写入数据不一致,则获取历史不一致次数;
根据所述历史不一致次数确定当前不一致总数;
若所述当前不一致总数小于或等于预设失败总数,则返回所述根据所述预设写入位置调用sd卡写入函数将所述写入校验文本写入所述sd卡中的步骤。
需要说明的是,历史不一致次数可以是写入校验文本与已写入数据连续不一致的次数。根据历史不一致次数确定当前不一致总数可以是将历史不一致次数加一,并将加一后的值作为当前不一致总数。预设失败总数可以由sd卡检测设备的管理人员预先进行设置,例如:将预设失败总数设置为3次。
可以理解的是,若当前不一致总数小于或等于预设失败总数,则表示写入校验文本与已写入数据连续不一致的次数还较少,此时可能是由于写入冲突等现象,导致sd卡中存储的数据与写入的数据不一致,为了避免误判,此时可以返回所述根据所述预设写入位置调用sd卡写入函数将所述写入校验文本写入所述sd卡中的步骤,重新尝试写入。
而若是当前不一致总数大于预设失败总数,则表示写入校验文本与已写入数据连续不一致的次数已经超过了预设的阈值,而写入冲突不可能会连续如此多的次数均导致写入异常,因此,可以判定是sd卡的写入功能异常,此时可以可以获取对应的异常提示状态码,并生成总线提示报文进行广播。
本实施例通过若所述状态校验文本与所述待校验文本一致,则获取写入校验文本及预设写入位置;根据所述预设写入位置调用sd卡写入函数将所述写入校验文本写入所述sd卡中;在写入完成时,通过所述sd卡读取函数读取所述sd卡中所述预设写入位置对应的数据,获得已写入数据;将所述写入校验文本与所述已写入数据进行比较;若所述写入校验文本与所述已写入数据一致,则获取当前系统时刻及预设间隔时长。由于会在sd卡可正常连接,且读取功能正常时,还会对sd卡的写入功能进行进一步校验,更进一步提高了对sd卡状态检测的检测准确性。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有sd卡状态检测程序,所述sd卡状态检测程序被处理器执行时实现如上文所述的sd卡状态检测方法的步骤。
参照图7,图7为本发明sd卡状态检测装置第一实施例的结构框图。
如图7所示,本发明实施例提出的sd卡状态检测装置包括:
内存连接模块10,用于调用预设sd连接函数连接sd卡,获得sd卡连接结果;
提示获取模块20,用于若所述sd卡连接结果为连接失败,则获取异常提示状态码;
报文生成模块30,用于根据所述异常提示状态码生成总线提示报文;
报文发送模块40,用于通过can总线将所述总线提示报文进行广播。
本实施例通过调用预设sd连接函数连接sd卡,获得sd卡连接结果;若sd卡连接结果为连接失败,则获取异常提示状态码;根据异常提示状态码生成总线提示报文;通过can总线将总线提示报文进行广播。由于是通过预设sd连接函数连接sd卡,通过连接结果确定sd卡的状态是否出现异常,无需增加额外引脚,不会提升硬件复杂度,也不会产生信号中断,即使设备的io接口紧缺,依旧可正常检测sd卡的状态。
进一步的,所述内存连接模块10,还用于若所述sd卡连接结果为连接成功,则获取当前系统时刻及预设间隔时长;根据所述当前系统时刻及预设间隔时长生成定时检测时刻;若系统时刻达到所述定时检测时刻,则返回所述调用预设sd连接函数连接sd卡,获得sd卡连接结果的步骤。
进一步的,所述内存连接模块10,还用于若所述sd卡连接结果为连接成功,则获取状态校验文本及文本读取路径;通过sd卡读取函数获取所述sd卡中所述文本读取路径对应的数据,获得待校验文本;将所述状态校验文本与所述待校验文本进行比较;若所述状态校验文本与所述待校验文本一致,则获取当前系统时刻及预设间隔时长。
进一步的,所述内存连接模块10,还用于若所述状态校验文本与所述待校验文本不一致,则检测写入日志库中是否存在所述文本读取路径对应的文本写入日志;若存在,则从所述文本写入日志中读取被写入文本;根据所述被写入文本对状态校验文本进行更新,并返回所述通过sd卡读取函数获取所述sd卡中所述文本读取路径对应的数据,获得待校验文本的步骤。
进一步的,所述内存连接模块10,还用于若所述sd卡连接结果为连接成功,则读取所述sd卡的sd卡规格信息;将所述sd卡规格信息与预设规格信息进行比对;若所述sd卡规格信息与所述预设规格信息一致,则获取状态校验文本及文本读取路径。
进一步的,所述内存连接模块10,还用于若所述状态校验文本与所述待校验文本一致,则获取写入校验文本及预设写入位置;根据所述预设写入位置调用sd卡写入函数将所述写入校验文本写入所述sd卡中;在写入完成时,通过所述sd卡读取函数读取所述sd卡中所述预设写入位置对应的数据,获得已写入数据;将所述写入校验文本与所述已写入数据进行比较;若所述写入校验文本与所述已写入数据一致,则获取当前系统时刻及预设间隔时长。
进一步的,所述内存连接模块10,还用于若所述写入校验文本与所述已写入数据不一致,则获取历史不一致次数;根据所述历史不一致次数确定当前不一致总数;若所述当前不一致总数小于或等于预设失败总数,则返回所述根据所述预设写入位置调用sd卡写入函数将所述写入校验文本写入所述sd卡中的步骤。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的sd卡状态检测方法,此处不再赘述。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种sd卡状态检测方法,其特征在于,所述sd卡状态检测方法包括以下步骤:
调用预设sd连接函数连接sd卡,获得sd卡连接结果;
若所述sd卡连接结果为连接失败,则获取异常提示状态码;
根据所述异常提示状态码生成总线提示报文;
通过can总线将所述总线提示报文进行广播。
2.如权利要求1所述的sd卡状态检测方法,其特征在于,所述在系统状态满足预设检测条件时,调用预设sd连接函数连接sd卡,获得sd卡连接结果的步骤之后,还包括:
若所述sd卡连接结果为连接成功,则获取当前系统时刻及预设间隔时长;
根据所述当前系统时刻及预设间隔时长生成定时检测时刻;
若系统时刻达到所述定时检测时刻,则返回所述调用预设sd连接函数连接sd卡,获得sd卡连接结果的步骤。
3.如权利要求2所述的sd卡状态检测方法,其特征在于,所述若所述sd卡连接结果为连接成功,则获取当前系统时刻及预设间隔时长的步骤,包括:
若所述sd卡连接结果为连接成功,则获取状态校验文本及文本读取路径;
通过sd卡读取函数获取所述sd卡中所述文本读取路径对应的数据,获得待校验文本;
将所述状态校验文本与所述待校验文本进行比较;
若所述状态校验文本与所述待校验文本一致,则获取当前系统时刻及预设间隔时长。
4.如权利要求3所述的sd卡状态检测方法,其特征在于,所述将所述状态校验文本与所述待校验文本进行比较的步骤之后,还包括:
若所述状态校验文本与所述待校验文本不一致,则检测写入日志库中是否存在所述文本读取路径对应的文本写入日志;
若存在,则从所述文本写入日志中读取被写入文本;
根据所述被写入文本对状态校验文本进行更新,并返回所述通过sd卡读取函数获取所述sd卡中所述文本读取路径对应的数据,获得待校验文本的步骤。
5.如权利要求3所述的sd卡状态检测方法,其特征在于,所述若所述sd卡连接结果为连接成功,则获取状态校验文本及文本读取路径的步骤,包括:
若所述sd卡连接结果为连接成功,则读取所述sd卡的sd卡规格信息;
将所述sd卡规格信息与预设规格信息进行比对;
若所述sd卡规格信息与所述预设规格信息一致,则获取状态校验文本及文本读取路径。
6.如权利要求3所述的sd卡状态检测方法,其特征在于,所述若所述状态校验文本与所述待校验文本一致,则获取当前系统时刻及预设间隔时长的步骤,包括:
若所述状态校验文本与所述待校验文本一致,则获取写入校验文本及预设写入位置;
根据所述预设写入位置调用sd卡写入函数将所述写入校验文本写入所述sd卡中;
在写入完成时,通过所述sd卡读取函数读取所述sd卡中所述预设写入位置对应的数据,获得已写入数据;
将所述写入校验文本与所述已写入数据进行比较;
若所述写入校验文本与所述已写入数据一致,则获取当前系统时刻及预设间隔时长。
7.如权利要求6所述的sd卡状态检测方法,其特征在于,所述将所述写入校验文本与所述已写入数据进行比较的步骤之后,还包括:
若所述写入校验文本与所述已写入数据不一致,则获取历史不一致次数;
根据所述历史不一致次数确定当前不一致总数;
若所述当前不一致总数小于或等于预设失败总数,则返回所述根据所述预设写入位置调用sd卡写入函数将所述写入校验文本写入所述sd卡中的步骤。
8.一种sd卡状态检测装置,其特征在于,所述sd卡状态检测装置包括以下模块:
内存连接模块,用于调用预设sd连接函数连接sd卡,获得sd卡连接结果;
提示获取模块,用于若所述sd卡连接结果为连接失败,则获取异常提示状态码;
报文生成模块,用于根据所述异常提示状态码生成总线提示报文;
报文发送模块,用于通过can总线将所述总线提示报文进行广播。
9.一种sd卡状态检测设备,其特征在于,所述sd卡状态检测设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的sd卡状态检测程序,所述sd卡状态检测程序被处理器执行时实现如权利要求1-7中任一项所述的sd卡状态检测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有sd卡状态检测程序,所述sd卡状态检测程序执行时实现如权利要求1-7中任一项所述的sd卡状态检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211723151.0A CN116521405A (zh) | 2022-12-30 | 2022-12-30 | sd卡状态检测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211723151.0A CN116521405A (zh) | 2022-12-30 | 2022-12-30 | sd卡状态检测方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116521405A true CN116521405A (zh) | 2023-08-01 |
Family
ID=87396476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211723151.0A Pending CN116521405A (zh) | 2022-12-30 | 2022-12-30 | sd卡状态检测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116521405A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117406924A (zh) * | 2023-10-19 | 2024-01-16 | 合肥力高动力科技有限公司 | 一种bms中基于tf卡的数据存储方法 |
-
2022
- 2022-12-30 CN CN202211723151.0A patent/CN116521405A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117406924A (zh) * | 2023-10-19 | 2024-01-16 | 合肥力高动力科技有限公司 | 一种bms中基于tf卡的数据存储方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110930131A (zh) | 一种车辆维修方法、装置、设备及介质 | |
CN116521405A (zh) | sd卡状态检测方法、装置、设备及存储介质 | |
CN111966380A (zh) | 一种bmc固件升级方法、系统、终端及存储介质 | |
CN111309602A (zh) | 一种软件测试方法、装置及系统 | |
CN112199281A (zh) | 一种数据处理方法、装置、终端设备及可读存储介质 | |
CN117391099B (zh) | 智能卡的数据下载及校验方法及其系统、存储介质 | |
CN113672306A (zh) | 服务器组件自检异常恢复方法、装置、系统及介质 | |
CN113656107A (zh) | 移动应用的加载方法、装置及电子设备 | |
CN113396391B (zh) | 应用程序启动的方法、装置、电子设备及存储介质 | |
CN105278993B (zh) | 一种基于Linux系统的驱动模块升级方法及装置 | |
CN106445737B (zh) | 一种多备份启动方法 | |
CN111859402A (zh) | 一种基于uefi bios启动的安全引导方法及装置 | |
CN111756594B (zh) | 压力测试的控制方法、计算机设备和计算机可读存储介质 | |
CN115840707A (zh) | 一种刷写测试方法、装置及介质 | |
CN112596750B (zh) | 应用测试方法、装置、电子设备及计算机可读存储介质 | |
CN114780152A (zh) | 一种计算设备启动方法及装置 | |
CN111552586B (zh) | 应用程序崩溃处理方法和装置 | |
CN111783162B (zh) | 数据保护实现方法、装置及计算机设备 | |
CN113918384A (zh) | 数据保存方法、装置、设备及存储介质 | |
CN114416140A (zh) | 一种基于ecu的升级方法及装置 | |
CN113220510A (zh) | 设备检测方法、检测设备和计算机可读存储介质 | |
CN116225784B (zh) | 应用程序引导备份方法、单片机、计算机可读存储介质 | |
CN112783522B (zh) | 文件的加载方法、文件的加载装置及电子设备 | |
CN116107662A (zh) | Fpga加载启动方法及系统 | |
CN116643978A (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 |