[发明专利]一种环境变量写入方法、存储介质及电子装置有效
| 申请号: | 201910996254.6 | 申请日: | 2019-10-18 |
| 公开(公告)号: | CN110764704B | 公开(公告)日: | 2023-09-05 |
| 发明(设计)人: | 邵培杰 | 申请(专利权)人: | 浙江大华技术股份有限公司 |
| 主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F11/10;G06F11/14 |
| 代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 张周洋 |
| 地址: | 310051 浙江*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 环境变量 写入 方法 存储 介质 电子 装置 | ||
本发明提供了一种环境变量写入方法、存储介质及电子装置,方法包括在存储区的第一空闲空间的容量大于或等于待写入的第一环境变量所需要占用的第一空间的情况下,将第一环境变量写入存储区,在第一空闲空间的容量小于第一空间的情况下,删除第二环境变量,第二环境变量为存储区中已存储的无效的环境变量,将第一环境变量写入删除了第二环境变量的存储区,通过本发明,可以在存储区写满内容后再进行擦除,不需要每次写入操作都对存储单元进行擦操作,解决了相关技术中写入环境变量效率低下的问题,从而大大加快环境变量的写入速度,提高了写入效率,并且大幅减慢存储单元的磨损速度。
技术领域
本发明涉及通信领域,具体而言,涉及一种环境变量写入方法、存储介质及电子装置。
背景技术
在嵌入式系统中,Bootloader环境变量主要用来存取嵌入式设备的启动参数、设备名称、序列号、MAC地址等信息。Bootloader环境变量存储在NVM非易失性存储器中,一般为FLASH闪存。
目前,最为常用的嵌入式Bootloader是u-boot。u-boot存取环境变量的方法是在FLASH中划出一小段空间作为环境变量存储空间,记作bootenv分区,bootenv分区首地址存放环境变量的校验和(CRC32)与环境变量具体内容,环境变量内容以key1=value1\x00、key2=value2\x00……keyN=valueN\x00\x00格式存储(\x00为C语言字符串结束符)。当写入环境变量时,u-boot先读取bootenv分区中的原有数据,在内存进行修改,重新计算校验和,再将bootenv分区整体擦除,最后将内存中新的数据写回FLASH,总共经历读FLASH、内存修改、计算校验和、擦FLASH、写FLASH五个步骤。依据FLASH物理特性可知上述五个步骤中擦FLASH操作的速度最慢,读写FLASH次之,且擦FLASH引起FLASH磨损的主要原因。通常FLASH的擦写寿命在数千到数万次不等,u-boot上述存取方法在频繁读写环境变量的工况下不仅效率低下,而且极易造成FLASH寿命大幅降低。另外,如果在环境变量写入或擦除操作过程中出现断电等异常情况,会造成环境变量数据丢失,从而导致系统运行异常。
针对相关技术中写入环境变量效率低下的问题尚不存在解决方案。
发明内容
本发明实施例提供了一种环境变量写入方法、存储介质及电子装置,以至少解决相关技术中写入环境变量效率低下的问题。
根据本发明的一个实施例,提供了一种环境变量写入方法,包括:在存储区的第一空闲空间的容量大于或等于待写入的第一环境变量所需要占用的第一空间的情况下,将所述第一环境变量写入所述存储区;
在所述第一空闲空间的容量小于所述第一空间的情况下,删除第二环境变量,以使所述存储区的第一空闲空间的容量大于或等于所述第一空间,其中,所述第二环境变量为所述存储区中已存储的无效的环境变量;将所述第一环境变量写入删除了所述第二环境变量的所述存储区。
可选地,删除所述第二环境变量,包括:
将所述存储区中所存储的第三环境变量读出到内存中,并删除读出的所述第三环境变量中的所述第二环境变量,其中,所述第三环境变量为所述存储区中所存储的全部或部分环境变量;
擦除所述存储区中所述第三环境变量所占用的第二空间,并将删除了所述第二环境变量的所述第三环境变量写入所述存储区。
可选地,删除所述第二环境变量,还包括:
根据已存储的环境变量的第一状态标识删除所述第二环境变量,其中,所述第一状态标识用于指示无效的环境变量。
可选地,将所述第一环境变量写入所述存储区之后,所述方法还包括:
对写入所述第一环境变量之前所述存储区中已存储的全部或部分环境变量标记所述第一状态标识。
可选地,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大华技术股份有限公司,未经浙江大华技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910996254.6/2.html,转载请声明来源钻瓜专利网。





