本文适用范围
ADK20.1~
问题/功能描述
PSKEY_CUSTOMER是MIB系统中开放给用户使用的一组key,它用来配合应用定制实现不同功能。本文旨在介绍如何高效的使用。
实现方案
PSKEY_CUSTOMER在系统中分配状况状况
PS Key ID Name | PS Key ID Value | 0..519 space as used by PsRetrieve
-------------------------------------------| --------------- | -------------------------------
[PSKEY_CUSTOMER0, PSKEY_CUSTOMER89 ] | [10192, 10281] | [200, 289]
[PSKEY_CUSTOMER90, PSKEY_CUSTOMER300] | [10292, 10502] | [300, 509]
customkey[0,300]映射到代码中使用ID[200,289] [300,509]作为读写使用的key value。
读写接口
读取uint16 PsRetrieve(uint16 key, void * buff, uint16 words);
更新uint16 PsStore(uint16 key, const void * buff, uint16 words);
存储位置
PSKEY_CUSTOMER可以保存在HTF文件中,这样相当于初始化
应用范例
使用PSKEY_CUSTOMER0验证区分是否为第一次开机
定义CUSTOMER0 = [01 00]
开机后使用PsRetrieve(200, &value, 1) 读取到value = 1 表示第一次开机
令value = 2
调用PsStore(200,&value,1) 更新pskey保存值
重启再次读取pskey将会发现已经不再为1代表非第一次开机
注意事项
- 在默认配置下PSKEY_CUSTOMER需要写在subsys7_psflash.htf中,否则编译会报错。
2.HTF文件写的格式为
CUSTOMERX = [AB CD] X取值0~300对应表示pskey_customer0 ~ 300
如CUSTOMER22 = [01 00] 表示pskey_customer22值为01
评论