工厂重置所有nvm数据

⚠️
大家好. .谢谢光临论坛。令人兴奋的消息!我们现在在移动的过程中,我们的新论坛平台,将提供更好的功能和包含在主对话框的网站。所有文章和帐户已经被迁移。我们现在只接受交通新论坛,请发布任何新的线程//www.xmece.com/support。我们将修复bug /优化搜索和标签在接下来的日子里。
4新职位/ 0
最后发表
uniben
离线
最后看到:2年3个月前
加入:2016-08-23 09:46
工厂重置所有nvm数据

SDK: 1.0.10-1072

你好,

我需要一个函数来重置所有nvm数据工厂交付状态。

我如何重置(删除)所有保税设备数据从通用分区不使用ble_gap_unpair()为每一个单一的设备?

我已经试过这个:
部分= ad_nvms_open (NVMS_GENERIC_PART);
大小= ad_nvms_get_size(部分);
ad_nvms_erase_region(部分,0,大小);

,但没有成功。

提前感谢你的帮助。
罗尔夫

设备:
MT_dialog
离线
最后看到:4个月3星期前
工作人员
加入:2015-06-08 34
嗨uniben,

嗨uniben,

也不是那么简单,你不能够消除设备的通用分区(0 xff的flash)因为你是使用CONFIG_BLE_STORAGE(实际上是国旗,使设备的存储模块为了能够存储flash中的数据)。的原因是,因为使用类型的存储方案,为了存储数据,这意味着它实际上不擦除闪存的数据,而是将它们标记为无效的。如果你调试的代码上面你会看到ad_nvms_erase_region()对应类型的擦除功能模块,返回false(这是它应该做什么,因为你不删除当使用类型)。如果你喜欢这种functionallity您应该使用一个自定义的方式来存储键数据使用直接访问NVMS部分,这样就可以正确地消除房子键数据的领域。

由于MT_dialog

uniben
离线
最后看到:2年3个月前
加入:2016-08-23 09:46
嗨MT_dialog,

嗨MT_dialog,

我可以使用ad_flash_erase_region()来消除NVMS_GENERIC_PART。

这使得没有问题。后来我重新启动系统。

由于uniben

MT_dialog
离线
最后看到:4个月3星期前
工作人员
加入:2015-06-08 34
嗨uniben,

嗨uniben,

是的你可以直接调用函数ad_flash_erase_region()为了消除直接的特定部门flash(尽管其声明为类型和绕过nvms适配器),虽然我不能推荐这种做法,因为它违反了使用SDK的结构和适当的方式。不管怎样,如果适用于您的应用程序和设备重新启动后(类型的初始化消遣),我没有看到任何问题。

由于MT_dialog