⚠️
Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads at//www.wsdof.com/support. We’ll be fixing bugs / optimising the searching and tagging over the coming days.
5个帖子/ 0新
Last post
Jun-Ichi.Tobe
Offline
Last seen:4 months 6 days ago
加入:2016-04-01 10:39
Expand System Memory

Hello Support,

In using DA 14580, is it possible to expand the main memory area by moving the STACK area and HEAP area to the Retension area?
If it is possible to move these area, could you please tell me how to do it.

问候,

Jun-Ichi.

Device:
MT_dialog
Offline
Last seen:2 weeks 2 days ago
工作人员
加入:2015-06-08 11:34
Hi Jun-ichi Tobe,

Hi Jun-ichi Tobe,

The retention memory area is allready used by the SDK (its not an empty space only for user variables), and the BLE Heap is allready placed in the RET ram along with other structures that have to be placed in the RET ram (exchange memory). So what you are going to move on which memory area that depends on your application and the features that your application is supporting (extended, deep sleep, amount of connections since different memory conifguration is used). If this is about increasing the code that you can place in the 580, be aware that you will need a full licence of the keil in order to compile the code and also there are a couple of tricks that will allow you to increase the memory usage of the 580, you will be able to get some info by checking the below posts, also i repeat, that the modifications depend on the sleep configuration of your device.

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

Also you can have a look at the UM-B-011 : User manual - DA14580 Memory map and scatter file.pdf in the documents tab under the Discontinued documents, SDK3 documents section.

Thanks MT_dialog

Jun-Ichi.Tobe
Offline
Last seen:4 months 6 days ago
加入:2016-04-01 10:39
Hello Support,

Hello Support,

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

目前,由于我们不使用深度睡眠模式,我们认为可以在没有问题的情况下使用所有RAM区域。
I think the usable area is below.
20000440-200097FF 37.8 kB
80000 - 81FFF 8 kB
82000 - 82FFF 4 kB
I think that the above is all of RAM.

Currently HEAP and STACK is reserved for the following.
HEAP 0x20009080 Section 256 boot_vectors.o (HEAP)
堆栈0x20009200第1536节Boot_vectors.o(堆栈)

So I'm thinking about the following things.
① If these area (HEAP and/or STACK) can be placed between 80000-82FFF, the above 256 + 1536 area can be used as a code area.

② If we can further use the area of 82000-82 FFF as the CODE area, we think that CODE size will be further increased and 42 kB will be the upper limit.

Are there any way to make ① and/or ② possible?
如果有几个卫理公会教徒ds, couild you please teach those methods.

Best regards,

Jun-Ichi.

MT_dialog
Offline
Last seen:2 weeks 2 days ago
工作人员
加入:2015-06-08 11:34
Hi Jun-ichi Tobe,

Hi Jun-ichi Tobe,

The retained memory space isn't an empty space or used only by the data that you would like to retain when going to deep sleep, in the retained memory area are located the heaps used by the BLE core (Enviroment, Databse and message heaps), also a part of it ise used by the ROM code, and finally the retained memory area is also used by the exchange memory (a memory area used for the commucation between the hw and the sw). So you can't just place the STACK and HEAP of the system in that area, and even if you do so, that doesn't mean that entire sysram will be at your disposal, since on the sysram there is additional space that needs to be allocated other than the user code space and also in memory case 23 which is the default of the SDK the continious sysram memory is about 38K and not 42K. In general there are ways to extend the area of code that one can download to the 580 but that is depended on the application one wants to implement and on his requirements, although its not possible to reach 42KB of user code.

Apart from what i ve allready mentioned on link i ve posted i suppose that one could change the EM mapping of the of the memory from case 23 to case 7 and create a continues memory space area of 42K (you wont be able to use it all since you will have to allocate space for the load regions prior to LR_IROM5), then you will have to adjust all the execution regions accordingly but there is no step by step guidelines or examples on how one can do that.

Thanks MT_dialog

JE_Dialog
Offline
Last seen:1 day 5 hours ago
工作人员
加入:2013-12-05 14:02
Hi There Jun-Ichi, we also

Hi There Jun-Ichi, we also have DA14585 which now doubles the memory... pin for pin with DA14580.

BR JE_Dialog