微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > mt2503如何设置短信的优先存储区域

mt2503如何设置短信的优先存储区域

时间:10-02 整理:3721RD 点击:
[DESCRIPTION]
09A及之前版本适用第一部分修改;09B以及09B之后版本适用第二部分修改。如何设置SMS优先存储区域?
[SOLUTION]
第一部分(09A以及之前的版本适用):
1.需要修改该结构体中mem2和mem3对应的值:
kal_uint8constNVRAM_EF_SMSAL_COMMON_PARAM_DEFAULT[]=
{
#ifdefined(__CS_SERVICE__)&&defined(__PS_SERVICE__)
0x03,/*bearerservice:GSMprefer*/
#elifdefined(__PS_SERVICE__)
0x00,/*bearerservice:GPRSOnly*/
#else
0x01,/*bearerservice:GSMOnly*/
#endif
0x00,0x00,/*statusreport,replypathOFF*/
0x02,/*VP:Relativeformat*/
#ifdef__UNIFIED_MESSAGE_SIMBOX_SUPPORT__
0x01,0x01,0x01,/*mem1,mem2,mem3*/
#else/*__UNIFIED_MESSAGE_SIMBOX_SUPPORT__*/
0x05,0x05,0x05,/*mem1,mem2,mem3*/
#endif/*__UNIFIED_MESSAGE_SIMBOX_SUPPORT__*/
0x00,0x01,/*CBsetting*/
0x00,/*ATdefaultprofileID*/
0x00,/*FirstOctet*/
0x00,/*TurnOffSMSFDN*/
0x00,/*last_used_tp_mr*/
0x00,/*mem_capacity_available*/
0x00,/*selected_msp*/
0x00/*reserve*/
};
其中mem1,mem2,mem3的意思分别如下:
mem1:读取和删除SMS所保存的存储区域。
mem2:编辑和发送SMS所保存的存储区域。
mem3:接收SMS所保存的存储区域。

2.结构体smsal_storage_enum给出了每个值代表什么意思:
typedefenum
{
SMSAL_SM=0,/*SIMonly*/
SMSAL_ME=1,/*MEonly*/
SMSAL_SR=2,/*statusreport(currentlyNOTsupport)*/
SMSAL_BM=3,/*broADCast(currentlyNOTsupport)*/
SMSAL_TA=4,/*adaptation(currentlyNOTsupport)*/
SMSAL_SM_PREFER=5,/*SIMprefer,trySIMfirst,thenME*/
SMSAL_ME_PREFER=6,/*MEprefer,tryMEfirst,thenSIM*/
SMSAL_MT=7,/*anyofstoragesassociatedwithME(SIMfirst)*/
SMSAL_STORAGE_UNSPECIFIED=7
}smsal_storage_enum;

第二部分(09B以及09B之后版本适用):
相关LID:NVRAM_SMS_PREFER_STORAGE,是1-Byte型的LID,这个LID并无默认值,在nvram_auto_gen的时候,无默认值的会被赋成默认值FF。BYTE项的
定义在common_cache_config.c里边,NVRAM_EF_CACHE_BYTE_LID大小为512,添加一个BYTE项后,就有对应的默认值,可能没有添加512个,则后面未
有对应的BYTE项,值就为0xFF了。

在NVRAM_CACHE_BYTE_DEFAULT里面可以看到各个LID的default值,注意前后的对应关系。
修改短信优先存储位置的方法为:
在Common_MMI_cache_config.c中,找到下面定义,
BYTE_ENTRY(NVRAM_CLNDR_INFO_VAL,
NVRAM_APP_PHNSET,
NVRAM_CACHE_ID_RESERVED,
KAL_TRUE,
"ByteCache",
0x00),
在这个定义下面添加初始值的定义,如优先存手机:
BYTE_ENTRY(NVRAM_SMS_PREFER_STORAGE,
NVRAM_APP_PHNSET,
NVRAM_CACHE_ID_RESERVED,
KAL_TRUE,//恢复出厂设置有效
"ByteCache",
0x00),
然后updateNVRAM模块。

难道做机的人真的是没有休息日么?国庆节还在加班啊?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top