This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more infromation.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Hi,. >Maybe with a more complete listing, i could suggest something. Well here is the full script i am using (i presume you dident mean a full source listing !!), anyway the overuse of new sections is to get round the lack of support for Microtec ORG (name) command. We have to build sections in the script in the order bellow so we get the right memory addresses (if you had not guested, its a custom os). Thanks for any help (or even for tying).. ENTRY(START) /* list of our memory sections */ /* bytes, or k or mb */ MEMORY { /* rom : o = 0x400, l = 512k */ _ram0 : o = 0x00200000, l = 512k /* initalise */ _ram1 : o = 0x00280000, l = 512k _modbase : o = 0xfffff000, l = 256 _modbase6 : o = 0xfffff600, l = 256 _modbase7 : o = 0xfffff700, l = 256 _new_sect40000 : o = 0x00400000, l = 8 /* watchdog_reg */ _new_sect40004 : o = 0x00400040, l = 8 /* rtc data reg */ _new_sect4000c : o = 0x004000c0, l = 8 /* misc out / modem ctrl */ _new_sect40018 : o = 0x00400018, l = 8 /* geobus address */ _new_sect40014 : o = 0x00400014, l = 8 /* misc in / LEDs */ _new_sect4001c : o = 0x0040001c, l = 8 /* data in/out / geobus data */ _new_sect40010 : o = 0x00400010, l = 8 /* tt reset / station address */ _pr3 : o = 0x00710000, l = 1k } /* ---------------------- */ /* main var/data sections */ /* ---------------------- */ SECTIONS { /* initialized data */ .init : AT (__bdata_end) /* memcpy to init */ { __data_start = .; *(VTABLE) /* now, 400 bytes */ *(STACK) /* now, 800 bytes */ *(EXCEPTIO) /* now, 800 bytes */ *(USTACK) /* now, 100 bytes */ *(APPDATA) /* now, 2 bytes */ *(UNINITVA) /* 0 */ *(.data) __data_end = .; } > _ram0 /* application stack */ .stack : { __stack_start = .; *(.stack) __stack_end = .; } > _ram1 /* --------- */ /* modbase`s */ /* --------- */ MODBASE (NOLOAD) : { *(MODBASE) } > _modbase MODBASE6 (NOLOAD) : { *(MODBASE6) } > _modbase6 MODBASE7 (NOLOAD): { *(MODBASE7) } > _modbase7 /* ------- */ /* moncode */ /* ------- */ APPCODE : { *(APPCODE) } > _ram1 /* .text */ /* ------------- */ /* data sections */ /* ------------- */ /* code and constants */ .text : { __text_start = .; *(.text) *(.strings) __text_end = .; } > _ram1 BDATA : { __bdata_start = .; *(BDATA) *(code) *(const) *(vars) __bdata_end = .; } > _ram1 /* uninitialized data */ .bss : { __bss_start = . ; *(.bss) *(COMMON) __bss_end = . ; } > _ram0 /* ---------- */ /* work areas */ /* ---------- */ /* mapped to special address */ PR3_DUAR : { *(PR3_DUAR) } > _pr3 /* freeram goes after everything else */ FREERAM : { *(FREERAM) } > _ram0 /* --------------- */ /* custom sections */ /* --------------- */ sect4000 : /* watchdog_reg */ { *(sect4000) } > _new_sect40000 sec40004 : /* rtc data reg */ { *(sec40004) } > _new_sect40004 sec4000c : /* misc out / modem ctrl */ { *(sec4000c) } > _new_sect4000c sec40018 : /* geobus address */ { *(sec40018) } > _new_sect40018 sec40014 : /* misc in / LEDs */ { *(sec40014) } > _new_sect40014 sec4001c : /* data in/out / geobus data */ { *(sec4001c) } > _new_sect4001c sec40010 : /* tt reset / station address */ { *(sec40010) } > _new_sect40010 } /* end of sections */ regards --- Matthew J Fletcher amimjf@connectfree.co.uk www.amimjf.connetcfree.co.uk ICQ amimjf 44193496 Serck Controls Ltd Programming from PIC to Java ________________________________________________________________________ Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |