good source for linker scripts

Feb 28, 2006 6 Replies

Hi.



Do you have a good source that describes the linking process for microprocessors and especially linker scripts in detail? What I found on the web it looks like an arcane art and most of the time the vendor supplied scripts work, but in my case it doesn't.



Thanks a lot, Knopf.



Linking has some general principals, but every linker scripting language I have ever run into has been proprietary to the linker in question, and very poorly documented. I've always had to survive on a combination of starting from a vendor-supplied script, scratching around for what information I could, and lots of experimentation. In the end it's an arcane art, but in the beginning it's some poor SOB scratching around trying to make things work.

Tim Wescott Wescott Design Services http://www.wescottdesign.com Posting from Google? See http://cfaj.freeshell.org/google/

Lewin Edwards (who posts here I think) has a book "Embedded System Design on a Showstring" with a good section on this. It is fairly specific to the GNU toolchain, although I imagine the principles are fairly universal.

I found it by far the most useful part of the book, since as you say this is something that never seems to get discussed elsewhere. (And I already knew the rest of the GNU toolchain fairly well).

John Devereux

They are dependent on the linker you're using.

Also, the linker scripts depend on your hardware, they are usually the last means to tell where your embedded processor has its different memory areas (such as RAM, ROM, I/O, EEPROM, etc).

For the GNU toolkit, look at the manuals page at . The linker is in ld-2.9.1. You may also ne interested in the GNU assembler manual, as the compilers all translate their output to assembler and use gas to assemble it and ld to link it.

HTH

Tauno Voipio tauno voipio (at) iki fi

Hi, I am glad that I am not alone in the world that find linkers complex to use. I have been working with embedded technology for more than 20 years and linkers have always bee that crap.

The best I have seen until now, is the IAR Embedded Workbench for the AVR.

You call it arcane art, yes I agree, but I also think, that understanding the linking process and the scripts and control files, are an essential part of the Embedded Discipline. Knowing these parts makes some distance to the crowd of programmers that makes PC and Windows software.

Have a nice day,

regards JG (B. Sc. e. e.)

"Tim Wescott" skrev i en meddelelse news:7e6dncrnppio45nZnZ2dnUVZ snipped-for-privacy@web-ster.com...

John Levine's book on Linkers and Loaders is the only in-depth study I'm aware of, but it's more concentrated on 'big system' linking and loading than on small embedded devices -- the principles mostly hold, though a lot of the details are different.

formatting link

It has worried me for the best part of two decades that linking and loading aren't really taught on degree courses - it cuts across compilers, comp. arch. (background to different memory spaces, "near", "far" and "segmented" spaces etc), and embedded systems, yet it's something we always find new/recent graduates are weak on.

pete

pete@fenelon.com [Support no2id.net: working to destroy Blair's ID card fraud]

Alan Baldwin wrote a series of assemblers for various microprocessors and a linker is included. They should be available at roughly: ftp.simtel.net/pub/simtelnet/msdos/??/??.zip.

Hul

Kn> Hi.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required