PLUS+1 User Forum
PLUS+1 Tools => PLUS+1 GUIDE => Topic started by: Pankaj on February 03, 2016, 09:15:51 AM
-
Facing below problem with Linker in Guide.
"app2812link.cmd", line 23: error: placement fails for object ".text", size
0x1d6a3 (page 0). Available ranges:
BASE_SECTOR size: 0x1f80 unused: 0x0 max hole: 0x0
FLASH size: 0x1bfe0 unused: 0x0 max hole: 0x0
"app2812link.cmd", line 24: error: placement fails for object ".econst", size
0x1bca (page 0). Available ranges:
BASE_CSM size: 0x76 unused: 0x0 max hole: 0x0
BASE_SECTOR size: 0x1f80 unused: 0x0 max hole: 0x0
FLASH size: 0x1bfe0 unused: 0x0 max hole: 0x0
error: errors encountered during linking; "xyz.out" not built
Not a clue whats going on .... 8) 8) 8)
Anyone came across similar problem before ???
-
Hello Pankaj
It seems like you have passed the limit of available memory in the target system.
You may to go back one step in your version control system, to the previous working version, compile it and have a look in the Build messages how much memory the application is calculated to consume. Looks something like this (SC050-120):
Danfoss PLUS+1 GUIDE Software: [MEMCalc] Version: 7.2.10
***
****** Memory Usage in bytes ******
Type Total System Application Free Used/Avail
------------------------------------------------------------------------------------------------
ROM 507904 93926 2448 411530 1%
RAM 129536 34400 0 95136 0%
NV 4000 0 0 4000 0%
There you can see an estimate of how much free memory you have (about 411 kB in this example). The % shows how much is used in percentage. Please note that the memory calculation is just an estimate.
ROM is basically where your application is stored.
RAM is for temporary values. Arrays often have a big impact here.
If the ROM is full, the application code most often can be optimized to consume less memory. This basically means using less components in the design. Look through your code and see if there, for example, are portions of code that is often repeated and that can be placed in a loop instead, or in a page like a subfuncion etc. There can be many ways and most applications can often be optimized a little bit more...
The "Development Guideline" document (found in you Danfoss folder on the Start menu) is also giving a few examples.
Best Regards
Daniel
PLUS+1® Help desk