雷竞技电竞平台对话半导体客户支持-保留RAM https://support.dialog-semiconductor.com/resource-keywords/retention-ram 如何知道复位是否由于看门狗定时器? https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/how-know-whether-reset-due-watchdog < div class = "字段field-name-taxonomy-forums field-type-taxonomy-term-reference field-label-above”> < div class = "字段标签" >论坛:,< / div > < div class = "字段条目" > < div class =”field-item甚至“rel = " sioc: has_container " > < a href = " /论坛/ dialog-smartbond-bluetooth-low-energy - % E2 % 80% 93 -软件”“=“sioc:容器sioc:论坛”属性= " rdfs: label skos: prefLabel”数据类型= " " >对话框Smartbond蓝牙低能量-软件< / > < / div > < / div > < / div > < div class =”字段field-name-body field-type-text-with-summary field-label-hidden”> < div class = "字段条目" > < div class =”field-item甚至“财产=“内容:编码”> < p >亲爱的Dialog_Support, < / p > < p >我有存储一个变量的值进入flash,我想检索该值重置后发生的看门狗定时器。但我不能认识到复位发生由于看门狗或任何其他原因。我读过这篇文章< br / > < a href = " https://support.dialog-semiconductor.com/how-could-i-know-whether-reset-caused-watchdog?destination=node/1862 " > https://support.dialog-semiconductor.com/how-could-i-know-whether-reset-..。< / > < br / >我知道如果我们在保留内存然后我们可以声明变量检索后监督。另一个解决方案是使用外部存储器。由于我的应用程序没有任何外部内存,我必须将变量声明为保留RAM。我已经尝试这样做,但我不能取回它的值后看门狗复位。你能不能给我一些例子,存储值到保留RAM和取回后设备复位。< br / >提前谢谢< / p > < p >关于,< br / >前腿Patel < / p > < / div > < / div > < / div > < div class =”字段field-name-field-forum-keywords field-type-taxonomy-term-reference field-label-above”> < div class = "字段标签" >关键词:,< / div > < div class = "字段条目" > < div class =”field-item甚至“> < a href = " / resource-keywords / watchdog-reset” typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Watchdog reset
Device: 
2018年6月11日星期一05:20:57 +0000 前腿帕特尔 193282年https://support.dialog-semiconductor.com https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/how-know-whether-reset-due-watchdog#comments
内存保留区域的使用 https://support.dialog-semiconductor.com/usage-retention-ram-area < div class = "字段field-name-taxonomy-forums field-type-taxonomy-term-reference field-label-above”> < div class = "字段标签" >论坛:,< / div > < div class = "字段条目" > < div class =”field-item甚至“rel = " sioc: has_container " > < a href = " /论坛/ dialog-smartbond-bluetooth-low-energy - % E2 % 80% 93 -软件”“=“sioc:容器sioc:论坛”属性= " rdfs: label skos: prefLabel”数据类型= " " >对话框Smartbond蓝牙低能量-软件< / > < / div > < / div > < / div > < div class =”字段field-name-body field-type-text-with-summary field-label-hidden”> < div class = "字段条目" > < div class =”field-item甚至“财产=“内容:编码”> < p >你好,< / p > < p >请让我问这个问题的使用用于“Retention RAM”和“SysRAM(page0,1)”。
我们正在努力缩小代码大小。
我已经阅读了UM-B-011文档,但仍然不能有信心使用这些区域。< / p > < p > =我= < br / > -使用延长睡眠< br / > BLE_CONNECTION_MAX_USER = 1 < / p > < p > =我理解= < br / >关于嗯- b - 011,大小的攻击力,ENV和味精堆:< br / >丙氨酸1036字节< br / > ENV 360字节< br / >味精1324字节< br / >这些堆分配给LR_RETENTION_RAM2根据散点文件。
(我也检查了真实的地图文件。)o (BLE_exchange_memory)”也被分配给LR_RETENTION_RAM2区域。

I 'm listing map file as below:
————————
Load Region LR_RETENTION_RAM2 (Base: 0x00080768, Size: 0x00000000, Max: 0x00002898, ABSOLUTE)

Execution Region ZI_RET20 (Base: 0x00080768, Size: 0x00000a8c, Max:

0x00080768 0x0000040c Zero RW 541 heap_db_area jump_table. db_area

Base Addr Size Type Attr Idx E Section Name Object

0x00080768 0x0000040co
0x00080b74 0x00000154 0 RW 542 heap_env_area jump_table. o
0x00080b74 0x00000154 0 RW 542 heap_env_area jump_table. oo
0x00080cc8 0x0000052c Zero RW 544 heap_msg_area jump_table. o
0x00080cc8 0x0000052co

执行区域ZI_RET21 (Base: 0x00082a20, Size: 0x000005e0, Max: 0x000005e0, ABSOLUTE)

Base Addr Size Type Attr Idx E Section Name Object

0x00082a20 0x000005de Zero RW 287 BLE_exchange_memory arch_main. oo
————————
关于这个.map文件,0x82a20 - (0x80cc8 + 0x52c) = 0x182c (Bytes)似乎是空的。 So we can use this area freely.
> Question 1. Is it correct??

If question 1 is correct, we can use these area to book any variables as __attribute((section(“retention_mem_area0"),zero_init)). There are two places where retention_mem_area0 is defined in Scatter file. (When ext-sleep usage) And if first place(0x20008000) for retention_mem_area0 is not enough to allocate retentioned variables, those variables will be allocated to second place(0x80768-).
> Question 2. Is it correct?? (Actually, I tested and it seems to work…)

I could move some variables from 0x200000000 area to 0x80000 area, but I couldn’t move code like function() in some_file.c by just adding "some_file.o" to LR_RETENTION_RAM2 region. I got error while writing code to Flash Memory via SmartSnipetts… Is it proper behavior? I think this is proper because I had not defined "some_file.o" to scatter_file as “Executed Region”.
> Question 3. Is it possible to move function/codes (not variables) to this free Retention area (0x811f4 - 0x82a20) editing scatter file like Executed Region or something else??

If I could have any comment on this, it would be much appreciated.
Thank you very much for your supports in advance.

Best Regards,
CD

Device: 
2016年2月18日星期四13:38:55 +0000 CD 2705年https://support.dialog-semiconductor.com https://support.dialog-semiconductor.com/usage-retention-ram-area#comments