mtk 中 nvram 的讀寫操作

2021-06-16 03:52:46 字數 2797 閱讀 6335

定義

nvram

資料有三種方式:

(一)、在

nvram_editor_data_item.h

、nvram_data_item.h

、nvram_data_item.c

三個檔案中新增。 1

、在nvram_editor_data_item.h

檔案中定義自己儲存在

nvram

中的結構體資料型別。

例如:typedef struct

my_nvram_data_t;2、在

nvram_data_item.h

檔案中的

nvram_lid_core_enum

列舉中定義自己的

nvram id

(建議在最後面新增,但必須新增到

nvram_ef_last_lid_core

的前面)。再定義兩個巨集,乙個巨集是前面定義的結構體的位元組大小,另乙個是在

nvram

中儲存的資料個數,如果在

nvram

中只需要儲存乙個資料的話,就定義為1。

例如:typedef enum

nvram_lid_core_enum;

#definemy_nvram_data_sizesizeof( my_nvram_data_t )

#definemy_nvram_data_total13、在

nvram_data_items.c

檔案中的

lobical_data_item_table_core

結構體陣列中新增自己的項。建議新增在最後,仿照前面的新增。

例如:itable_entry_structlogical_data_item_table_core = , }

4、my_nvram_data_tmy_nvram_data = ;

s16 error ; //

將my_nvram_data

中的資料寫到

nvram

中my_nvram_data_lid

標誌處,

error

儲存錯誤標誌

writerecord(my_nvram_data_lid,1,&my_nvram_data,sizeof(my_nvram_data_t ),& error);//將

nvram

中my_nvram_data_lid

標誌處的資料讀到

my_nvram_data

中,error

儲存錯誤標誌

readrecord(my_nvram_data_lid,1,&my_nvram_data,sizeof(my_nvram_data_t ),& error);

二、在common_nvram_editor_data_item.h

、nvram_user_defs.h

、nvram_user_config.c

中定義1

、common_nvram_editor_data_item.h         

此處定義

nvram

中儲存資料的結構體資料型別2、

nvram_user_defs.h                                    

此處定義

nvram id

和結構體資料大小、資料總數3、

nvram_user_config.c                                

此處填充

nvram

結構資料內容及

defult值

(在mtk 下建議使用此方法修改nvram)

三、在coustom_mmi_default_value.h

、common_mmi_cache_config.c

中定義 1、在

custom_mmi_default_value.h  

檔案中有三個列舉型別

bytedata

,shortdata

和doubledata

。分別佔

1個位元組,

2個位元組,

8個位元組。根據自己的所要儲存的資料大小在相應的列舉裡定義自己的

nvramid

。建議在最後面新增,但都必須新增在最後一項的前面。

例如:typedef enum

shortdata; 2

、在common_mmi_cache_config.c

檔案中存在三個結構體陣列

common_mmi_cache_byte

、common_mmi_cache_short

,common_mmi_cache_double

。在對應的陣列裡新增自己的資料項,設定

nvram

的初始值。

例如:mmi_cache_short_entrycommon_mmi_cache_short =

}; 3

、short int mynvramdata;

s16 error;//寫

nvram

writevalue

(nvram_my_shortdata_id , &mynvramdata , ds_short , &error

) ;//

讀nvram

readvalue

(nvram_my_shortdata_id , &mynvramdata , ds_short,&error

) ;(注意:在模擬器下,修改了

nvram

最後是在

dos

下用new

命令全部重新編譯一次)

MTK 中的NVRAM讀寫操作指南

nvram操作說明 nvram性質和檔案一樣,不過,對它進行讀寫資料,在手機格式化後還存在。1,在nvram user defs.h的 nvram lid cust enum中新增自定義的lid名稱可以用類似格式 nvram my data byte id 2,在這個檔案中定義乙個lid的size和...

MTK 中的NVRAM讀寫操作指南

nvram操作說明 nvram性質和檔案一樣,不過,對它進行讀寫資料,在手機格式化後還存在。1,在nvram user defs.h的 nvram lid cust enum中新增自定義的lid名稱可以用類似格式 nvram my data byte id 2,在這個檔案中定義乙個lid的size和...

MTK 中的NVRAM讀寫操作指南

nvram操作說明 nvram性質和檔案一樣,不過,對它進行讀寫資料,在手機格式化後還存在。1,在nvram user defs.h的 nvram lid cust enum中新增自定義的lid名稱可以用類似格式 nvram my data byte id 2,在這個檔案中定義乙個lid的size和...