一、引言
最近项目中用到了NVRAM,故来整理一下
二、NVRAM(Non-Volatile Ram)
是非易失性随机访问存储器,指断电后仍能保持数据的一种RAM。结合了RAM和ROM的特性,一般会用来储存一些环境参数,OpenWrt 通过这些参数来配置网络,DHCP,DNS和记载硬件版本等。
1.随机访问存储器(Random Access Memory,RAM),断电之后信息就丢失了。
2.NVRAM可以随机访问。因此有些解释中,说Flash是属于NVRAM,是不准确的。因为从严格意义上来说,Flash分有两种:nand flash和nor flash。其中的nor属于是可以随机访问的,而nand flash不是真正的随机访问,属于顺序访问(serial access)。
三、NVRAM 命令
//列出 NVRAM 内所有参数
nvram show
//用来添加或修改一些参数
nvram set 参数=数值
//用来删除一些参数
nvram unset 参数
//当你对 NVRAM 做了一大堆修改后,你需要把这些修改保存起来,否则你的路由器 RESET 后,这些修改便没有了
nvram commit
四、NVRAM内部的数据结构及常用接口
相关库:libnvram
常用接口:
nvram_init:
nvram_get:
nvram_bufget:
nvram_set:
nvram_bufset:
nvram_commit:
nvram_close:
nvram_clear:
与上面说的命令功能很相似,就不重复说明了。