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\0”,//对 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。
本人有MTK 平台的 23D 0812 6225 06B 23C 单双卡双待等源码,提供配套的测试手机以及刷机线!可以满足学习与开发需要,
有学习需要的朋友可以加我,一起学习!一起做MTK的技术精英。
另外,对于初学者,本人可以提供环境搭建的完整工具与相应文档,直接让平台在你机器上立刻跑起来。
具体工具如下:ADS 1.2 与破解文件、perl、cather、FlashTool、sourceinsight、MCT、分布式编译系统等。
可让初学者迅速进入开发阶段!
另外,本人有成熟的SP程序源码,可提供SP支持。
产品清单如下:
1. 动态菜单,动态更新通道、菜单结构、分布的宫格数目、动态更新菜单的功能等,在用户没开通GPRS情况下可用短信来批量更新菜单信息。
可动态控制菜单项显示或者隐藏,移植非常方便,只需在宫格上添加一个函数就完成了,占用ROM空间不到11KB。
2. 为SP 提供暗扣包,暗扣包具有占用ROM空间不到3KB、只有单个入口、自动屏蔽上下行、屏蔽状态报告、自动回复二次确认等功能。
3. Soket通信方面的源码,可实现soket通信,快速下载文件,支持CMWAP与CMNET方式。
4. 短信,WAP,语音等公用API,SIM卡判断,以及短信内容监控等技术。
5. 任何汉字字体制作的软件,可在MTK上显示指定漂亮的字体。
6.“找工就业”的软件制作包,占用ROM空间不到6KB,可动态更新找工的所有内容。
需要请加QQ: 1362193163
QQ:1362193163