本发明专利技术公开了一种存储数据的读写保护方法。所述方法包括:设置解锁常量、加锁常量和解锁/加锁变量,将所述解锁/加锁变量的初始值设为所述加锁常量;创建解锁接口,将所述解锁常量按照由高位到低位逐BIT的方式赋值给所述解锁/加锁变量;收到读写存储数据的程序指令,调用所述解锁接口;判断所述解锁/加锁变量是否等于所述解锁常量,若是,调用存储数据的读写接口,执行读写存储数据的操作,若否,禁止读写存储数据。通过本发明专利技术的技术方案,能够防止断电时程序运行错乱对存储器件中的数据进行改写。
【技术实现步骤摘要】
本专利技术涉及数据存储领域,尤其涉及。
技术介绍
在2.4G/5G蓝牙等电子设备中,配对的ID以及一些配置信息会使用EEPR0M、FLASH等存储设备进行保存,从而使得用户在后续使用设备时,不用再重新输入配对新或者其他配置信息。 目前市场上的同类外设产品中,相关配置信息都存储在产品芯片内部的可重复擦写的存储单元或芯片外部的可重复擦写的存储器中,然而在设备掉电时,常常出现产品芯片的复位电路没能立刻进行复位,导致芯片掉电的短暂时间里程序运行出现错乱,进而导致对存储单元中的数据进行改写或者破坏,并且此类数据破坏是无法恢复的,严重时可能给用户造成极大的负面影响,使得用户认为产品质量不良,退换货情况频繁发生。
技术实现思路
本专利技术的目的在于提出,能够防止断电时程序运行错乱对存储器件中的数据进行改写。 为达此目的,本专利技术采用以下技术方案: ,包括: 设置解锁常量、加锁常量和解锁/加锁变量,将所述解锁/加锁变量的初始值设为所述加锁常量; 创建解锁接口,将所述解锁常量按照由高位到低位逐BIT的方式赋值给所述解锁/加锁变量; 收到读写存储数据的程序指令,调用所述解锁接口 ; 判断所述解锁/加锁变量是否等于所述解锁常量,若是,调用存储数据的读写接口,执行读写存储数据的操作,若否,禁止读写存储数据。 其中,执行读写存储数据的操作之后,还包括: 调用预设的加锁接口,将所述加锁常量赋值给所述解锁/加锁变量。 其中,所述将所述解锁常量按照由高位到低位逐BIT的方式赋值给所述解锁/加锁变量,具体为: 将所述解锁常量按照由高位到低位逐BIT的方式赋值给所述解锁/加锁变量,且在每个BIT赋值之后延时预设时长。 其中,所述预设时长为1-5晕秒。 其中,所述预设时长为2晕秒。 其中,所述解锁常量的长度大于等于8BIT。 其中,所述解锁常量、加锁常量和解锁/加锁变量的数据类型相同。 实施本专利技术实施例,具有如下有益效果: 本专利技术实施例通过设置一个常量作为解锁常量,一个另一常量为加锁常量,创建一个变量作为解锁/加锁标志,创建解锁接口,将所述解锁常量按照由高位到低位逐BIT的方式赋值给所述解锁/加锁变量;收到读写存储数据的程序指令,调用所述解锁接口 ;判断所述解锁/加锁变量是否等于所述解锁常量,若是,调用存储数据的读写接口,执行读写存储数据的操作,若否,禁止读写存储数据。。由于设备断电导致的程序错乱通常是瞬间性的,无法调用并实现所述解锁接口,由此防止了断电时程序运行错乱对存储单元中的数据进行改写,有效保护了用户存储器件中的重要数据。 【附图说明】 为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 图1是本专利技术实施例的的流程示意图。 图2是本专利技术实施例中解锁接口的实现方法流程示意图。 【具体实施方式】 下面结合本专利技术的附图对本专利技术实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。 结合图1对本专利技术的第一实施例进行说明。 图1是本专利技术第一实施例的流程图,详述如下: 步骤SlOl,设置解锁常量、加锁常量和解锁/加锁变量,将所述解锁/加锁变量的初始值设为所述加锁常量。 在本实施例中,所述解锁常量、加锁常量和解锁/加锁变量的数据类型相同,解锁常量、加锁常量可为数字序列或者字符串序列。优选的,所述解锁常量的长度大于等于8BIT。 本实施例中,用常量S表示解锁常量,常量Y表示加锁常量,变量K表示解锁/加锁变量,初始时,设定K = Y。 步骤S10.2,创建解锁接口,将所述解锁常量按照由高位到低位逐BIT的方式赋值给所述解锁/加锁变量。 [0031 ] 本实施例需预先创建解锁程序接口,实现该接口时,执行S_>K的赋值操作。 在本实施例中,所述解锁接口为独立的程序接口,设备断电时,在调用读写存储数据的接口之前,需要先调用该解锁接口进行解锁。在实现该解锁接口时,通过将所述解锁常量按照由高位到低位逐BIT的方式赋值给所述解锁/加锁变量。 优选的,在本实施例中,所述解锁接口实现时,将所述解锁常量按照由高位到低位逐BIT的方式赋值给所述解锁/加锁变量时,还在每个BIT赋值之后延时预设时长,即S->K的赋值方式为:高位到低位逐BIT进行赋值,每个BIT之后加一段延时,延时可以为N(N> =I)毫秒,例如1-5毫秒。 步骤S103,收到读写存储数据的程序指令,调用所述解锁接口。 步骤S104,判断所述解锁/加锁变量是否等于所述解锁常量,若是,调用存储数据的读写接口,执行读写存储数据的操作,若否,禁止读写存储数据。 本实施例中,读写存储单元中的存储数据之前必须调用解锁接口,并且判断变量K是否等于S,若不等于,则不予读写存储数据,返回;若是,调用读写数据的接口读写存储数据。由此可以在设备断电,在程序运行错乱时,保护存储单元的入口,使读写存储数据的操作无法成功执行,防止储单元中的数据被改写,保证用户使用体验。 较佳的,本实施例中,执行读写存储数据的操作之后,调用预设的加锁接口,将所述加锁常量赋值给所述解锁/加锁变量,以重新将存储单元读写接口进行保护。对应的,本实施例还需预先创建加锁程序接口,实现该接口时,执行Y->K的赋值操作。 如图2所示,本实施例中实现解锁接口的步骤如下: 步骤S201,执行(S&0x80) ->K。 本实施例中,即通过常量S与0x80进行与操作,将常量S中未赋值的最高位的值赋值给变量K的对应位。 步骤S202,延时2毫秒。 步骤S203,判断S_>K的赋值操作是否完成?若是,执行步骤S205,否则,执行步骤S204。 本实施例中,即判断是否将常量S中所有BIT位的值赋值给变量K的对应位,若是,执行步骤S205,否则,执行步骤S204。 步骤S204,S右移1BIT,返回步骤S201。 本实施例中,即准备将常量S中的下一 BIT位值赋值给变量K的对应位。 步骤S205,解锁接口实现完成,退出解锁接口。 通过本专利技术上述实施例,通过设置一个常量作为解锁常量,一个另一常量为加锁常量,创建一个变量作为解锁/加锁标志,创建解锁接口,将所述解锁常量按照由高位到低位逐BIT的方式赋值给所述解锁/加锁变量;收到读写存储数据的程序指令,调用所述解锁接口 ;判断所述解锁/加锁变量是否等于所述解锁常量,若是,调用存储数据的读写接口,执行读写存储数据的操作,若否,禁止读写存储数据。由于设备断电导致的程序错乱通常是瞬间性的,无法调用并实现所述解锁接口,由此防止了断电时程序运行错乱对存储器件中的数据进行改写,有效保护了用户存储器件中的重要数据。并且,本方案的保护机制实现方式简便,占用程序空间少,易于在不同的系统平台中移植。 以上所揭露的仅本文档来自技高网...
【技术保护点】
一种存储数据的读写保护方法,其特征在于,包括:设置解锁常量、加锁常量和解锁/加锁变量,将所述解锁/加锁变量的初始值设为所述加锁常量;创建解锁接口,将所述解锁常量按照由高位到低位逐BIT的方式赋值给所述解锁/加锁变量;收到读写存储数据的程序指令,调用所述解锁接口;判断所述解锁/加锁变量是否等于所述解锁常量,若是,调用存储数据的读写接口,执行读写存储数据的操作,若否,禁止读写存储数据。
【技术特征摘要】
1.一种存储数据的读写保护方法,其特征在于,包括: 设置解锁常量、加锁常量和解锁/加锁变量,将所述解锁/加锁变量的初始值设为所述加锁常量; 创建解锁接口,将所述解锁常量按照由高位到低位逐BIT的方式赋值给所述解锁/加锁变量; 收到读写存储数据的程序指令,调用所述解锁接口 ; 判断所述解锁/加锁变量是否等于所述解锁常量,若是,调用存储数据的读写接口,执行读写存储数据的操作,若否,禁止读写存储数据。2.根据权利要求1所述的存储数据的读写保护方法,其特征在于,执行读写存储数据的操作之后,还包括: 调用预设的加锁接口,将所述加锁常量赋值给所述解锁/加锁变量。3.根据权利要求1所述的存储数据...
【专利技术属性】
技术研发人员:何俊宏,
申请(专利权)人:深圳雷柏科技股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。