`
tyytzy
  • 浏览: 37948 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

MTK NVRAM

 
阅读更多

nvram是程序用来搭建FAT文件系统的那一块,是flash后面分出的一块.

flash后面分出的一块”

在Build/CUSTOMER/scatCUSTOMER.txt中这样一行(Flash 64+32(Unit:Mbits),即8MB ROM,4MB RAM,(Unit:MBytes) ):

;SCHEME   : external 7MB flash memory and 4MB SRAM

(除去文件系统后ROM还有7MB空间,RAM为 4MB).

 

在NVRAM中存储的数据包括:

1)校准数据

2)用户数据,如Phone book, SMS, to-do list 等

3)协议层数据,IMEI,TCM等

4)MMI设置、control values,wallpaper(墙纸),theme(主题),profiles等

 

DF: Dedicated File 专用文件

EF: Elementary File 基本文件

MF: Master File 主文件

 

EF三种类型:

Transparent EF 以Hex Binary形式存储

Linear-Fix EF 如电话号码,短信

Cyclic EF 如通话记录

 

nvram/src/Nvram_data_items.c中的logical_data_item_table_core中定义了各项存储。

LID                          Logical Data Item Identifier

Size                         size of one record

Total_records        if = 1,it is transparent,otherwise linear-fixed

Attr                          attributes(Important/Writeprotect/Multiple/Confidential/

                                                   Multirec_Read/OTP/Difference)

Category               category(User/System/Composed/Factory/Multi_Default/Custpack/

                                                 Branch/Shadow/Shadow_MS)

 

Size和Total_records定义在custom/common/pluto_mmi/Nvram_common_defs.h

 

Nvram_drv_type_enum   Device type(FDM/EEPROM/MMC)

Fileprefix 文件前缀

File verno   Version number of the data item

Description  Human-reable description for data item

LIDclass     (average LID / important LID)

Record       Internally used by NVRAM

 

Transparent:the record size of this kind of data item is one byte.That is,data item consist of a sequences of bytes.

(Logical) Data Item:The basic management unit of NVRAM

 

向NVRAM中添加存储项

以存储Mobile ID为例。

①     custom/common/Pluto_mmi/Common_nvram_editor_data_item.h

定义结构体

typedef struct

{

    kal_uint8 marker[16];

} nvram_ef_mobile_id_struct;

定义LID版本号

#define NVRAM_EF_MOBILE_ID_LID_VERNO       "001"

LID与结构体关联

LID_BIT VER_LID(NVRAM_EF_MOBILE_ID_LID)

nvram_ef_mobile_id_struct *NVRAM_EF_MOBILE_ID_TOTAL

{

};

②     custom/common/Pluto_mmi/Nvram_common_defs.h

定义结构体对应的大小,总个数

#define NVRAM_EF_MOBILE_ID_SIZE         sizeof(nvram_ef_mobile_id_struct)

#define NVRAM_EF_MOBILE_ID_TOTAL        1

定义LID

在结构体nvram_lid_commapp_enum的NVRAM_EF_LAST_LID_COMMAPP之前添加

NVRAM_EF_MOBILE_ID_LID

③     custom/common/Pluto_mmi/Nvram_common_config.c

定义结构体存储的默认值

static nvram_ef_mobile_id_struct const NVRAM_EF_MOBILE_ID_DEFAULT[] =

{

       {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}

};

在结构体logical_data_item_table_comm_app的{ NVRAM_EF_RESERVED_LID }之前添加

{

              NVRAM_EF_MOBILE_ID_LID,    //LID号

              NVRAM_EF_MOBILE_ID_SIZE,   //结构体大小

              NVRAM_EF_MOBILE_ID_TOTAL,  //总个数

              NVRAM_NORMAL((kal_uint8 const*)NVRAM_EF_MOBILE_ID_DEFAULT),  //默认值

              NVRAM_ATTR_AVERAGE,

              NVRAM_CATEGORY_USER,

              "MP9B",  //序号

              VER(NVRAM_EF_MOBILE_ID_LID),  //LID版本号

              "MOBILE ID/0", //该存储结构名称

              NVRAM_RESERVED_VALUE

       }

在该结构中添加的位置最好与声明的LID号在nvram_lid_commapp_enum中的结构对应。之前有次因为二者添加的位置不对应而导致Socket连接是ABM请求总是失败,无法连接。我想这样有可能是打乱了调用的某些东东,具体原因不详。

 

如果想在task初始化的时候初始化存储结构中的值可以在

Plutommi/mmi/framework/tasks/TasksSrc/MMITask.c中的InitNvramData函数添加对应的初始化函数。

分享到:
评论

相关推荐

    MTK NVRAM使用方法

    MTK NVRAM 使用方法 MTK NVRAM 使用方法是基于 MTK 平台的 NON Volatile RAM(非易失性随机访问存储器)的使用方法。NVRAM 是一种特殊的 RAM,可以在断电后保持数据的稳定性。下面我们将详细介绍 MTK NVRAM 的使用...

    MTK平台NVRAM的使用

    在MTK平台中,NVRAM(Non-Volatile Random Access Memory)是一种重要的存储技术,它具备断电后数据不丢失的特性,常用于保存设备设置和关键信息。NVRAM通常被用来存放那些需要在系统重启或电源关闭后仍然保持不变的...

    MTK_NVRAM_Editor.rar_MTK nvra_MTK_NVRAM_Editor_edit nvram.bin_mt

    MTK_NVRAM_Editor的源码,可能对你们有用哦

    mtk中NVRAM的读写方法

    在MTK平台中,NVRAM(Non-Volatile Random Access Memory)是一种持久性的存储机制,用于存储不依赖电源保持的数据。本文将详细讲解如何在MTK系统中进行NVRAM的读写操作以及如何添加新的NVRAM数据项。 首先,我们要...

    MTK NVRAM CONFIG

    这个是MTK很实用的文档,里面详细描述了NVRAM的设置和参数修改,以及注意事项等。

    MTK nvram读写apk

    在MTK平台上,对NVram的读写操作对于设备的正常运行和个性化设置至关重要。 这篇内容将详细介绍如何在MTK平台上使用NVagent工具进行NVram的读写操作,以及相关的技术细节。 首先,NVagent是MTK提供的一款实用工具...

    nvram_common_config.rar_MTK nvram_MTK网络参数_mtk_mtk at_nvram.c

    在这个名为“nvram_common_config.rar”的压缩包文件中,我们主要关注的是与MTK手机运行环境相关的NV(Non-Volatile Memory,非易失性存储)参数设置,特别是关于网络参数和铃声的调整。NV存储在手机中主要用于保存...

    MTK————nvram读写方法

    MTK NVRAM 读写方法 MTK NVRAM 读写方法是 MTK 芯片平台中的一种重要的存储方式,用于存储各种配置信息和数据。下面是 MTK NVRAM 读写方法的详细介绍。 1. 添加 LID 到 nvram_lid_commapp_enum 枚举 在 Nvram_...

    MTK平台NVRAM的机制

    ### MTK平台NVRAM机制深度解析 MTK平台NVRAM(非易失性随机存取存储器)机制在移动设备中扮演着至关重要的角色,它负责存储设备的持久化配置信息,即使在电源关闭的情况下也能保持这些信息不变。本文将深入探讨MTK...

    MTK NVRAM学习

    UEM_NVRAM_Customizable.pdf FS_NVRAM_GSM2003.pdf FS_NVRAM_LID_CHANGE.pdf FS_NVRAM_Oct2004.pdf NVRAM_Configuration_Guide_User.pdf SOP_SRV_NVRAM_Customization_06A.pdf SOP_SRV_NVRAM_Customization_V0.04....

    MTK_NVRAM_nvram_country33s_MTKnvram_mtk_源码

    MTK_NVRAM_nvram_country33s_MTKnvram_mtk_源码是一个与MTK(MediaTek)芯片相关的源码包,主要涉及到的是NVRAM(Non-Volatile Random Access Memory,非易失性随机访问存储器)的使用。在嵌入式系统和移动设备中,...

    MTK.rar_MTK QQ_mtk_nvram.c

    MTK 中的NVRAM读写操作指南 有不明白加QQ: 1362193163 QQ:1362193163

    MTKNvramReader_MTKNvramResaerch_

    MTKNvramReader_MTKNvramResaerch_ 是一个基于QT C++的工具,专注于MTK(MediaTek)平台的非易失性内存(Nvram)读取和研究。Nvram通常存储着设备的重要配置信息,如网络设置、硬件参数等,对于开发者和故障排查人员...

    MTK中的nvram的操作实现.pdf

    MTK 中 NVRAM 操作实现详解 NVRAM(Non-Volatile RAM)是一种非易失性随机存取存储器,用于存储一些重要的系统配置信息。在 MTK 中,NVRAM 是作为一个独立的任务来运行的,负责处理各种 NVRAM 相关的消息。 在 ...

    智能机NVRAM备份

    ### 智能机NVRAM备份:深入解析与实践指南 #### 一、NVRAM备份概述 非易失性随机存取存储器(Non-Volatile Random Access Memory,简称NVRAM)是一种即使在断电后仍能保存数据的特殊类型内存。在智能机中,NVRAM...

    MTK中的nvram的操作实现.docx

    在MTK平台中,NVRAM(Non-Volatile Random Access Memory)是一种持久化的存储机制,用于存储关键系统配置和设置。NVRAM的操作是通过一个独立的任务(task)来执行的,这使得它能够在系统运行时高效且可靠地管理数据...

    MTK 驱动介绍——GPIO 中断 PWM 等介绍

    NVram Config 是 MTK 驱动程序中的一种机制,用于定义 NVram 相关参数。在 MTK 驱动程序中,NVram Config 的设置主要通过 nvram_user_def.h 文件中的定义来实现。 十、LCD Config 介绍 LCD Config 是 MTK 驱动程序...

    MTK META工具中文说明

    MTK META工具是 MediaTek 公司开发的一款功能强大的工具,涵盖了几乎所有的功能,包括RF Tool、NVRAM Editor、Audio Tool、Baseband Tool、MMI data download、Factory Mode、IMEI download、Get version、Barcode ...

    NVRAM学习笔记

    2. **MPReign**:用于MTK/PMT通用应用程序的数据项。 3. **CTReign**:供客户使用的数据项,这部分是用户经常操作的部分。 4. **CVReign**:供供应商使用的数据项。 **2.2 NVRAM定制文件布局** NVRAM中定义LID ...

Global site tag (gtag.js) - Google Analytics