System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于MCU片内flash的数据存储方法技术_技高网

一种基于MCU片内flash的数据存储方法技术

技术编号:40003543 阅读:7 留言:0更新日期:2024-01-09 04:21
本发明专利技术公开了一种基于MCU片内flash的数据存储方法,包括以下步骤:S1:将Flash存储器进行格式化;S2:在FLASH中分配N个扇区为存储扇区,每个存储扇区均分为主存储区和备份存储区;S3:将需要写入的数据依次存储到存储扇区;写满一个存储扇区,才能继续向下一个存储扇区写入数据;S4:每个存储扇区的主存储区和备份存储区均写入相同的数据。本发明专利技术,通过分区,可合理存储数据,存储合理有序;通过设置的主存储区和备份存储区,可起到备份存储的作用。

【技术实现步骤摘要】

本专利技术涉及数据存储,具体是一种基于mcu片内flash的数据存储方法。


技术介绍

1、flash存储器是一种具备电子可擦除可编程性能,可快速读取数据,数据不因为断电而丢失的存储芯片。微控制器(mcu)片内设置有flash存储器,微控制器将各种数据快速保存至flash存储器中。

2、flash作为一种存储介质,在存储领域得到广泛的应用。flash在物理结构上分成若干个物理区块(block),区块之间相互独立,其自身具有以下特性:(1)由于flash的写操作只能将数据位从1写成0,不能从0写成1,所以在对flash存储器进行写入之前必须先执行擦操作,将预写入的数据位初始化为1,且擦除操作的最小单位是一个区块,而不是单个字节;(2)flash的擦写寿命有次数限制;(3)flash在使用过程中,可能导致某些区块的损坏,而区块一旦损坏,将无法进行修复;(4)由于flash固有的电器特性,在读写数据过程中,偶然会产生一位或几位数据错误,这称为位反转,位反转无法避免,只能通过其他手段对结果进行事后处理;(5)块擦除的时间比较长。

3、现有的mcu片内flash的数据存储,其无法对数据进行很好的分区,导致数据存储较为混乱,且不具有备份功能,为此,我们提出一种基于mcu片内flash的数据存储方法。


技术实现思路

1、本专利技术的目的在于提供一种基于mcu片内flash的数据存储方法,以解决现有技术中的问题。

2、为实现上述目的,本专利技术提供如下技术方案:一种基于mcu片内flash的数据存储方法,包括以下步骤:

3、s1:将flash存储器进行格式化;

4、s2:在flash中分配n个扇区为存储扇区,每个存储扇区均分为主存储区和备份存储区;

5、s3:将需要写入的数据依次存储到存储扇区;写满一个存储扇区,才能继续向下一个存储扇区写入数据;

6、s4:每个存储扇区的主存储区和备份存储区均写入相同的数据。

7、优选的,所述存储扇区的主存储区写入数据后,读取该存储扇区的主存储区写入的数据,并将数据写入对应存储扇区的备份存储区。

8、优选的,所述n个扇区采用连续的的扇区。

9、优选的,所述主存储区和备份存储区均包括索引区和数据区,写入数据的方法是:首先将数据写入存储区的数据区,再将数据的索引号写入存储区的索引区。

10、优选的,所述主存储区和备份存储区均包括多个相互对应的相应页;将待存储的数据的字节依次分别存储到主存储区的一个相应页和备份储存区的相应相应页,并且在主存储区的该相应页存储完数据的最后一个字节时,添加一个预定的有效性鉴别标志。

11、优选的,更新主存储区的相应页上的数据时,mcu读出相应页上的数据至mcu的ram中并更新待修改的字节,mcu擦除主存储区中相应页上存储的数据,将ram中更新后的数据的字节依次写入主存储区中相应页上;如果写完最后一个字节时,则在主存储区中相应页上再写入预定的有效性鉴别标志数据,mcu擦除备份存储区的相应相应页上的数据,将ram中更新后的数据的字节依次写入备份储区中相应页上,如果写完最后一个字节时,则再写入该预定的有效性鉴别标志数据;如果未写完所有字节,则不在主存储区中相应页上写入预定的有效性鉴别标志数据。

12、优选的,mcu执行初始化操作,即mcu检测主存储区的相应页上是否存在预定的有效性鉴别标志,如果存在,mcu将读取主存储区的该相应页上存储的数据至ram,然后删除备份存储区数据,再将ram内数据写入备份存储区;如果不存在,则mcu读出备份储存区的相应相应页上存储的数据至ram,然后删除主存储区上的数据,再将ram内的数据写入到相应的主存储区的相应页上。

13、与现有技术相比,本专利技术的有益效果是:将flash存储器进行格式化;在flash中分配n个扇区为存储扇区,每个存储扇区均分为主存储区和备份存储区;将需要写入的数据依次存储到存储扇区;写满一个存储扇区,才能继续向下一个存储扇区写入数据;每个存储扇区的主存储区和备份存储区均写入相同的数据;通过分区,可合理存储数据,存储合理有序;通过设置的主存储区和备份存储区,可起到备份存储的作用。

本文档来自技高网...

【技术保护点】

1.一种基于MCU片内flash的数据存储方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的一种基于MCU片内flash的数据存储方法,其特征在于:所述存储扇区的主存储区写入数据后,读取该存储扇区的主存储区写入的数据,并将数据写入对应存储扇区的备份存储区。

3.根据权利要求1所述的一种基于MCU片内flash的数据存储方法,其特征在于:所述N个扇区采用连续的的扇区。

4.根据权利要求1所述的一种基于MCU片内flash的数据存储方法,其特征在于:所述主存储区和备份存储区均包括索引区和数据区,写入数据的方法是:首先将数据写入存储区的数据区,再将数据的索引号写入存储区的索引区。

5.根据权利要求1所述的一种基于MCU片内flash的数据存储方法,其特征在于:所述主存储区和备份存储区均包括多个相互对应的相应页;将待存储的数据的字节依次分别存储到主存储区的一个相应页和备份储存区的相应相应页,并且在主存储区的该相应页存储完数据的最后一个字节时,添加一个预定的有效性鉴别标志。

6.根据权利要求5所述的一种基于MCU片内flash的数据存储方法,其特征在于:更新主存储区的相应页上的数据时,MCU读出相应页上的数据至MCU的RAM中并更新待修改的字节,MCU擦除主存储区中相应页上存储的数据,将RAM中更新后的数据的字节依次写入主存储区中相应页上;如果写完最后一个字节时,则在主存储区中相应页上再写入预定的有效性鉴别标志数据,MCU擦除备份存储区的相应相应页上的数据,将RAM中更新后的数据的字节依次写入备份储区中相应页上,如果写完最后一个字节时,则再写入该预定的有效性鉴别标志数据;如果未写完所有字节,则不在主存储区中相应页上写入预定的有效性鉴别标志数据。

7.根据权利要求6所述的一种基于MCU片内flash的数据存储方法,其特征在于:MCU执行初始化操作,即MCU检测主存储区的相应页上是否存在预定的有效性鉴别标志,如果存在,MCU将读取主存储区的该相应页上存储的数据至RAM,然后删除备份存储区数据,再将RAM内数据写入备份存储区;如果不存在,则MCU读出备份储存区的相应相应页上存储的数据至RAM,然后删除主存储区上的数据,再将RAM内的数据写入到相应的主存储区的相应页上。

...

【技术特征摘要】

1.一种基于mcu片内flash的数据存储方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的一种基于mcu片内flash的数据存储方法,其特征在于:所述存储扇区的主存储区写入数据后,读取该存储扇区的主存储区写入的数据,并将数据写入对应存储扇区的备份存储区。

3.根据权利要求1所述的一种基于mcu片内flash的数据存储方法,其特征在于:所述n个扇区采用连续的的扇区。

4.根据权利要求1所述的一种基于mcu片内flash的数据存储方法,其特征在于:所述主存储区和备份存储区均包括索引区和数据区,写入数据的方法是:首先将数据写入存储区的数据区,再将数据的索引号写入存储区的索引区。

5.根据权利要求1所述的一种基于mcu片内flash的数据存储方法,其特征在于:所述主存储区和备份存储区均包括多个相互对应的相应页;将待存储的数据的字节依次分别存储到主存储区的一个相应页和备份储存区的相应相应页,并且在主存储区的该相应页存储完数据的最后一个字节时,添加一个预定的有效性鉴别标志。

6.根据权利要求5所述的一种基于mc...

【专利技术属性】
技术研发人员:祝苏明
申请(专利权)人:江苏新安电器股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1