QUALCOMM QCC蓝牙系列量产必备:PSkey 在ADK 中的存储与访问

 Bluecore内部有些配置寄存器,称为PSKEY,这些寄存器不可随意更改,因其事关重大,稍有不慎改动便会造成运行的不稳定或无法工作,当然也有些是可以自定义修改的。量产时经常在ADK 与 Application 中修改

ADK如何存储数据到 PSK 里

(1)如sink 工程,TWS 同理,存储 PSK 值的函数,可以采用如下的函数:


(2)读取 PSK 值,可以采用如下函数:



(3)实例 在 ADK 中存储“0”或“1”到PSKEY_CUSTOMER0,并且读取

//#define PSKEY_CUSTOMER0 (PSKCUSTB+0)

#define PoweroffReasonKey 200//不用PSKEY_CUSTOMER0 宏定义,为什么,详见(4)注意点

uint16 reason=1;

    PsStore(PoweroffReasonKey,&reason,sizeof(reason));

 

//读取

    uint16 temp = 0;

    PsRetrieve(PoweroffReasonKey,&temp,sizeof(temp));

 

(4)注意点:

 

These keys are divided into six blocks.

- User configuration data (0 to 49).

- DSP configuration (50 to 99).

- VM Connection Library data (100 to 149)

- User configuration data, 2nd block (150 to 199).

- Customer configuration data, (200 to 289).

- Customer configuration data, 2nd block (300-509).

 

详见Ps.h (apps\fw\src\gen\customer\core\trap_api)   可以找到定义,底层ADK与工具API 的定义ID 不一样





因此,ADK 中访问存储PSKEY_CUSTOMER0,直接定义成200
在应用中访问此PSK 值,是有不一样的定义,如下,详见下次分解“QUALCOMM QCC蓝牙系列量产必备:PSkey 在应用中的存储与访问”
#define PSKEXTENSION ((0x2000))
#define PSKCUSTB (PSKEXTENSION + 2000)
#define PSKEY_CUSTOMER0 (PSKCUSTB+0)

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论