MTK--非易失性内存数据服务

 

NVRAM

                              用户配置指南

songzi_li@sina.com

 

             

 

配置指南

       要配置数据项,添加或删除一个数据项,或者仅修改某个缺省值,参看以下五个步骤:

1〉     nvram_user_defs.h 文件里,定义一个新的逻辑数据项的LID nvram_LID_cust_enum 枚举。

2〉     nvram_user_defs.h 文件里,定义两个常量:SIZE TOTAL

Linear-fixed: total > 1; size为每一条记录的大小

Transparent: total = 1; size 为每一个数据项实体的大小

注意:由于Flash设备驱动的约束,size定义必须为偶数对齐。

3〉     nvram_user_config.c 文件里,定义该新逻辑数据项的缺省值。

注意缺省值的size 必须等于第二步中定义的size大小。

4〉     定义该新逻辑数据项的属性至 logical_data_item_table_cust

定义新数据项和其属性,logical_data_item_table_cust 数据结构由NVRAM数据服务内部管理。必须定义的数据结构域:

1〉  LID

2〉  Size

3〉  Total

4〉  Default value:

如果该值为NULL,缺省值为所有字节置0xFF.

如果该值为NVRAM_EF_ZERO_DEFAULT, 缺省值为所有字节置0x00.

5〉  Attributes:

可以为单个数据项赋予多个属性,使用 | 操作。 

6〉  Other fields NVRAM 数据服务保留;不要修改它们。

5〉     nvram_user_config.c 文件里修改版本号 CODED_DATA_VERSION

每次数据项配置修改,必须修改版本号。数据版本不限于指定的字符,但是长度必须为7 bytes. 

约束

1.数据项的Size 定义必须为偶数对齐,最大为 65535

2Linear fixed 数据项的最大记录数为 65535.

      以上的最大值为理论值,可能会因为超出Flash空间而不能正常工作,依赖于Flash设备驱动配置。此外,一部分空间是为协议栈使用,用户可配置的数据项是受限制的。

       当前,测试的安全值如下:

1.  Size 最大 480

2.  Total 最大300

3.  用户可配置的数据项最大值 25

 

3.2 Fields in Primitives 原语中的域

1.当发送 read/write 请求原语至 NVRAM 任务,如果数据项为 transparent, ’para’ 域必须为 1;

2. 当发送 write 请求原语至NVRAM任务, 被写入的数据的大小 size 必须等于在nvram_user_config.c中定义的数据项的大小 size.

3. read/write 确认原语成功返回值 ‘result’ 域为:NVRAM_ERRNO_OK, NVRAM_ERRNO_INIT. 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值