你好,
芯片是14683。我们希望在长时间睡眠中减少保留的内存,以减少功耗。我发现一个演示dk_apps\features\extended_sleep,其中的配置文件custom_config_qspi.h是这样的:
#define dg_configQSPI_CACHED_RAM_SIZE_BB (64 * 1024)
#define dg_configQSPI_CACHED_RETRAM_0_SIZE_BB (24 * 1024)
总RAM+RETRAM_0<128k,编译成功。但是如果我们在代码中使用相同的配置,它将显示溢出错误,直到我们设置RETRAM_0=128k-RAM。
如果禁用dg_configOPTIMAL_RETRAM(1),它就可以成功编译。但是如果我们在代码中启用dg_configOPTIMAL_RETRAM(1),将会出现一个新的错误:
#define dg_configoptimal_retram(1)
#if (dg_configoptimal_ream == 1) / /输入参数
#定义dg_configMEM_RETENTION_MODE (0 x02)
#define dg_configshuffling_mode(0x1)
# endif
#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)
cd:/diasemi/smartsnippetsstudio/gcc/4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../ arm-none-eabi/bin/ld.exe: cannot open linker script file d: \Pro/DA14683-00-Release_QSPI/mem. .ld:无效的论点
collect2.exe:错误:LD返回1个退出状态
: * * * (Pro。精灵]错误1
我们需要减少保留存储器的实际设置是什么,以减少功率?对于回动,是睡眠期间不会使用的RAM,或者RAM将在睡眠期间保持?dg_configmem_retention_mode和dg_configqspi_cached_ram_size_bb之间有什么区别?我没有在SDK中找到非常清晰的描述。
谢谢,
Yingfen

嗨yingfen,
非常感谢你在网上提出的问题和你的意见。让我查一下,然后很快通知您。
谢谢,PM_Dialog
嗨yingfen,
很抱歉耽搁了。请您看一下UM-B-044: DA1468x软件平台参考文件从支持网站。在图83(162页)中,您可以找到Retention RAM优化。如果定义了dg_configOPTIMAL_RETRAM宏,那么RAM1、RAM2和RAM3将保持在睡眠状态。为了做到这一点,如果你想减少保留的内存,你可以“关闭”RAM3块,但你必须检查你的变量等可以适合RAM1和RAM2块。如果没有,应该保留RAM3。
谢谢,PM_Dialog
嗨PM_Dialog,
谢谢你提供的参考资料。它能帮助我理解结构,但是我对参考文献还有一些疑问。
1.在表52的正下方的P157中,它给出了一个需要保留50K RAM的示例。它只使用RAM5和2。为什么dg_configMEM_RETENTION_MODE是0x1D(0b1 1101)而不是0x12(0b1 0010)(只有RAM2和5)?
2.在图83中您提供的示例中,它将在睡眠期间保留RAM1-3,但是BLE ROM(图77上面的P156)需要的RAM5没有保留。由于它是BLE优化项目,这是否意味着BLE ROM现在存储在RetRAM0而不是RAM5?截图中的内容(都来自P156-P162之间的相同引用)似乎彼此冲突。
https://user-images.githubusercontent.com/32470088/67316033-5c912580-f4c..。
谢谢,
Yingfen
嗨yingfen,
根据文档,BLE ROM变量将从RetRAM2中的0x07FC0200地址开始。BLE ROM变量存储在DA14680/1设备的RAM5中。在DA14683中,RAM5可以在睡眠中断电。如果使用DA14683,则使用图83所示的RAM优化没有问题。
谢谢,PM_Dialog
你好,
我正在使用eval板上的DA14683设备与实际的SDK和工具。
似乎我对内存布局有问题,编译器告诉我在需要更多的32千字的RAM时耗尽内存。以下将显示:
App.elf section ' RETENTION_RAM0'将不适合区域' RetRAM0'
retram0'溢出32字节
下面是我的实际配置(来自custom_config_qspi.h)
我从一个示例中使用了这个,我希望至少有约64千字的RAM。
即使摆弄数字,我也解决不了这个问题。
我需要配置什么才能得到最大值。以QSPI缓存模式运行的BLE应用程序的RAM大小?我想保留完整的内存。
顺便问一下,在项目设置中使用以下配置是否正确:
致以最亲切的问候
迪特尔