设备= DA14681
SDK = 1.0.10-1072
你好,
我为绑定设备启用了BLE持久存储(flash),如sdk/interfaces/ BLE /readme所述。Md,并在platform_nvparam.h中添加我的用户数据:
NVPARAM_AREA (ble_app NVMS_PARAM_PART 0 x0100)
NVPARAM_VARPARAM(TAG_BLE_APP_NAME, 0x0000, 33) // uint8[29]
NVPARAM_PARAM (TAG_BLE_APP_MY_DEVICE, 0x0021, 8) // uint8[6]
NVPARAM_PARAM (TAG_BLE_APP_ENABLE, 0x0029, 3) //设置值
NVPARAM_AREA_END ()
使用ad_nvparam_read()和ad_nvparam_write()可以很好地读写。
一切正常,连重置都没问题。但在设备重新通电后,绑定设备存储是空的。
我该如何解决这个问题?
提前感谢您的帮助,
罗尔夫
设备:
嗨uniben,
这不是BLE持久化存储的操作方式,绑定数据存储在NVMS的Generic部分(NVMS_GENERIC_PART)而不是参数部分(NVMS_PARAM_PART)。你不需要在NVMS_PARAM_PART中创建新的参数,你可以使用现有的实现,绑定数据如何存储在NVMS中也在sdk/ble/目录下的readme文件中解释了,查看##Storage格式的标题。您可以检查使用CONFIG_BLE_STORAGE定义存储绑定数据的bms示例,并检查NVMS_GENERIC_PART中的持久数据。
关于你正在经历的问题,由于数据被写入闪存,这意味着数据会持久化,所以,你如何验证你刚刚写的东西不存在,您是否使用Smart Snippets工具和QSPI分区表工具检查了NVMS_PARAM_PART中不存在您设置的绑定数据的特定偏移量?
由于MT_dialog
谢谢。