NVRAM用户配置指南:
配置指南
要配置数据项,添加或删除一个数据项,或者仅修改某个缺省值,参看以下五个步骤:
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.
2 约束
1 .数据项的 Size 定义必须为偶数对齐,最大为 65535 。
2 . Linear 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.