MTK平台NVRAM的使用.doc_第1页
MTK平台NVRAM的使用.doc_第2页
MTK平台NVRAM的使用.doc_第3页
MTK平台NVRAM的使用.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MTK平台NVRAM的使用首先明确几个概念:1.ROM(Read Only Memory只读存储器):通常用来存储操作系统和内置程序,相当于MTK的Code Region,这部分的内容是写入后不允许修改的;2.RAM(Random Access Memory随机访问存储器):相当于电脑内存了,特点是访问速度快,断电后数据会自动丢失,不会保存;3.NVRAM(NonVolatileRandomAccessMemory非易失性随机访问存储器):指断电后仍能保持数据的一种RAM,用来存储一些需要在断电后能够保存的数据,比如我们手机的一些相关设置就需要保存在NVRAM中;下面以给出我们ds635项目的flash memory划分,ds635使用了一片128M的flash memory和一片64M的RAM,在custom_memorydevice.h这个文件中如下几行决定了我们flash memory的分区配置:/#define NAND_BOOTING_NAND_FS_BASE_ADDRESS 0x02000000这一行确定文件系统的起始地址,这里是0x02000000,说明我们分配的Code Region是32M,剩余的96M就是文件系统区域了;#define NAND_BOOTING_NAND_FS_SIZE 0x06000000这一行确定文件系统的大小,0x06000000也就是96M了;#define NAND_BOOTING_NAND_FS_FIRST_DRIVE_SECTORS 180000这一行确定文件系统的第一个分区的大小,如果没有额外的分区,可以将这一行设为0,这里我们的设置是180000,则文件系统的第一个分区大小是90000K,这样留给用户使用的话机空间大概是87M。/这样,文件系统还剩一个9M左右的分区,这个分区保存了下面这些内容:1. NVRAM的数据;2. wap,eMail,Java等相应的设置;3. 上网记录,播放器播放记录等一些日志文件;4. 其他一些我们使用过程中产生的文件;上面这些数据都是以文件的形式保存在文件系统的这个分区中的,参考下图应该可以有一个直观的了解。Code RegionFile System32M,用来存储我们的Code,download后无法修改该区域的数据内容约87.7M,用来保存用户数据的空间,我们可以通过文件管理或usb连接pc直接访问约8.3M,用来保存系统数据的空间,我们不能通过文件管理或usb连接pc直接访问DS635的flash memory划分在MTK的平台上配置一个NVRAM项目分3个区域:1.MT region:这个区域是系统相关NVRAM使用的,不向所有的用户开放,所以通常我们不要向这个区域添加内容;2.MP region:这个区域是应用相关NVRAM使用的,作为用户我们通常也不要向这个区域添加内容;3.CT region:这个区域是MTK专门给用户添加NVRAM使用的,我们添加新的NVRAM项目应尽量在这个区域;在MTK的平台上添加一个NVRAM项目有3部分的工作要做:1.在下面的文件中定义新的NVRAM项目的LID(Logical Data Item ID),size和total number:nvram_data_items.hfor MT regionnvram_common_defs.hfor MP regionnvram_user_defs.hfor CT region2.在下面的文件中设置新定义NVRAM项目的数据项和默认值:nvram_data_items.cfor MT regionnvram_common_config.hfor MP regionnvram_user_config.hfor CT region3.在下面的文件中提供新定义NVRAM项目的版本和结构:nvram_editor_data_item.hfor MT regioncommon_nvram_editor_data_item.hfor MP regioncustom_nvram_editor_data_item.hfor CT region具体的添加过程分如下几步(以在CT region添加super key为例):Step1.在nvram_user_defs.h中定义新的LID需要注意应该按顺序往后添加并确保添加在NVRAM_EF_LAST_LID_CUST前面。: typedef enum NVRAM_EF_PHONY_LID = NVRAM_LID_CUST_BEGIN, NVRAM_EF_NEW_VOIP_PROF_LID, /* Dont remove this line: insert LID definition above */NVRAM_EF_SUPER_KEY_LID,/* Add new entry in the tail without its compile option*/ NVRAM_EF_LAST_LID_CUST nvram_lid_cust_enum;Step2.在nvram_user_defs.h中定义新NVRAM项的size和total:#define NVRAM_EF_SUPER_KEY_SIZE 4#define NVRAM_EF_SUPER_KEY_TOTAL 1Step3.在custom_nvram_editor_data_item.h中定义新NVRAM项的Version按MTK文档说明以下情况需要升版本号:1.size变化;2.序号变化;3.属性变化;4.数据结构变化;5.需要应用新的默认值。:#define NVRAM_EF_SUPER_KEY_LID_VERNO 000Step4.在nvram_user_config.h中设置新定义NVRAM项目的默认值:kal_uint8 const NVRAM_EF_ SUPER_KEY _DEFAULTNVRAM_EF_SUPER_KEY_SIZE=0x00;Step5在nvram_user_config.h中设置新定义NVRAM项目的数据项:NVRAM_EF_SUPER_KEY_LID,/* LID */NVRAM_EF_SUPER_KEY_SIZE, /* Size */ NVRAM_EF_SUPER_KEY_TOTAL, /* Total */ NVRAM_NORMAL由Category决定:1. NVRAM_CATEGORY_CUSTPACK对应NVRAM_CUSTPACK2. NVRAM_CATEGORY_SECUPACK对应NVRAM_SECUPACK3.其它类别用NVRAM_NORMAL(kal_uint8*)NVRAM_EF_ZERO_DEFAULT), /* Default value */ NVRAM_ATTR_AVERAGE,/* Attributes */NVRAM_CATEGORY_USER, /* Category */CT12, /* Prefix */文件前缀,按顺序往后排,确保不要重名。我就是在这里犯了错VER(NVRAM_EF_SUPER_KEY_LID), /* Verno */SUPER KEY0,/* Description*/(kal_uint8)NVRAM_INVALID_VALUE, /* Reserved. record ID is calculated by NVRAM */做完这几步,添加新NVRAM项的工作就基本完成了,需要说明的是,上面这些NVRAM相关的信息及默认值都是随code一起保存在Code Region里的,之后机器会在之前提到的File System Region中用来保存系统数据的空间那个分区内建立NVRAM的文件,我们对NVRAM的写入、读取和修改是在这里保存记录的。个人对文档的理解有限,有不对或需要补充的地方请大家指点吧-高允沛备注:NVRAM,简称非易失性随机访问存储器(Non Volatile Random Access Memory),是指断电后仍能保持数据的一种RAM。断电后数据仍然能保留的半导体存储器,业界统称为非易失性访问存储器,举个例子来说,身边到处可见的U盘、数码相机、可拍照手机、PDA(Personal Digital Assistant,掌上电脑)、以及其中的存储卡(如CF、SD等等),无一例外地仰仗着NVRAM技术的支持。随着移动设备、便携式设备和无线设备的迅猛发展,NVRAM也遇到了前所未有的好时机,并迅速走俏市场。日前,在多种NVRAM中,以闪存(Flash Memory)技术最为引人注目,并占据着NVRAM市场的霸主

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论