- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
share-NV入门
Thank you! NV入门 目录 ROM中的区域划分 NV TASK概述 NV TASK-reset NV TASK-read/write 添加NV项 修改NV项 NV与makefile微妙的联系 NV与客制化文件 技巧与总结 ROM中的区域划分(1)—总示意图 CODE区: bin文件(ARM映像文件)被烧录至此区域 NV数据区: 用户不可见——NV数据文件存放区域 FAT文件系统区: 用户可见——手机中的用户可见存储区 ROM中的区域划分(2)—CODE区 烧录bin档后flash空间消耗:Total ROM Size (Code + RO Data + RW Data) 程序运行所需的RAM空间体现:Total RW Size(RW Data + ZI Data) ROM中的区域划分(3)—NV区 手机全擦烧录后此区域为空,当第一次手机开机后,系统会将所有存在全局变量中的NV数据以文件的形式存在此区域,以后每次开机都读取此区域的数据进行设置。 Byte型的NV数据都存入一个文件当中(Short、Double同样),每个LID型的NV项单独存入一个文件。 关注: Nvram_mmi_cache_cust_pack.h (存放NV默认值数据) Custom_nvram_restore.c (some restore interface) 在MoDIS中可以体现以上所说的观点:..\code\MoDIS\WIN32FS\DRIVE_C\NVRAM\NVD_DATA下存放了这些生成的NV数据,而真机C盘中的NV数据已经被隐藏起来了。 ROM中的区域划分(4)—FAT区 系统空间对于用户不可见 用户空间即我们平常使用的手机存储空间 ROM中的区域划分(5)—半擦与全擦 开发人员在代码中修改一些NV项,需要升级版本号,它与不升级版本号的区别在于: 升级版本号:半擦烧录,半擦烧录即将bin档烧录到CODE区,并保持另外ROM区域的数据不变; 不升级版本号:全擦烧录,将ROM数据全部擦出,再将bin档烧录至CODE区域(下次开机当第一次开机处理)。 NV TASK概述(1)—System Architecture NV task是系统初始化中一 个至关重要的task。 相比于其他 task,NV task是较优先启动的。 NV TASK概述(2)—处理流程 NV TASK-reset 不同的Reset category对应恢复不同的NV数据例如: NVRAM_RESET_ALL (被动) NVRAM_RESET_DIFFERENCE (被动) NVRAM_RESET_CUSTPACK (被动) NVRAM_RESET_SECUPACK (被动) NVRAM_RESET_FACTORY (主动) : : 被动型的reset category对应升级其版本号后才会reset,而主动型则可以用户操作执行。 NV TASK-reset—NVRAM_RESET_FACTORY(1) NV TASK-reset—NVRAM_RESET_FACTORY(2) 读写NV接口 MMI接口对应关系: Read/WriteValue ? Byte、Short、Double型NV项 Read/WriteRecord ? LID(Record ID)NV项 ?用于Byte、Short、Double型NV项也可 数据初始化: 根据需要,所有的Byte、Short、Double型NV项会在开机初始化NV数据时被全部读入到缓存区中: cache_buf[MMI_FW_NVRAM_TYPE_TOTAL][NVRAM_CACHE_SIZE] , 而LID型NV项数据是用的时候直接从文件进行读取(若有需要,也有部分LID型NV项的数据是会在开机时读入缓存区的)。 这就是Byte、Short、Double型NV项与LID型NV项读写接口区别所在。 Read/WriteValue 关注: CacheSizeToIndex()——索引转换 cache_buf[MMI_FW_NVRAM_TYPE_TOTAL][NVRAM_CACHE_SIZE] Read/WriteRecord 关注: SendNVRAMWriteReq()/SendNVRAMReadReq() NVRAMCheckCircularQ()——查看队列、等待消息 添加NV项(1)—LID(Logical data item ID)型 添加NV项(2)—LDI(Logical Data Item)型 添加NV项(3)—NV版本号
您可能关注的文档
最近下载
- acca历年真题汇总p4 jun.pdf
- ISO 56008-2024创新管理-创新运行测量的工具和方法-指南 (雷泽佳译-2024).docx VIP
- 第十一章电路及其应用章节复习(1课件)(课件)高二物理精讲练(人教版2019).pptx
- 环保型混凝土外加剂的可持续发展研究.pptx
- 声光火灾报警电路设计报告.doc
- 2024至2030年中国烯烃行业市场深度分析及投资前景分析报告.docx
- ISO 56007-2023创新管理 管理机会和想法的工具和方法 指南(雷泽佳译-2024).docx VIP
- 某检验科免疫组免疫室SOP文件.doc
- 地理人教版八年级上册从世界看中国-复习课教案.doc
- 风电机组的混合塔筒和风电机组.pdf VIP
文档评论(0)