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 中的NVRAM讀寫操作指南
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.