了解更多常见问题教程

2个职位/ 0个新职位
最后发表
ltdev
离线
最后看到:1周2天前
加入:2018-11-12 09:19
保留区变量定义

你好,我们用DA14585做了一个项目。现在我们对变量定义感到困惑。有什么区别

uint32_t battVoltageValue __SECTION_ZERO(“retention_mem_area0”);和

uint32_t battVoltageValue;

声明。

它在深度睡眠和长时间睡眠中表现如何?

它如何表现OTP或booter?

“retention_mem_area0”的最大大小是什么?

设备:
PM_Dialog
离线
最后看到:11小时40分钟前
工作人员
加入:2018-02-08 11:03
嗨btdev,

嗨btdev,

第一个定义将变量保存在retain - ram中,因此该值将保持在扩展睡眠模式中。第二个定义只是将变量存储在RAM中,因此该值不会保持在扩展睡眠模式中。对大小没有任何限制。DA14585包含4个RAM单元,可以全部保留。请检查数据表。在深度睡眠模式下,根据选择的选项,只有唤醒控制器或POR电路保持打开状态。此模式可用于传送模式或休眠模式。不能维护BLE连接,并且System-RAM被关闭,因此不能保留变量。您还可以将该变量存储到保留内存的初始化部分,以便在重置/重新引导时保留该值。请看一下SW举例:DA14585/586检测复位源的例子。

>>> OTP或booter表现如何?

你能解释一下这个问题吗?你使用哪种睡眠模式?设备从哪里启动?

谢谢,PM_Dialog