MTK Flash
来源:互联网 发布:php 摇号程序源代码 编辑:程序博客网 时间:2024/05/14 03:30
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 Flash
- mtk flash配置
- mtk flash player
- MTK flash配置方法
- MTK android flash 配置
- MTK android flash 配置
- MTK android flash 配置
- MTK android flash 配置
- MTK android flash 配置
- MTK android flash配置
- MTK android flash配置
- MTK android flash 配置
- MTK Android flash 配置
- MTK flash 重要提醒
- mtk配置flash
- MTK android flash 配置
- MTK之Flash篇一
- mtk nand flash配置支持
- java 中JSON数据特殊字符的处理
- php 很久没写了
- 输入输出流+函数+返回值等方法练习举例
- HashMap按值排序问题的小记
- 最近在练手的一个管理系统
- MTK Flash
- 未安装SVN插件的Eclipse导入SVN项目的方法
- php读写excel类,支持多工作簿和自定义样式
- Java获取本机名称和IP地址
- 简单两点让SEO外链工作变的更高效
- 面试-从10亿个浮点数中找出最大的1万个
- 国内手机游戏营收6成靠山寨机 Android不赚钱
- 手机游戏主力用户仍来自WAP和JAVA
- 多重不利因素或将经济推入滞胀泥潭