linker description file, .ldf syntax

Discussion about Parallella (and Epiphany) Software Development

Moderators: amylaar, jeremybennett, simoncook

linker description file, .ldf syntax

Postby DavidEngdal » Wed May 22, 2013 7:51 am

I would like to pick certain functions e.g. sinf() from newlib to be placed in internal memory by use of the .ldf-file while still keeping the bulk of the newlib in external memory.
Is this possible?

My experiments with the syntax of the .ldf has not yet been successfull :-(
Does anyone know how to do this?
This is an example of what I've tried:
------------------------------------
NEW_LIB_RO . : {lib_a-*.o(.text .rodata) *.o(libgloss_epiphany)} > EXTERNAL_DRAM_0
NEW_LIB_WR . : {lib_a-*.o(.data) } > EXTERNAL_DRAM_0

/* an atempt to place sinf in internal memory */
NEW_LIB_RO : {*sf_sin.o(.text .rodata) *sf_sin.o(libgloss_epiphany) } > INTERNAL_RAM
NEW_LIB_WR : {*sf_sin.o(.data) } > INTERNAL_RAM
------------------------------------
User avatar
DavidEngdal
 
Posts: 3
Joined: Tue May 21, 2013 6:49 am
Location: Sweden

Re: linker description file, .ldf syntax

Postby simoncook » Wed May 22, 2013 11:08 am

Hi,

The syntax of what you have pasted is incorrect in that you haven't specified where the section should be (this is the . in the top two lines). The linker will then throw an error that your section NEW_LIB_RO is not within either EXTERNAL_DRAM_0 or INTERNAL_RAM. To achieve what you want, you need to put the sinf change above any EXTERNAL_DRAM_0 code and code should then be placed in the places you want.

I have attached an example that moves sin based on legacy.ldf from the SDK, but modifying the file name of what you want to move should achieve the correct result. (Look for SIN_LIB_RO)

Hope this helps
Attachments
legacy.txt
Example linker script
(19.31 KiB) Downloaded 350 times
User avatar
simoncook
 
Posts: 50
Joined: Mon Dec 17, 2012 3:25 am
Location: United Kingdom

Re: linker description file, .ldf syntax

Postby DavidEngdal » Wed May 22, 2013 1:46 pm

Thanks Simon, great, I'll try this out as soon as I can. :)
User avatar
DavidEngdal
 
Posts: 3
Joined: Tue May 21, 2013 6:49 am
Location: Sweden


Return to Programming Q & A

Who is online

Users browsing this forum: No registered users and 2 guests