MTK NVRAM 操作指南:读写与配置步骤
"本文主要介绍了在MediaTek (mtk) 平台上如何进行NVRAM (Non-Volatile Random-Access Memory) 的读写操作。NVRAM是一种非易失性存储器,常用于保存系统设置和配置数据。文章通过一个闹钟INLINE菜单的例子,详细阐述了添加、修改和读取NVRAM数据项的步骤。" 在MediaTek平台上,NVRAM的管理涉及到几个关键步骤。首先,在`Nvram_common_defs.h`文件中,你需要将新的逻辑数据项(LID, Logical ID)添加到`nvram_lid_commapp_enum`枚举中。例如,你可以定义一个名为`NVRAM_EF_MY_LID`的新LID。这一步是为了让系统识别你要添加的数据项。 接着,为了配置数据项,你需要在`nvram_user_defs.h`文件中执行以下操作: 1. 定义新数据项的LID到`nvram_LID_cust_enum`枚举。 2. 定义两个常量:`SIZE`和`TOTAL`。根据数据项的类型(线性固定或透明),`SIZE`表示每个记录的大小,而`TOTAL`表示记录的总数。对于线性固定的类型,`total`大于1,`size`是每个记录的大小;而对于透明类型,`total`等于1,`size`是整个区块的大小。需要注意的是,由于Flash设备驱动的要求,`size`必须是偶数对齐。 3. 在`logical_data_item_table_cust`结构体中,添加新的记录,包括LID、Size、Total和默认值。默认值可以是`NVRAM_EF_ZERO_DEFAULT`或`NVRAM_EF_FF_DEFAULT`,推荐使用前者。还有一个版本号`VER(NVRAM_EF_CACHE_BYTE_LID)`,每当默认值改变时,对应的版本号也需要更新。 4. 定义一个全局数组来存储默认值,并将其指针填入`custpack_nvram_ptr`,确保顺序正确。 5. 在代码中,使用`ReadValue`和`WriteValue`函数来读写NVRAM值。在任务初始化时,使用`nvram_external_read_data`读取并更新数据。同时,可能需要同步更新编译的版本号。 在实际操作中,还有一些注意事项: - 数据项的`Size`定义必须是偶数,最大值为65535。 - 线性固定数据项的最大记录数也是65535。 - 但这些最大值可能因Flash空间限制而无法实现,实际可用的配置空间取决于Flash设备驱动配置。 - 建议的测试安全值为:`Size`最大480,`Total`最大300,用户可配置的数据项最大值253.2。 在处理NVRAM的原始字段(Fields in Primitives原语中的域)时,当发送请求时,确保遵循协议栈的规范,避免超出这些限制,以确保系统的稳定性和数据的正确性。 MediaTek平台上的NVRAM管理涉及到枚举的更新、结构体的扩展、数据对齐、默认值的处理以及读写操作的正确调用,这些都需要谨慎操作以确保系统配置的正确保存和恢复。
![](https://csdnimg.cn/release/download_crawler_static/2081602/bg1.jpg)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 3
- 资源: 6
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 京瓷TASKalfa系列维修手册:安全与操作指南
- 小波变换在视频压缩中的应用
- Microsoft OfficeXP详解:WordXP、ExcelXP和PowerPointXP
- 雀巢在线媒介投放策划:门户网站与广告效果分析
- 用友NC-V56供应链功能升级详解(84页)
- 计算机病毒与防御策略探索
- 企业网NAT技术实践:2022年部署互联网出口策略
- 软件测试面试必备:概念、原则与常见问题解析
- 2022年Windows IIS服务器内外网配置详解与Serv-U FTP服务器安装
- 中国联通:企业级ICT转型与创新实践
- C#图形图像编程深入解析:GDI+与多媒体应用
- Xilinx AXI Interconnect v2.1用户指南
- DIY编程电缆全攻略:接口类型与自制指南
- 电脑维护与硬盘数据恢复指南
- 计算机网络技术专业剖析:人才培养与改革
- 量化多因子指数增强策略:微观视角的实证分析
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)