配置信息存取方法、设备及计算机可读存储介质

文档序号:152886 发布日期:2021-10-26 浏览:24次 >En<

阅读说明:本技术 配置信息存取方法、设备及计算机可读存储介质 (Configuration information access method, device and computer readable storage medium ) 是由 徐增国 于 2021-07-27 设计创作,主要内容包括:本发明公开了一种配置信息存取方法、设备及计算机可读存储介质,所述方法包括:当接收到配置信息写入请求时,将所述配置信息写入请求对应的待写入配置信息写入RAM中,再将RAM中的配置信息同步至Flash中,其中,RAM的属性被配置为不掉电重启时数据不被更新;当系统启动时,检测RAM中的配置信息是否有效;若RAM中的配置信息有效,则按照RAM中的配置信息执行系统启动操作,并检测Flash中的配置信息与RAM中的配置信息是否一致;若不一致,则将RAM中的配置信息同步至Flash中。本发明避免了配置信息在同步至Flash的过程中因异常重启导致同步至Flash中配置信息不准确时系统功能异常的情况发生。(The invention discloses a configuration information access method, a device and a computer readable storage medium, wherein the method comprises the following steps: when a configuration information writing request is received, writing the configuration information to be written corresponding to the configuration information writing request into an RAM, and synchronizing the configuration information in the RAM into Flash, wherein the attribute of the RAM is configured not to be updated when power is lost and data is restarted; when the system is started, detecting whether the configuration information in the RAM is effective; if the configuration information in the RAM is valid, executing system starting operation according to the configuration information in the RAM, and detecting whether the configuration information in the Flash is consistent with the configuration information in the RAM or not; and if the configuration information is inconsistent with the configuration information in the RAM, synchronizing the configuration information in the RAM into Flash. The invention avoids the occurrence of abnormal system function when the configuration information synchronized to Flash is inaccurate due to abnormal restart in the process of synchronizing the configuration information to Flash.)

配置信息存取方法、设备及计算机可读存储介质

技术领域

本发明涉及数据存储技术领域,尤其涉及一种配置信息存取方法、设备及计算机可读存储介质。

背景技术

蓝牙耳机产品在工厂生产过程中都会往产品中写入一些配置信息,比如硬件版本号、校准值等等。这些配置信息写入产品后会保存在产品的Flash中。产品启动过程中会从Flash中读取相关的配置信息,然后根据配置执行不同的处理操作。目前,配置信息在同步至Flash的过程中,可能会因异常重启,导致同步到Flash的配置信息不准确,或没有同步到Flash中,进而导致后续产品在开机过程中若读取到的配置信息不准确就会出系统功能异常的情况。

发明内容

本发明的主要目的在于提供一种配置信息存取方法、设备及计算机可读存储介质,旨在解决配置信息在同步至Flash的过程中,因异常重启导致同步至Flash中配置信息不准确时系统功能异常的技术问题。

为实现上述目的,本发明提供一种配置信息存取方法,所述方法包括以下步骤:

当接收到配置信息写入请求时,将所述配置信息写入请求对应的待写入配置信息写入RAM中,再将RAM中的配置信息同步至Flash中,其中,RAM的属性被配置为不掉电重启时数据不被更新;

当系统启动时,检测RAM中的配置信息是否有效;

若RAM中的配置信息有效,则按照RAM中的配置信息执行系统启动操作,并检测Flash中的配置信息与RAM中的配置信息是否一致;

若不一致,则将RAM中的配置信息同步至Flash中。

可选地,所述将RAM中的配置信息同步至Flash中的步骤包括:

将RAM中的配置信息同步至Flash的主分区,再检测Flash的主分区中的配置信息是否有效;

若Flash的主分区中的配置信息有效,则将RAM中的配置信息同步至Flash的备份区;

若Flash的主分区中的配置信息无效,则重试将RAM中的配置信息同步至Flash的主分区。

可选地,所述当接收到配置信息写入请求时,将所述配置信息写入请求对应的待写入配置信息写入RAM中的步骤包括:

当接收到配置信息写入请求时,检测RAM中的配置信息是否有效;

若RAM中的配置信息有效,则将所述配置信息写入请求对应的待写入配置信息写入RAM中;

若RAM中的配置信息无效,则读取并检测Flash中的配置信息是否有效;

若Flash中的配置信息有效,则将Flash中的配置信息同步至RAM后,将所述配置信息写入请求对应的待写入配置信息写入RAM中。

可选地,所述若RAM中的配置信息无效,则读取并检测Flash中的配置信息是否有效的步骤包括:

若RAM中的配置信息无效,则读取并检测Flash的主分区中的配置信息是否有效;

所述若Flash中的配置信息有效,则将Flash中的配置信息同步至RAM后,将所述配置信息写入请求对应的待写入配置信息写入RAM中的步骤包括:

若Flash的主分区中的配置信息有效,则将Flash的主分区中的配置信息同步至RAM后,将所述配置信息写入请求对应的待写入配置信息写入RAM中;

若Flash的主分区中的配置信息无效,则读取并检测Flash的备份区中的配置信息是否有效;

若Flash的备份区中的配置信息有效,则将Flash的备份区中的配置信息同步至RAM和Flash的主分区后,将所述配置信息写入请求对应的待写入配置信息写入RAM中。

可选地,所述若RAM中的配置信息无效,则读取并检测Flash中的配置信息是否有效的步骤之后,还包括:

若Flash中的配置信息无效,则将RAM和Flash中的配置信息重置为预设默认值后,将所述配置信息写入请求对应的待写入配置信息写入RAM中。

可选地,所述当系统启动时,检测RAM中的配置信息是否有效的步骤之后,还包括:

若RAM中的配置信息无效,则读取并检测Flash中的配置信息是否有效;

若Flash中的配置信息有效,则按照Flash中的配置信息执行系统启动操作,并将Flash中的配置信息同步至RAM中。

可选地,所述若RAM中的配置信息无效,则读取并检测Flash中的配置信息是否有效的步骤包括:

若RAM中的配置信息无效,则读取并检测Flash的主分区中的配置信息是否有效;

所述若Flash中的配置信息有效,则按照Flash中的配置信息执行系统启动操作,并将Flash中的配置信息同步至RAM中的步骤包括:

若Flash的主分区中的配置信息有效,则按照Flash的主分区中的配置信息执行系统启动操作,并将Flash的主分区中的配置信息同步至RAM中;

若Flash的主分区中的配置信息无效,则读取并检测Flash的备份区中的配置信息是否有效;

若Flash的备份区中的配置信息有效,则按照Flash的备份区中的配置信息执行系统启动操作,并将Flash的备份区中的配置信息同步至RAM和Flash的主分区中。

可选地,所述若RAM中的配置信息无效,则读取并检测Flash中的配置信息是否有效的步骤之后,还包括:

若Flash中的配置信息无效,则按照预设默认值执行系统启动操作,并将所述预设默认值作为配置信息写入RAM和Flash。

为实现上述目的,本发明还提供一种配置信息存取装置,所述装置包括:

写入模块,用于当接收到配置信息写入请求时,将所述配置信息写入请求对应的待写入配置信息写入RAM中,再将RAM中的配置信息同步至Flash中,其中,RAM的属性被配置为不掉电重启时数据不被更新;

第一检测模块,用于当系统启动时,检测RAM中的配置信息是否有效;

第二检测模块,用于若RAM中的配置信息有效,则按照RAM中的配置信息执行系统启动操作,并检测Flash中的配置信息与RAM中的配置信息是否一致;

同步模块,用于若不一致,则将RAM中的配置信息同步至Flash中。

为实现上述目的,本发明还提供一种配置信息存取设备,所述配置信息存取设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的配置信息存取程序,所述配置信息存取程序被所述处理器执行时实现如上所述的配置信息存取方法的步骤。

此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有配置信息存取程序,所述配置信息存取程序被处理器执行时实现如上所述的配置信息存取方法的步骤。

本发明中,通过将RAM的属性配置为不掉电重启数据不被更新,当接收到配置信息写入请求时,将配置信息写入请求对应的待写入配置信息写入RAM,再将RAM中的配置信息同步至Flash,在系统启动时,先从RAM中获取配置信息检测配置信息是否有效,若有效,则采用RAM中的配置信息执行后续的系统启动操作,并在Flash中的配置信息与RAM中的配置信息不一致时,将RAM中的配置信息同步至Flash中。实现了当在写入配置信息时如果发生异常重启,导致配置信息还没有同步到Flash或同步到Flash中的配置信息错误时,也可以从RAM中获取到有效的配置信息执行后续的系统启动操作,并通过将RAM中的有效配置信息同步至Flash,使得后续掉电后再启动系统时,也能够从Flash中获取到有效的配置信息执行后续的系统启动操作,保证系统功能正常运行。

附图说明

图1为本发明实施例方案涉及的硬件运行环境的结构示意图;

图2为本发明配置信息存取方法第一实施例的流程示意图;

图3为本发明实施例涉及的一种配置信息存储流程示意图;

图4为本发明实施例涉及的一种配置信息读取流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。

需要说明的是,本发明实施例配置信息存取设备可以是智能手机、个人计算机和服务器等设备,在此不做具体限制。

如图1所示,该配置信息存取设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的设备结构并不构成对配置信息存取设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及配置信息存取程序。操作系统是管理和控制设备硬件和软件资源的程序,支持配置信息存取程序以及其它软件或程序的运行。在图1所示的设备中,用户接口1003主要用于与客户端进行数据通信;网络接口1004主要用于与服务器建立通信连接;而处理器1001可以用于调用存储器1005中存储的配置信息存取程序,并执行以下操作:

当接收到配置信息写入请求时,将所述配置信息写入请求对应的待写入配置信息写入RAM中,再将RAM中的配置信息同步至Flash中,其中,RAM的属性被配置为不掉电重启时数据不被更新;

当系统启动时,检测RAM中的配置信息是否有效;

若RAM中的配置信息有效,则按照RAM中的配置信息执行系统启动操作,并检测Flash中的配置信息与RAM中的配置信息是否一致;

若不一致,则将RAM中的配置信息同步至Flash中。

进一步地,所述将RAM中的配置信息同步至Flash中包括:

将RAM中的配置信息同步至Flash的主分区,再检测Flash的主分区中的配置信息是否有效;

若Flash的主分区中的配置信息有效,则将RAM中的配置信息同步至Flash的备份区;

若Flash的主分区中的配置信息无效,则重试将RAM中的配置信息同步至Flash的主分区。

进一步地,所述当接收到配置信息写入请求时,将所述配置信息写入请求对应的待写入配置信息写入RAM中包括:

当接收到配置信息写入请求时,检测RAM中的配置信息是否有效;

若RAM中的配置信息有效,则将所述配置信息写入请求对应的待写入配置信息写入RAM中;

若RAM中的配置信息无效,则读取并检测Flash中的配置信息是否有效;

若Flash中的配置信息有效,则将Flash中的配置信息同步至RAM后,将所述配置信息写入请求对应的待写入配置信息写入RAM中。

进一步地,所述若RAM中的配置信息无效,则读取并检测Flash中的配置信息是否有效包括:

若RAM中的配置信息无效,则读取并检测Flash的主分区中的配置信息是否有效;

所述若Flash中的配置信息有效,则将Flash中的配置信息同步至RAM后,将所述配置信息写入请求对应的待写入配置信息写入RAM中包括:

若Flash的主分区中的配置信息有效,则将Flash的主分区中的配置信息同步至RAM后,将所述配置信息写入请求对应的待写入配置信息写入RAM中;

若Flash的主分区中的配置信息无效,则读取并检测Flash的备份区中的配置信息是否有效;

若Flash的备份区中的配置信息有效,则将Flash的备份区中的配置信息同步至RAM和Flash的主分区后,将所述配置信息写入请求对应的待写入配置信息写入RAM中。

进一步地,所述若RAM中的配置信息无效,则读取并检测Flash中的配置信息是否有效之后,处理器1001还可以用于调用存储器1005中存储的配置信息存取程序,执行以下操作:

若Flash中的配置信息无效,则将RAM和Flash中的配置信息重置为预设默认值后,将所述配置信息写入请求对应的待写入配置信息写入RAM中。

进一步地,所述当系统启动时,检测RAM中的配置信息是否有效之后,处理器1001还可以用于调用存储器1005中存储的配置信息存取程序,执行以下操作:

若RAM中的配置信息无效,则读取并检测Flash中的配置信息是否有效;

若Flash中的配置信息有效,则按照Flash中的配置信息执行系统启动操作,并将Flash中的配置信息同步至RAM中。

进一步地,所述若RAM中的配置信息无效,则读取并检测Flash中的配置信息是否有效包括:

若RAM中的配置信息无效,则读取并检测Flash的主分区中的配置信息是否有效;

所述若Flash中的配置信息有效,则按照Flash中的配置信息执行系统启动操作,并将Flash中的配置信息同步至RAM中包括:

若Flash的主分区中的配置信息有效,则按照Flash的主分区中的配置信息执行系统启动操作,并将Flash的主分区中的配置信息同步至RAM中;

若Flash的主分区中的配置信息无效,则读取并检测Flash的备份区中的配置信息是否有效;

若Flash的备份区中的配置信息有效,则按照Flash的备份区中的配置信息执行系统启动操作,并将Flash的备份区中的配置信息同步至RAM和Flash的主分区中。

进一步地,所述若RAM中的配置信息无效,则读取并检测Flash中的配置信息是否有效之后,处理器1001还可以用于调用存储器1005中存储的配置信息存取程序,执行以下操作:

若Flash中的配置信息无效,则按照预设默认值执行系统启动操作,并将所述预设默认值作为配置信息写入RAM和Flash。

基于上述的结构,提出配置信息存取方法的各个实施例。

参照图2,图2为本发明配置信息存取方法第一实施例的流程示意图。

本发明实施例提供了配置信息存取方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本发明配置信息存取方法应用于蓝牙耳机,也可以应用于智能手机、个人计算机和服务器等设备,为便于描述,以下省略执行主体进行各实施例的阐述。在本实施例中,配置信息存取方法包括:

步骤S10,当接收到配置信息写入请求时,将所述配置信息写入请求对应的待写入配置信息写入RAM中,再将RAM中的配置信息同步至Flash中,其中,RAM的属性被配置为不掉电重启时数据不被更新;

当接收到配置信息写入请求时,将配置信息写入请求对应的待写入配置信息写入RAM(一种易失性随机存取存储器)中。其中,配置信息写入请求可以是在产品生产时由生产线上的写入设备接入产品,向产品发送或在产品中触发的写入配置信息的请求,或者,也可以是在用户使用产品时通过用户终端中可供修改产品配置信息的APP触发用户终端向产品发送写入配置信息的请求。配置信息写入请求对应的待写入配置信息可以是指配置信息写入请求中携带的需要写入到产品中的配置信息,也可以是指在配置信息写入请求之后发送的需要写入到产品中的配置信息。RAM的属性被配置为不掉电重启时数据不被更新,那么当待写入配置信息写入RAM后,如果发生异常重启还没来得及将配置信息同步到Flash(一种非易失性随机访问存储器),RAM中的配置信息还在,从而可以适用RAM中的配置信息执行后续的系统启动操作。

需要说明的是,配置信息一般有多项,如硬件版本号、校准值等等,一般是产品掉电后不能丢失的数据,在系统启动时需要使用,例如根据不同的配置信息启动不同的功能。在本实施例中,待写入配置信息可包括全部配置信息项,以使得待写入配置信息写入RAM后,系统可以直接从RAM中获取配置信息执行后续系统启动操作。

在根据配置信息写入请求将待写入配置信息写入RAM后,将RAM中的配置信息同步至Flash中。具体地,可以采用RAM中的配置信息覆盖Flash中对应的配置信息项。

在一实施方式中,Flash中可以划分主分区和备份区,可将RAM中的配置信息同步至Flash的主分区和备份区,避免主分区的配置信息丢失或出错时,可以采用备份区的配置信息进行恢复,提高配置信息的存储可靠性。

步骤S20,当系统启动时,检测RAM中的配置信息是否有效;

每当系统启动,需要获取配置信息按照配置信息执行后续的系统启动操作时,可先从RAM中获取配置信息。具体地,可先检测RAM中的配置信息是否有效;检测方式可参照现有的配置信息有效性检测方法,例如,可以通过检测magic number(魔术字)是否是预先设置的固定值,格式版本号是否与预先设置的版本号相同,对整个数据区进行CRC(CyclicRedundancy Check,循环冗余校验码)校验等进行有效性检测。

步骤S30,若RAM中的配置信息有效,则按照RAM中的配置信息执行系统启动操作,并检测Flash中的配置信息与RAM中的配置信息是否一致;

若RAM中的配置信息有效,则可按照RAM中的配置信息执行后续的系统启动操作。需要说明的是,由于RAM的属性被配置为不掉电重启时数据不被更新,因此如果系统启动时RAM中的配置信息有效,说明系统是不掉电重启的,RAM中的配置信息是最新写入的配置信息,因此,可以采用RAM中有效的配置信息执行后续的系统启动操作,保证系统功能的正常运行。若RAM中的配置信息有效,则可以检测Flash中的配置信息与RAM中的配置信息是否一致,如果一致,说明RAM中最新写入的配置信息已成功同步到了Flash中,此时,可以不做操作。

步骤S40,若不一致,则将RAM中的配置信息同步至Flash中。

若Flash中的配置信息与RAM中的配置信息不一致,则说明在重启前,RAM中最新写入的配置信息还没有同步到Flash中或同步到Flash中的配置信息是错误的,此时,可以将RAM中的配置信息同步至Flash中,以使得下一次系统掉电后再启动时,可以从Flash中获取到有效的配置信息执行后续的系统启动操作,从而避免在写入配置信息时由于异常重启配置信息没有同步到Flash或同步到Flash中的配置信息错误而导致系统启动异常的情况发生。

在本实施例中,通过将RAM的属性配置为不掉电重启数据不被更新,当接收到配置信息写入请求时,将配置信息写入请求对应的待写入配置信息写入RAM,再将RAM中的配置信息同步至Flash,在系统启动时,先从RAM中获取配置信息检测配置信息是否有效,若有效,则采用RAM中的配置信息执行后续的系统启动操作,并在Flash中的配置信息与RAM中的配置信息不一致时,将RAM中的配置信息同步至Flash中。实现了当在写入配置信息时如果发生异常重启,导致配置信息还没有同步到Flash或同步到Flash中的配置信息错误时,也可以从RAM中获取到有效的配置信息执行后续的系统启动操作,并通过将RAM中的有效配置信息同步至Flash,使得后续掉电后再启动系统时,也能够从Flash中获取到有效的配置信息执行后续的系统启动操作,保证系统功能正常运行。

进一步地,在一实施方式中,所述步骤S10和/或步骤S40中将RAM中的配置信息同步至Flash中的步骤包括:

步骤a,将RAM中的配置信息同步至Flash的主分区,再检测Flash的主分区中的配置信息是否有效;

Flash中可以划分主分区和备份区,可将RAM中的配置信息同步至Flash的主分区和备份区,避免主分区的配置信息丢失或出错时,可以采用备份区的配置信息进行恢复,提高配置信息的存储可靠性。具体地,在将待写入配置信息写入RAM后,可以将RAM中的配置信息同步至Flash的主分区,再获取Flash的主分区中的配置信息检测是否有效,以确定是否同步成功。检测Flash主分区中的配置信息有效性的方法可以参照上述实施例中检测RAM中配置信息有效性的方法,在此不进行赘述。

步骤b,若Flash的主分区中的配置信息有效,则将RAM中的配置信息同步至Flash的备份区;

如果Flash的主分区中的配置信息有效,则说明同步成功,可以将RAM中的配置信息再同步到Flash的备份区。进一步地,也可以在同步至Flash的备份区后,检测Flash备份区中的配置信息是否有效,若无效,则进行重试,也即,再次将RAM中的配置信息同步至Flash备份区,如果同步成功则不再重试,或者重试次数达到一个预设的上限就不再重试,并可进行报错。其中,检测Flash备份区中的配置信息有效性的方法可以参照上述实施例中检测RAM中配置信息有效性的方法,在此不进行赘述。

步骤c,若Flash的主分区中的配置信息无效,则重试将RAM中的配置信息同步至Flash的主分区。

如果Flash的主分区中的配置信息无效,则说明同步失败,此时可以进行重试,也即再次将RAM中的配置信息同步至Flash的主分区。进一步地,可以在同步成功后不再重试,或者重试次数达到一个预设的上限就不再重试,并可进行报错。

在本实施例中,通过在将待写入配置信息写入RAM后,将RAM中的配置信息同步至Flash中,并检测Flash中的配置信息是否有效,无效则进行重试,提高了Flash中配置信息的可靠性,从而避免了因写入Flash中的配置信息无效而导致系统启动异常的情况发生。

进一步地,基于上述第一实施例,提出本发明配置信息存取方法的第二实施例,在本实施例中,所述步骤S10中当接收到配置信息写入请求时,将所述配置信息写入请求对应的待写入配置信息写入RAM中的步骤包括:

步骤S101,当接收到配置信息写入请求时,检测RAM中的配置信息是否有效;

步骤S102,若RAM中的配置信息有效,则将所述配置信息写入请求对应的待写入配置信息写入RAM中;

在本实施例中,待写入配置信息可以只包括部分配置信息项,也可以包括全部配置信息项,具体根据写入场景和用户需求不同而不同;例如,一般首次写入配置信息或需要对配置信息全部更新时,待写入配置信息包括全部项,仅需对部分配置信息进行更新时,待写入配置信息可只包括需要更新的项。

当接收到配置信息写入请求时,可先检测RAM中的配置信息是否有效。若RAM中的配置信息有效,则说明RAM中已包括全部配置信息项,且是有效的,此时,可以直接将待写入配置信息写入RAM中。如果待写入配置信息只包括部分项,则可以采用待写入配置信息更新RAM中的对应配置信息项。

步骤S103,若RAM中的配置信息无效,则读取并检测Flash中的配置信息是否有效;

步骤S104,若Flash中的配置信息有效,则将Flash中的配置信息同步至RAM后,将所述配置信息写入请求对应的待写入配置信息写入RAM中。

若RAM中的配置信息无效,则说明RAM中的配置信息错误,或者说是在掉电重启后被其他数据覆盖了,此时,可以读取并检测Flash中的配置信息是否有效,如果Flash中的配置信息有效,则可以先将Flash中的配置信息同步至RAM后,再将待写入配置信息写入RAM中。需要说明的是,如果待写入配置信息只包括部分项,采用部分项更新RAM中无效的配置信息后RAM中的配置信息仍然是无效的,将RAM中的配置信息同步至Flash,就会导致Flash中的配置信息也无效,因此,在本实施例中,通过在检测到RAM中配置信息无效时,先将Flash中有效的配置信息同步至RAM后,保证在RAM中配置信息有效的情况下写入待写入配置信息,从而保证同步至Flash中的配置信息是有效的,进而保证系统能够正常启动。

需要说明的是,当待写入配置信息包括部分配置信息项时,采用待写入配置信息更新RAM中的对应配置信息项后,可以重新计算并更新RAM中配置信息的CRC校验值,在将RAM中的配置信息同步到Flash后,根据更新后的检测Flash中配置信息的有效性。

进一步地,在一实施方式中,所述步骤S103包括:

步骤S1031,若RAM中的配置信息无效,则读取并检测Flash的主分区中的配置信息是否有效;

Flash中可以划分主分区和备份区,当接收到配置信息写入请求时,若检测到RAM中的配置信息无效,则可以先读取并检测Flash的主分区中的配置信息是否有效。

所述步骤S104包括:

步骤S1041,若Flash的主分区中的配置信息有效,则将Flash的主分区中的配置信息同步至RAM后,将所述配置信息写入请求对应的待写入配置信息写入RAM中;

若Flash的主分区中的配置信息有效,则可以先将Flash的主分区中的配置信息同步至RAM后,再将待写入配置信息写入RAM中,以保证在RAM中配置信息有效的情况下写入待写入配置信息,从而保证同步至Flash中的配置信息是有效的,进而保证系统能够正常启动。

步骤S1042,若Flash的主分区中的配置信息无效,则读取并检测Flash的备份区中的配置信息是否有效;

步骤S1043,若Flash的备份区中的配置信息有效,则将Flash的备份区中的配置信息同步至RAM和Flash的主分区后,将所述配置信息写入请求对应的待写入配置信息写入RAM中。

若Flash的主分区中的配置信息无效,则可以再读取并检测Flash的备份区中的配置信息是否有效,如果Flash的备份区中的配置信息有效,则先将Flash的备份区中的配置信息同步至RAM和Flash的主分区后,再将待写入配置信息写入RAM,以保证在RAM中配置信息有效的情况下写入待写入配置信息,从而保证同步至Flash中的配置信息是有效的,进而保证系统能够正常启动。

进一步地,在一实施方式中,所述步骤S103之后,还包括:

步骤S105,若Flash中的配置信息无效,则将RAM和Flash中的配置信息重置为预设默认值后,将所述配置信息写入请求对应的待写入配置信息写入RAM中。

如果在RAM中配置信息无效的情况下,检测到Flash中的配置信息也无效,则可以将RAM和Flash中的配置信息重置为预设默认值。其中,预设默认值是预先在代码中设置的有效的一套配置信息,该配置信息虽然不一定是最新的,但是能够保证是有效的,以使得系统能够正常启动。在将RAM和Flash中的配置信息重置为预设默认值后,再将待写入配置信息写入RAM中,从而避免只写入部分配置信息项时因RAM中配置信息无效导致同步至Flash的配置信息也无效的情况发生,也即,保证了系统能够正常启动。

需要说明的是,当Flash分为主分区和备份区时,Flash中的配置信息无效可以是指主分区和备份区中的配置信息均无效。

在一实施例中,当接收到配置信息写入请求时,可按照如图3所示的流程步骤将配置信息写入RAM和同步至Flash中。

进一步地,基于上述第一和/或第二实施例,提出本发明配置信息存取方法的第三实施例,在本实施例中,所述步骤S20之后,还包括:

步骤S50,若RAM中的配置信息无效,则读取并检测Flash中的配置信息是否有效;

在系统启动时,若检测到RAM中的配置信息无效,则说明系统可能是掉电后在启动的,或者是RAM中的配置信息出错了,此时,可以读取并检测Flash中的配置信息是否有效。

步骤S60,若Flash中的配置信息有效,则按照Flash中的配置信息执行系统启动操作,并将Flash中的配置信息同步至RAM中。

若Flash中的配置信息有效,则可以按照Flash中的配置信息执行后续的系统启动操作,保证系统能够正常启动和运行。若Flash中的配置信息有效,则可以将Flash中的配置信息同步至RAM中,以使得在系统运行过程若因为异常而不掉电重启时,可以直接从RAM中快速地获取到配置信息执行后续的系统启动操作,提高系统的启动速度。

进一步地,在一实施方式中,所述步骤S50包括:

步骤S501,若RAM中的配置信息无效,则读取并检测Flash的主分区中的配置信息是否有效;

Flash中可以划分主分区和备份区,在系统启动时,若检测到RAM中的配置信息无效,则可以先读取并检测Flash的主分区中的配置信息是否有效。

所述步骤S60包括:

步骤S601,若Flash的主分区中的配置信息有效,则按照Flash的主分区中的配置信息执行系统启动操作,并将Flash的主分区中的配置信息同步至RAM中;

若Flash的主分区中的配置信息有效,则按照Flash的主分区中的配置信息执行系统启动操作,保证系统能够正常启动和运行。若Flash的主分区中的配置信息有效,则还可以将Flash的主分区中的配置信息同步至RAM中,以使得在系统运行过程若因为异常而不掉电重启时,可以直接从RAM中快速地获取到配置信息执行后续的系统启动操作,提高系统的启动速度。

步骤S602,若Flash的主分区中的配置信息无效,则读取并检测Flash的备份区中的配置信息是否有效;

步骤S603,若Flash的备份区中的配置信息有效,则按照Flash的备份区中的配置信息执行系统启动操作,并将Flash的备份区中的配置信息同步至RAM和Flash的主分区中。

若Flash的主分区中的配置信息无效,则可以再读取并检测Flash的备份区中的配置信息是否有效,若Flash的备份区中的配置信息有效,则可以按照Flash的备份区中的配置信息执行系统启动操作,以保证系统能够正常启动和运行。若Flash的备份区中的配置信息有效,则还可以将Flash的备份区中的配置信息同步至RAM,以使得在系统运行过程若因为异常而不掉电重启时,可以直接从RAM中快速地获取到配置信息执行后续的系统启动操作,提高系统的启动速度。若Flash的备份区中的配置信息有效,则还可以将Flash的备份区中的配置信息同步至Flash的主分区中,以使得下一次掉电重启时,可以直接从Flash主分区中获取到有效的配置信息执行后续的系统启动操作。

进一步地,在一实施方式中,所述步骤S50之后,还包括:

步骤S60,若Flash中的配置信息无效,则按照预设默认值执行系统启动操作,并将所述预设默认值作为配置信息写入RAM和Flash。

如果在RAM中配置信息无效的情况下,检测到Flash中的配置信息也无效,则可以按照预设默认值执行系统启动操作。其中,预设默认值是预先在代码中设置的有效的一套配置信息,该配置信息虽然不一定是最新的,但是能够保证是有效的,以使得系统能够正常启动。在RAM和Flash中的配置信息均无效的情况下,还可以将预设默认值作为配置信息写入RAM,以使得在系统运行过程若因为异常而不掉电重启时,可以直接从RAM中快速地获取到配置信息执行后续的系统启动操作,提高系统的启动速度。在RAM和Flash中的配置信息均无效的情况下,还可以将预设默认值作为配置信息写入Flash,以使得下一次掉电重启时,可以直接从Flash中获取到有效的配置信息执行后续的系统启动操作,保证系统正常启动。

需要说明的是,当Flash分为主分区和备份区时,Flash中的配置信息无效可以是指主分区和备份区中的配置信息均无效。

在一实施方式中,当需要从RAM、Flash的主分区和备份区其中一个存储区同步配置信息至其中另一个存储区时,可以在同步后检测是否同步成功,也即检测同步后的配置信息是否有效,若无效,则进行重试,直到同步成功时停止重试,或重试次数达到上限时进行报错。

在一实施例中,当系统启动时,可按照如图4所示的流程步骤获取配置信息进行后续的系统启动操作。

此外,本发明实施例还提出一种配置信息存取装置,所述装置包括:

写入模块,用于当接收到配置信息写入请求时,将所述配置信息写入请求对应的待写入配置信息写入RAM中,再将RAM中的配置信息同步至Flash中,其中,RAM的属性被配置为不掉电重启时数据不被更新;

第一检测模块,用于当系统启动时,检测RAM中的配置信息是否有效;

第二检测模块,用于若RAM中的配置信息有效,则按照RAM中的配置信息执行系统启动操作,并检测Flash中的配置信息与RAM中的配置信息是否一致;

同步模块,用于若不一致,则将RAM中的配置信息同步至Flash中。

进一步地,所述写入模块还用于:

将RAM中的配置信息同步至Flash的主分区,再检测Flash的主分区中的配置信息是否有效;

若Flash的主分区中的配置信息有效,则将RAM中的配置信息同步至Flash的备份区;

若Flash的主分区中的配置信息无效,则重试将RAM中的配置信息同步至Flash的主分区。

进一步地,所述写入模块还用于:

当接收到配置信息写入请求时,检测RAM中的配置信息是否有效;

若RAM中的配置信息有效,则将所述配置信息写入请求对应的待写入配置信息写入RAM中;

若RAM中的配置信息无效,则读取并检测Flash中的配置信息是否有效;

若Flash中的配置信息有效,则将Flash中的配置信息同步至RAM后,将所述配置信息写入请求对应的待写入配置信息写入RAM中。

进一步地,所述写入模块还用于:

若RAM中的配置信息无效,则读取并检测Flash的主分区中的配置信息是否有效;

若Flash的主分区中的配置信息有效,则将Flash的主分区中的配置信息同步至RAM后,将所述配置信息写入请求对应的待写入配置信息写入RAM中;

若Flash的主分区中的配置信息无效,则读取并检测Flash的备份区中的配置信息是否有效;

若Flash的备份区中的配置信息有效,则将Flash的备份区中的配置信息同步至RAM和Flash的主分区后,将所述配置信息写入请求对应的待写入配置信息写入RAM中。

进一步地,所述装置还包括:

重置模块,用于若Flash中的配置信息无效,则将RAM和Flash中的配置信息重置为预设默认值后,将所述配置信息写入请求对应的待写入配置信息写入RAM中。

进一步地,所述装置还包括:

第三检测模块,用于若RAM中的配置信息无效,则读取并检测Flash中的配置信息是否有效;

所述同步模块还用于若Flash中的配置信息有效,则按照Flash中的配置信息执行系统启动操作,并将Flash中的配置信息同步至RAM中。

进一步地,所述第三检测模块还用于:

若RAM中的配置信息无效,则读取并检测Flash的主分区中的配置信息是否有效;

所述同步模块还用于:

若Flash的主分区中的配置信息有效,则按照Flash的主分区中的配置信息执行系统启动操作,并将Flash的主分区中的配置信息同步至RAM中;

若Flash的主分区中的配置信息无效,则读取并检测Flash的备份区中的配置信息是否有效;

若Flash的备份区中的配置信息有效,则按照Flash的备份区中的配置信息执行系统启动操作,并将Flash的备份区中的配置信息同步至RAM和Flash的主分区中。

进一步地,所述装置还包括:

所述写入模块还用于若Flash中的配置信息无效,则按照预设默认值执行系统启动操作,并将所述预设默认值作为配置信息写入RAM和Flash。

本发明配置信息存取装置的具体实施方式的拓展内容与上述配置信息存取方法各实施例基本相同,在此不做赘述。

此外,本发明实施例还提出一种计算机可读存储介质,所述存储介质上存储有配置信息存取程序,所述配置信息存取程序被处理器执行时实现如下所述的配置信息存取方法的步骤。

本发明配置信息存取设备和计算机可读存储介质的各实施例,均可参照本发明配置信息存取方法各个实施例,此处不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

18页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种单片机程序在线升级方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!