1个月前
RAM分配
张贴了梅尔杰30分 8回复我最近下载了DA14531的最新SDK(6.0.4.1114)并试图构建我的项目,但现在项目无法链接,因为没有足够的RAM免费。该项目与SDK 6.0.12.1020.2建立了很好的罚款。我该怎么办法优化RAM使用情况?我正在使用GCC-ARM-None-EABI-7-2018-Q2-Update在Linux上建立 - Optimation-os
在SDK 6.0.4.1114的发行说明中,它状态“1114/02定义了应用程序的额外的免费RAM区域” - 该额外的RAM应该如何成为可用模式,或者它自动可用吗?雷竞技安卓下载您还能确认SDK 6.0.4.1114是否比6.0.12.10202更明显更多的RAM?我至少看到了像额外的2.5kb。
也应该将#define cfg_ret_data_size和#define cfg_ret_data_uninit_size设置为什么?是否有含义来设置这些错误?CPU堆栈大小设置在哪里?与我使用的其他平台相比,我发现周围的整个文件令人失望缺乏或不透明。
另一个相关问题:当我可以构建我的代码时,我发现总体大小的限制接近于GCC报告的40kb总数:例如
“文本数据BSS DEC HEX
27180 156 11844 39180 990C“
在上面的示例中,如果我增加普通的RAM缓冲区大小仅略高于256字节,则由于以下错误导致项目无法链接:
“/../../../Arm-none-eabi/bin/ld:Region RAM overFlowed堆栈”
这意味着中断向量,堆栈和堆大小加入到8KB左右(因为我相信DA14531具有48KB的总RAM) - 这是正确的,这似乎是一个异常大量的分配给这些?请指教。
1个月前
嗨梅尔杰,
谢谢你的问题在线。您能否说明您正在尝试构建的SDK项目,以便我可以尝试复制它?你在使用Keil IDE吗?
谢谢,PM_DIALOG.