找回密码
 立即注册

微信扫码登录

查看: 89|回复: 3

without SRAM retention 32KB如何使用呢?

[复制链接]

20

主题

33

回帖

224

积分

华贵铂金

积分
224
发表于 2025-3-24 14:00:33 | 显示全部楼层 |阅读模式
information
说明:   建议参照本版块置顶帖内容输入必要信息
芯片型号: 8258
SDK及版本: Zigbee 3.7.1.2
在Deep sleep mode with  RAM retention 时只有8KB+8KB+16KB数据不丢失,那我的问题是:

1. 如何确保定义的变量在RAM retention区呢?
2. 对于另外32KB没有RAM retention区,那这块RAM是浪费掉了吗?在什么情况下可以使用呢?

盼及时回复,多谢!

13

主题

48

回帖

313

积分

流光翡翠

积分
313
发表于 2025-3-25 15:40:37 | 显示全部楼层
本帖最后由 wes58 于 2025-3-25 15:41 编辑

Re 1.
[/code]
Use _attribute_data_retention_
for example:
  1. _attribute_data_retention_ u8 voltage;
复制代码

Re 2.
You can use 32kB RAM retention
  1. cpu_sleep_wakeup(DEEPSLEEP_MODE_RET_SRAM_LOW32K , PM_WAKEUP_DEBOUNCE, 0);        //Put the chip into low power mode
复制代码

Telink can give you more information, I guess.

27

主题

262

回帖

839

积分

版主

积分
839
发表于 6 天前 | 显示全部楼层
本帖最后由 TL_YB 于 2025-3-28 17:34 编辑

Zigbee SDK中所有全局变量都是按序自动排放的,变量地址在32K retention ram之外的,休眠时数据就会丢失。
如果需要使用到32k retention之外的ram,可以使用_attribute_custom_data_和_attribute_custom_bss_修饰允许休眠时数据丢失的变量。

检查方法:
可以使用BDT工具,在Tdebug窗口,将变量按地址排序,查看变量是否有超过32k retention。

20

主题

33

回帖

224

积分

华贵铂金

积分
224
 楼主| 发表于 6 天前 | 显示全部楼层
好的,谢谢回复!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Telink forum ( 沪ICP备17008231号-1 )

GMT+8, 2025-4-3 13:47 , Processed in 0.097175 second(s), 21 queries .

Powered by Telink 隐私政策

泰凌微电子版权所有 © 。保留所有权利。 2024

快速回复 返回顶部 返回列表