您好!
我们一直在尝试通过调用以下函数来重新启动系统:
SysCtrlSystemReset();
这似乎无法可靠地工作、有时系统会挂起/不响应数秒、有时几分钟甚至似乎永远不响应。
不确定是否相关、但在一些 NVS 相关操作之后会立即调用此函数、主要是删除/清除某些 NVS 项目。 我们是否应该在 NVS 操作和系统重置之间添加一些延迟?
是否有其他方法可以重新启动系统?
谢谢。
ZL
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我们一直在尝试通过调用以下函数来重新启动系统:
SysCtrlSystemReset();
这似乎无法可靠地工作、有时系统会挂起/不响应数秒、有时几分钟甚至似乎永远不响应。
不确定是否相关、但在一些 NVS 相关操作之后会立即调用此函数、主要是删除/清除某些 NVS 项目。 我们是否应该在 NVS 操作和系统重置之间添加一些延迟?
是否有其他方法可以重新启动系统?
谢谢。
ZL
您好!
感谢您回答我的问题。 您能否进一步说明是否有办法知道 NVS 删除/清零何时完成? 我简单介绍了驱动程序代码、看不到我们可以通过任何方式向 NVS 驱动程序提供回调以在完成闪存相关操作时获得通知、或者轮询某个标签。
我假设我们可以添加任意延迟、例如擦除所有 NVS 扇区所需的最长时间、但这样效率会很低、并且可能会随着周期的推移而花费越来越长的时间。
此致!
ZL