how to extend useful space for adding a third library to my app

7 posts / 0 new
Last post
kurbylee
Offline
Last seen:3 years 4 months ago
加入:2014-11-05 09:10
how to extend useful space for adding a third library to my app

Hi,dialog
In my app,I have to use a third party library(A_cm0.lib),the lib file size is about 28K.
After add the lib file to a exist keil project ,I compile the project(proximary),and I get msg from build output window as below:
No space in execution regions with .ANY selector ......

I browse the scatter file ,but it is too complicated to me.
任何人都可以告诉我如何解决it?
ths!

Device:
JE_Dialog
Offline
Last seen:2 days 6 hours ago
Staff
加入:2013-12-05 14:02
HI Kurbylee, we have

HI Kurbylee, we have customers who have modified the scatter files to extend memory : but its only to about adding another 5-6K from memory. Exactly how muhc do you need in total ? BR JE_Dialog

kurbylee
Offline
Last seen:3 years 4 months ago
加入:2014-11-05 09:10
I am adding patch to the

I am adding patch to the scatterfile and vector.s got from DA's agent. I cannt get result now.
ths

hardy.chen
Offline
Last seen:1 year 8 months ago
加入:2015-03-13 04:20
Hi Dialog team,

Hi Dialog team,

Would you also provide the guideline of extending the code execution area?
Below is the example of referring to scatter file of keyboard reference design, but I still need more space to resolve it.
I suppose that re-organization of the sections starting from RW_IRAM50 is required for my need.

-- my change of scatter file according to keyboard reference
;LR_IROM4 0x20000340 0x100 {
; ER_IROM4 0x20000340 0x100 {
; * (nvds_data_storage_area)
; }
;}
LR_IROM4 0x20000340 0xa4 {
ER_IROM4 0x20000340 0xa4 {
* (nvds_data_storage_area)
}
}

;LR_IROM5 0x20000440 0x93c0 {
; ER_IROM5 0x20000440 0x7ac0 {
LR_IROM5 0x200003e4 0x941c {
ER_IROM5 0x200003e4 0x7b1c {
*(InRoot$$Sections) ; All library sections that must be in a
; root region, for example, __main.o,
; __scatter*.o, __dc*.o, and * Region$$Table
boot_vectors.o (+RO)
system_ARMCM0.o (+RO)
;*armlib* (+RO)
.ANY (+RO)
.ANY (+RW)
}

MT_dialog
Offline
Last seen:1 week 4 days ago
Staff
加入:2015-06-08 11:34
Hi hardy.chen,

Hi hardy.chen,

There is no document to describe how to rearrange the memory in order to gain space. You can check the UM-B-011: DA14580 Memory map and scatter file to have an idea how the da memory is organized. Also the memory re-arrange is depended on the sleep mode that you are willing to use (in extended sleep you have more options since there no need for retention) and if you use OTP or Flash memory. How much more space do you need ?

Thanks MT_dialog

hardy.chen
Offline
Last seen:1 year 8 months ago
加入:2015-03-13 04:20
Hi Dialog team,

Hi Dialog team,

I'm using extended sleep mode. Only 1 connection available (peripheral role).

The idea is to allocate as much as possible of memory for code from 0x20000440 ~ 0x200008FFF (including retention_mem_area0, ZI and heap).
Cause I don't know if any feasibility of moving retention_mem_area0 and ZI from 0x200008000 to elsewhere that closer to the heap starting point.

Would you show me the guideline of moving RW_IRAM50 to higher address for gaining more space for code area?

hardy.chen
Offline
Last seen:1 year 8 months ago
加入:2015-03-13 04:20
Hi, Dialog team,

Hi, Dialog team,

I've managed to extend the code space via modification of scatter file.
It's seems that there is no dependency with sitting ZI_AT_8000 to be fixed at 0x20008000.

This topic can be closed. Thanks!

Topic locked