展开系统内存

学到更多常见问题解答教程

5个帖子/ 0新
最后一篇
Jun-ichi Tobe
离线
最后一次露面:2个月3天前
加入:2016-04-01 10:39
展开系统内存

你好支持,

在使用DA 14580时,是否可以通过将堆叠区域和堆区域移动到RETURMARY区域来扩展主存储区?
如果可以移动这些区域,请您告诉我如何做到这一点。

问候,

Jun-Ichi.

设备:
mt_dialog.
离线
最后一次露面:1个月3周前
员工
加入:2015-06-08 11:34
嗨jun-ichi tobe,

嗨jun-ichi tobe,

SDK全部使用保留存储区域(其不是仅用于用户变量的空空格),并且BLE堆已全部放置在RET RAM中以及必须放置在RET RAM中的其他结构(交换存储器)。因此,您将在哪个内存区域移动到哪些内存区域,这取决于您的应用程序以及应用程序正在支持的功能(扩展,深度睡眠,由于使用不同的内存电缆的连接量)。如果这是关于增加您在580中可以放置的代码,请注意,您需要一份keil的完整许可,以便编译代码,并且还有几个技巧允许您提高内存使用情况在580中,您将能够通过检查下面的帖子来获得一些信息,也可以重复,修改取决于设备的睡眠配置。

https://support.dialog-semicondiondiondum/how-build-program-code-larger-32kb.

此外,您可以查看UM-B-011:用户手册 - DA14580内存映射和STACK FILE.PDF在“已停止文档”中的“Docontined文档”下,SDK3文档部分。

谢谢mt_dialog.

Jun-ichi Tobe
离线
最后一次露面:2个月3天前
加入:2016-04-01 10:39
你好支持,

你好支持,

查看我们的地图文件,
我们目前正在使用0x20000440至0x200089xx的ROM代码
我们正在使用大约34 kB的面积,因此我们至少在您的论坛中介绍的方法(“如何构建程序 - 代码-Might-32KB”)。

目前,由于我们不使用深度睡眠模式,我们认为可以在没有问题的情况下使用所有RAM区域。
我认为可用区域如下。
20000440-200097FF 37.8 KB.
80000 - 81FFF 8 KB
82000 - 82FFF 4 KB
我认为以上就是所有的公羊。

目前堆和堆栈保留为以下内容。
堆0x20009080第256节Boot_vectors.o(堆)
堆栈0x20009200第1536节Boot_vectors.o(堆栈)

所以我正在考虑以下事情。
①如果这些区域(堆和/或堆叠)可以放置在80000-82FFF之间,以上256 + 1536个区域可用作代码区域。

②如果我们可以进一步使用82000-82 FFF作为代码区域,我们认为代码大小将进一步增加,42 KB将是上限。

有没有办法制作①和/或②可能?
如果有几种方法,那么COUILD你会教这些方法。

最好的祝福,

Jun-Ichi.

mt_dialog.
离线
最后一次露面:1个月3周前
员工
加入:2015-06-08 11:34
嗨jun-ichi tobe,

嗨jun-ichi tobe,

保留的存储空间不是空的空间,或者仅由您希望在深入睡眠时保留的数据,在保留的存储区位于BLE核心(环境,数据库和消息堆)使用的堆中,还由ROM代码使用的ITE的一部分,并且最后还使用Exchange存储器(用于在HW和SW之间进行处理的存储区域)使用留存存储区域。所以你不能只是将系统的堆栈和堆放在该区域中,即使您这样做,也不意味着整个Sysram将随时为您服务,因为在Sysram上有需要的额外空间除了用户代码空间以外,还可以在内存案例23中分配,这是连续式Sysram内存的默认值为38k而不是42k。通常有些方法可以扩展一个人可以下载到580的代码区域,但依赖于应用程序想要实现和他的要求,尽管它不可​​能达到42KB的用户代码。

除了在链接上提到的链接时,我发布了我想象一个人可以将来自案例23的内存的EM映射更改为案例7,并创建一个延续的内存空间面积为42k(你不会能够使用它由于您必须在LR_IROM5之前为负载区域分配空间),因此您必须相应地调整所有执行区域,但是没有步骤指南或示例如何对其执行此操作。

谢谢mt_dialog.

je_dialog.
离线
最后一次露面:1周前1周前
员工
加入:2013-12-05 14:02
嗨,那里,我们也

嗨,jun-ichi,我们还有DA14585,现在可以将存储器加倍,带有DA14580的销钉。

BR JE_DIALOG.