你好,
芯片为14683.我们希望在延长睡眠期间减少保留的内存以降低功耗。我找到了一个demo dk_apps \特征\ extended_sleep,其中config文件custom_config_qspi.h是:
#define dg_configqspi_cached_ram_size_bb(64 * 1024)
#define dg_configqspi_cached_retram_0_size_bb(24 * 1024)
总RAM + REDLAM_0 <128K并成功编译。但如果我们在我们的代码中使用相同的配置,则会显示溢出错误,直到我们设置回红径= 128k-RAM。
如果我们禁用dg_configoptimal_retram(1),它可以成功编译。但如果我们在代码中启用DG_CONFIGOPTIMAL_RETRAM(1),则会有一个新的错误:
#定义dg_configOPTIMAL_RETRAM (1)
#if(dg_configoptimal_retram == 1)
#define dg_configmem_retention_mode(0x02)
#定义dg_configSHUFFLING_MODE (0 x1)
#万一
#define dg_configQSPI_CACHED_RAM_SIZE_BB (20 * 1024)
#define dg_configqspi_cached_retram_0_size_bb(128 * 1024 - dg_configqspi_cached_ram_size_bb)
D:/ DiaSemi / SmartsnippetsStudio / GCC / 4_9-2015Q3 / BIN /../ LIB / GCC / ARM-NOR-EABI / 4.9.3 /../../../../ ARM-None-EABI /bin / ld.exe:无法打开链接器脚本文件d:\ pro / da14683-00-refoy_qspi / mem.ld:无效的参数
Collect2.exe:错误:ld返回1退出状态
制作:*** [pro.elf]错误1
为了降低功耗,我们实际需要什么设置来减少保留内存?对于RETRAM_0,是RAM在睡眠期间不被使用,还是RAM在睡眠期间被保留?dg_configMEM_RETENTION_MODE和dg_configQSPI_CACHED_RAM_SIZE_BB有什么区别?我在SDK中没有找到非常清晰的描述。
谢谢,
英文
嗨yingfen,
非常感谢您在线的问题和输入。让我检查一下,我会尽快让你知道。
谢谢,PM_DIALOG.
嗨yingfen,
为延迟道歉。请看一下UM-B-044:DA1468X软件平台参考从支持网站的文档。在图83(第162页)中,您可以找到保留RAM优化。如果定义了DG_CONFIGOPTIMAL_RETRAM宏,则RAM1,RAM2和RAM3保留在睡眠状态。为此,如果您想减少保留的内存,则可以“关闭”RAM3块,但您必须检查您的变量等可以适合RAM1和RAM2块。如果不是,应保留RAM3。
谢谢,PM_DIALOG.
嗨pm_dialog,
谢谢你提供参考。它帮助我了解结构,但我仍然对参考有一些问题。
1.在P157中,右下表52,它给出了一个例子,其中需要保留50k RAM。它仅使用RAM5和2.为什么DG_CONFIGMEM_RETENTION_MODE是0x1d(0b1 1101)而不是0x12(0b1 0010)(仅ram2和5)?
2.在图83中,您提供的示例,它将在睡眠期间保留RAM1-3,但不保留用于BLE ROM所需的RAM5(图77上方P156)。因为它是一个优化的项目,它是否意味着BLE ROM现在存储在湍流中而不是RAM5?屏幕截图中的内容(来自P156-P162之间的相同参考)似乎彼此冲突。
https://user-images.githubusercontent.com/32470088/67316033-5C912580-F4C ...
谢谢,
英文
嗨yingfen,
根据该文档,BLE ROM变量将在0x07FC0200地址中启动,该地址是在REDRAM2中。BLE ROM变量存储在DA14680 / 1设备中的RAM5中。在DA14683中,Ram5可以在睡眠中断电。如果您使用DA14683,则使用RAM优化没有任何问题。
谢谢,PM_DIALOG.
你好,
我正在使用实际的SDK和工具在eval-Board上使用DA14683设备。
似乎我的内存布局有问题,编译器告诉我用完内存,当需要超过32 KByte RAM。以下将显示:
app.elf部分`保留_ram0'不适合区域`retram0'
RetRAM0'溢出32个字节
以下是我的实际配置(来自custom_config_qspi.h)
我从一个示例中使用了这个,我希望至少有64 KByte RAM。
即使在玩数字时,我也无法解决问题。
我必须配置什么来获得最大值。在QSPI缓存模式下运行的BLE应用程序中的RAM大小?我想要保留完整的RAM。
顺便说一下,在项目设置中使用以下配置是正确的:
最好的祝福
节食者