文本内容:
nvram读写方法NVRAM即非易失性随机访问存储器,它是断电后仍能保持数据的一种RAM要在NVRAM里面添加、删减或者修改数据项,可以按下面五个步骤1在“nvram_user_defs.h”文件的nvram_LID_cust_enuni中定义一个新的LID逻辑数据项⑵在nvram_usejdefs.h”文件里定义两个常量SIZE和TOTAL3在nvram_user_config.里定义添加的数据项的默认值4在“logicaldataiterntablecust”里添加数据项的属性⑸在“nvram_user_config.c”中改变版本号CODED_DATA_VERSION在程序中访问NVRAMS32WriteRecordU16nFileldU16nRecordldkvoid*pBufferU16nBufferSizeS16pError该函数的作用是写一个记录到NVRAM中,如果写成功返回记录序号,否则返回-1S32ReadRecordU16nFileldU16nRecordldvoid*pBufferUI6nBufferSizeS16pError该函数的主要作用是从NVRAM中读取一个记录,如果读取成功将返回TRUE否则返回FALSES32WriteValueU8nldvoid*pBufferU8nDataTypeS16*pError该函数往NVRAM里面写入一个BYTE.SHORT或DOUBLE类型的数据,如果写成功将返回TRUE否则返回FALSES32ReadValueU8nldvoid*pBufferU8nDataTypeS16*pBuffer该函数从NVRAM里面读取一个BYTE、SHORT或DOUBLE类型的数据,如果读取成功将返回TRUE否则返回FALSENVRAM的添加方法以闹钟INLINE菜单为例步骤如下.在Nvram_common_defs.h文件中添加LID选项到nvram_lid_commapp_enum枚举中NVRAM_EF_MY_LID/*AddLIDwithitscompileoptoininthetailcomment*/NVRAM_EF_LAST_LID_COMMAPP}nvramlidcommappenum;.在Custommmidefaultvalueh文件中定义SIZE和TOTALttdefineNVRAM_MY_DATA_TOTAL1#defineNVRAM_MY_DATA_SIZEsizeofnvram_struct
3.Nvram_comnion_config.c文件在ltable_entrystructlogicaldata_itemtable_cust□最后增加相应的结构如下注意按序号填写在最后{NVRAM_EF_MY_LIDNVRAM_ALM_ALARM_DATA_SIZENVRAM_ALM_ALARM_DATA_TOTALNVRAM_EF_ZERODEFAULTNVRAM_ATTRAVERAGENVRAM_CATEGORY_SYSTEM|NVRAM_CATEGORY_FACTORY|NVRAM_CATEGORY_SHADOW_MS|NVRAM_CATEGORY_SHADOW〃MP58〃,VERNVRAM_EF_ALM^ALARMJ1Y_LID“Alarmmy\0〃,NVRAM_RESERVED_VALUE
5.在Commonnvrameditordataitem.h文件中添加版本号ttdefineNVRAM_EF_MY_LID_VERNO000读写数据函数WriteRecordnFileldnRecordldpBuffernBufferSizepErrorReadRecordnFileldnRecordldpBuffernBufferSizepError在NVRAMType.h文件中可以查看typedefenumNVRAM_READ_FAILNVRAMREAD.SUCCESSNVRAM_ERROR_ACTUAL_REAI_GREATER_THAN_REQUESTED_REAINVRAM_ERROR_ACTUAL_READ_LESS_THAN_REQUESTED_READNVRAM_WRITE_SUCCESSNVRAM_WRITE_FAIL}MMINVRAMERRORSENUM;根据返回的ERROR值可以查看读取是否成功另一种读写方式ReadValuenldpBuffernDataTypepErrorCustom_mmi_default_value.h文件中定义你的NVRAMID注意要定义在你所定义数据类型相对应的文件下。