Out of memory in output section 'dxe_block0_data_prio2_bw' in processor 'SC573_CORE_1'
I have created a CrossCore Embeeded Studio project for ADSP-SC573 sharc Eval board. In Core 1 I am getting the linker description errors such as:
.....Core1\system\startup_ldf\app.ldf":388 Out of memory in output section 'dxe_block0_data_prio2_bw' in processor 'SC573_CORE_1'
.....Core1\system\startup_ldf\app.ldf":427 Out of memory in output section 'dxe_block0_data_prio3_bw' in processor 'SC573_CORE_1'
.....Core1\system\startup_ldf\app.ldf":613 Out of memory in output section 'dxe_block1_data_prio2_bw' in processor 'SC573_CORE_1'
.....Core1\system\startup_ldf\app.ldf":672 Out of memory in output section 'dxe_block1_data_prio3_bw' in processor 'SC573_CORE_1'
.....Core1\system\startup_ldf\app.ldf":997 Out of memory in output section 'dxe_block2_data_bw' in processor 'SC573_CORE_1'
.....Core1\system\startup_ldf\app.ldf":1084 Out of memory in output section 'dxe_block3_data_bw' in processor 'SC573_CORE_1'
.....Core1\system\startup_ldf\app.ldf":1236 Out of memory in output section 'dxe_l2_data_bw' in processor 'SC573_CORE_1'
What is causing this problem and how to fix the memory issue?
thank you,
Jim
Audio Signal Processors
adsp-sc573
sharc
SHARC Audio Processors/SoCs
Hi,
Apologies for the delay caused here. We missed to track this thread.
Please note that the error message "out of memory" is reported when the linker is unable to map all the input sections into the named output section.
We would recommend to enable Linker Elimination via Project->Properties->C/C++ Build->Settings->CrossCore SHARC Linker->Elimination->Eliminate Unused Objects. When elimination is enabled, the Linker discards any objects (*.doj) within the library that do not contain any relevant code or data (i.e. the application makes no reference to any of the data or code symbols within that object). The linker can then examine the objects that are required for the link, and extract only those symbols required to resolve references from the application code, further stripping out unused data.
Another option is enabling 'Individually map functions and data items' via 'General' tab of the CrossCore SHARC Linker options.When enabled, directs the linker to fill in fragmented memory with individual data objects that fit. When this option is selected, the default behavior of the linker (to place data blocks in consecutive memory addresses) is overridden.
By enabling the 'Generate symbol Map' option under the 'General' options for the Linker. This will produce a "project_name.map.xml" file in 'debug' folder the project that can be opened in Internet Explorer. It will show all your memory sections, and how much free/unused space there is.
As your project exhaust the available internal memory, you would need to look at making use of SDRAM, if your target has external memory. Select Use external memory (SDRAM) to enable the size and partitioning controls under system.svc > Startupcode/LDF > LDF > External Memory
Please refer the below CCES help path for more information about linker error:
CrossCore® Embedded Studio <version> > SHARC® Development Tools Documentation > Linker and Utilities Manual > Linker and Archiver Messages > Linker Messages > Errors
Furthermore, we recommend the EngineerZone as a resource for Linker Errors such as this. We have assisted a number of customers with similar queries which can be found through the EngineerZone
Search: https://ez.analog.com/
Regards,
Santhakumari.K
Hi,
Apologies for the delay caused here. We missed to track this thread.
Please note that the error message "out of memory" is reported when the linker is unable to map all the input sections into the named output section.
We would recommend to enable Linker Elimination via Project->Properties->C/C++ Build->Settings->CrossCore SHARC Linker->Elimination->Eliminate Unused Objects. When elimination is enabled, the Linker discards any objects (*.doj) within the library that do not contain any relevant code or data (i.e. the application makes no reference to any of the data or code symbols within that object). The linker can then examine the objects that are required for the link, and extract only those symbols required to resolve references from the application code, further stripping out unused data.
Another option is enabling 'Individually map functions and data items' via 'General' tab of the CrossCore SHARC Linker options.When enabled, directs the linker to fill in fragmented memory with individual data objects that fit. When this option is selected, the default behavior of the linker (to place data blocks in consecutive memory addresses) is overridden.
By enabling the 'Generate symbol Map' option under the 'General' options for the Linker. This will produce a "project_name.map.xml" file in 'debug' folder the project that can be opened in Internet Explorer. It will show all your memory sections, and how much free/unused space there is.
As your project exhaust the available internal memory, you would need to look at making use of SDRAM, if your target has external memory. Select Use external memory (SDRAM) to enable the size and partitioning controls under system.svc > Startupcode/LDF > LDF > External Memory
Please refer the below CCES help path for more information about linker error:
CrossCore® Embedded Studio <version> > SHARC® Development Tools Documentation > Linker and Utilities Manual > Linker and Archiver Messages > Linker Messages > Errors
Furthermore, we recommend the EngineerZone as a resource for Linker Errors such as this. We have assisted a number of customers with similar queries which can be found through the EngineerZone
Search: https://ez.analog.com/
Regards,
Santhakumari.K
Please log in to reply.