MTK 中的NVRAM读写操作指南

Nvram操作说明
Nvram性质和文件一样,不过,对它进行读写数据,在手机格式化后还存在。
1, 在Nvram_user_defs.h的 nvram_lid_cust_enum中添加自定义的lid名称可以用类似格式:NVRAM_MY_DATA_BYTE_ID
2,在这个文件中定义一个lid的size和total.
           #define NVRAM_MY_DATA_SIZE     512 //一个数据块的大小byte
#define NVRAM_MY_DATA_TOTAL  1//有多少个这样的数据块
3,在Nvram_user_config.c中的logical_data_item_table_cust[]=
{}添加一个类似于此的结构
{
NVRAM_MY_DATA_BYTE_ID,
   NVRAM_MY_DATA_SIZE,
   NVRAM_MY_DATA_TOTAL,
   NVRAM_EF_ZERO_DEFAULT,(NVRAM DATA ITEM 的默认值,可以自定义默认值
   NVRAM_ATTR_AVERAGE,      
   NVRAM_CATEGORY_USER,   //属性
   “CT03”,
   “000”,// 与上一个合并成的版本号使用
“MYDATA”,//对 dataitem 的描述
NVRAM_INVALID_VALUE
}
4,用下面的方法可以读写Nvram的值了。 
ReadRecord(nFileId,nRecordId,pBuffer,nBufferSize,pError);//读取数据
WriteRecord(nFileId,nRecordId,pBuffer,nBufferSize,pError);//写数据
        读写例子如下:
ReadRecord (NVRAM_MY_DATA_BYTE_ID,1, &value,1,&error);
WriteRecord(NVRAM_MY_DATA_BYTE_ID,1, &value,1,&error);
参数介绍如下:第一个就是自定义的id,第二个是从第几个开始读写(NVRAM_MY_DATA_TOTAL),第三个是要写入的值,第四个是写入几个字节数据,第五个error是个S16的值,注意变量类型。

5,也可以用以下方式读写格式化数据:
        DS_BYTE = 1,//读取一个字节
   DS_SHORT = 2,//读取short
   DS_DOUBLE = 8//读取double
        WriteValue(NVRAM_MY_DATA_BYTE_ID,(void*)&k,DS_SHORT,&fileerror);
        ReadValue(NVRAM_MY_DATA_BYTE_ID,(void*)&i,DS_SHORT,&fileerror);
        注意第三个参数为你想读写的类型,比如short。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Android框架,NVRAM(非易失性随机存储器)被用于存储系统相关的配置和参数,如无线通信模块的MAC地址、IMEI号码等。NVRAM的读写在Android设备的系统级别发挥重要作用。 首先,NVRAM读取功能在Android框架由系统服务提供,通过封装底层的硬件接口和驱动程序来实现。Android的系统服务负责与硬件之间的通信,从NVRAM读取所需的参数。在读取过程,通过定义和使用适当的API,应用程序或系统组件可以请求读取特定的NVRAM值,以进行相关的操作和功能。 其次,NVRAM的写入功能也是由系统服务提供的。当应用程序或系统组件需要修改某个NVRAM参数时,可以通过调用相应的API来实现。系统服务将接收到的修改请求转发给硬件接口和驱动程序,然后将新值写入NVRAM。这样,NVRAM对应的参数将被更新,以满足新的需求。 在Android框架,NVRAM读写功能的正确实现对于系统的正常运行非常重要。它确保各种系统组件可以正确访问配置和参数信息,并确保设备在启动时能够正确初始化。同时,NVRAM的读写操作需要受到适当的权限控制,只有具备足够权限的应用程序或系统组件才能进行相关的操作。 综上所述,Android框架的NVRAM读写功能通过系统服务提供,并且在系统级别发挥重要作用。这种功能确保了系统配置和参数的正确访问和修改,从而保障设备的正常运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值