Am 23.11.2008 um 23:21 schrieb Martin Laabs:
Hi,I have a board with a lpc2294. This processor has about 256kB of fast internal flash. However - this is not enough. At least while developement. I have plenty of flash at the external memory bus but it has many waitstates. Now I'd like to split ecos in two parts and say "HAL, Kernel andMath"-Package in the fast internal flash, "ISO-C, Fat, zLib etc."- Packagesinto the slow external flash. Is this possible without too much handwork on the linker script? (So not add every symbol per hand to the coresponding section.)
I don't know a way that could do it without much handwork.
And if not - does the gnu-ld linker support two sections of the same name or assignment of (i.e. the .text) segment to two differ- ent memory regions? (So that I could use as well the internal as the external flash for the .text segment.) The info page of ld was not very informative about that.
Yes, this should be possible although I never did that. Please read http://sourceware.org/binutils/docs/ld/Scripts.html#ScriptsI think I would solve that by mapping the same input sections to two different output sections seperating them by filename. - not very nice but should work.
Derived from the example I would write something like: SECTIONS { .text : { *(.text) } .text1: {library.o(.text)} .data : { *(.data) } .bss : { *(.bss) } } } Also see: http://sourceware.org/binutils/docs/ld/Input-Section-Example.html#Input-Section-Example Lars
PGP.sig
Description: This is a digitally signed message part