嗨,对话框中,我在内存中定义了这样一个变量uint32_t RTC_sec __attribute__(((“retention_mem_area0”)部分,zero_init));/ / @RETENTION记忆当我sw重置设备时,RTC_sec被清除为0,如何在我重置后保持该值
据我所知,保留记忆只在睡眠时保留数据,重置后数据也会被重置。也许你最好把这些数据保存在外部存储器中。
好的,谢谢你,所以我应该找其他方法来做
嗨lyncxy119,
每次你重置芯片时,保留RAM为零。你可以使用外部存储器来存储你想保存的数据。请检查这个http://support.dialog-semiconductor.com/maintain-pairing-information
由于MT_dialog
您手动进行软件重置的目的是什么?
如果将数据放在分散文件中具有UNINIT属性的部分中,则在进行软件重置时不会将其置零。然而,当您的内存关闭时,它将被清除,当它再次启动时,将有未初始化的随机数据在您的变量中。
我想保持一个由BLE定时器生成的RTC值,但是当设备sw复位时,RTC被清理,无论如何要做这个?
你好,
是的,我还想保留平台重置'platform_reset'(即SUOTA激活)后的时间/滴答信息。因此,根据Joacimwe的评论,我将尝试NOT对保留内存中的相应变量进行零初始化。
对于处理未初始化的*随机*数据,在这种情况下有2个选项:1.检查复位类型,上电复位或其他(如看门狗,SW复位…等)2.用于存储此类时间/标记信息的附加校验和。
我将首先尝试选项2,但也想从对话团队的评论选项1(如何检查重置类型,但这似乎是不可能的根据这个线程http://support.dialog-semiconductor.com/how-could-i-know-whether-reset-c..。).
嗨hardy.chen,
正如我在你发布的帖子中提到的,没有特别的方法来知道重置发生在哪里。没有特定的寄存器来表示这样的事件。
据我所知,保留记忆只在睡眠时保留数据,重置后数据也会被重置。也许你最好把这些数据保存在外部存储器中。
好的,谢谢你,所以我应该找其他方法来做
嗨lyncxy119,
每次你重置芯片时,保留RAM为零。你可以使用外部存储器来存储你想保存的数据。
请检查这个http://support.dialog-semiconductor.com/maintain-pairing-information
由于MT_dialog
您手动进行软件重置的目的是什么?
如果将数据放在分散文件中具有UNINIT属性的部分中,则在进行软件重置时不会将其置零。然而,当您的内存关闭时,它将被清除,当它再次启动时,将有未初始化的随机数据在您的变量中。
我想保持一个由BLE定时器生成的RTC值,但是当设备sw复位时,RTC被清理,无论如何要做这个?
你好,
是的,我还想保留平台重置'platform_reset'(即SUOTA激活)后的时间/滴答信息。
因此,根据Joacimwe的评论,我将尝试NOT对保留内存中的相应变量进行零初始化。
对于处理未初始化的*随机*数据,在这种情况下有2个选项:
1.检查复位类型,上电复位或其他(如看门狗,SW复位…等)
2.用于存储此类时间/标记信息的附加校验和。
我将首先尝试选项2,但也想从对话团队的评论选项1(如何检查重置类型,但这似乎是不可能的根据这个线程http://support.dialog-semiconductor.com/how-could-i-know-whether-reset-c..。).
嗨hardy.chen,
正如我在你发布的帖子中提到的,没有特别的方法来知道重置发生在哪里。没有特定的寄存器来表示这样的事件。
由于MT_dialog