X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fstmf0%2Faltos.ld;h=9dbc83d0b6967116faa6ffe1ce4c57cd305e7a5f;hb=eac71f2b871357ff69581c713059a3741a82a932;hp=6672c1fd5965afd769d8b412789b0fad3cddc7b6;hpb=02f03df6d089cafae99f8ce15dcbd87f6e78d749;p=fw%2Faltos diff --git a/src/stmf0/altos.ld b/src/stmf0/altos.ld index 6672c1fd..9dbc83d0 100644 --- a/src/stmf0/altos.ld +++ b/src/stmf0/altos.ld @@ -16,9 +16,9 @@ */ MEMORY { - rom (rx) : ORIGIN = 0x08000000, LENGTH = 32K - ram (!w) : ORIGIN = 0x20000000, LENGTH = 5632 - stack (!w) : ORIGIN = 0x20001600, LENGTH = 512 + rom (rx) : ORIGIN = 0x08001000, LENGTH = 28K + ram (!w) : ORIGIN = 0x20000000, LENGTH = 6k - 128 + stack (!w) : ORIGIN = 0x20000000 + 6k - 128, LENGTH = 128 } INCLUDE registers.ld @@ -30,12 +30,15 @@ SECTIONS { * Rom contents */ - .text ORIGIN(rom) : { - __text_start__ = .; + .interrupt ORIGIN(ram) : AT (ORIGIN(rom)) { + __interrupt_start__ = .; + __interrupt_rom__ = ORIGIN(rom); *(.interrupt) /* Interrupt vectors */ + __interrupt_end__ = .; + } > ram - . = ORIGIN(rom) + 0x100; - + .text ORIGIN(rom) + 0x100 : { + __text_start__ = .; /* Ick. What I want is to specify the * addresses of some global constants so @@ -49,14 +52,12 @@ SECTIONS { */ ao_romconfig.o(.romconfig*) ao_product.o(.romconfig*) + *(.text*) /* Executable code */ + *(.ARM.exidx* .gnu.linkonce.armexidx.*) *(.rodata*) /* Constants */ } > rom - - .ARM.exidx : { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > rom __text_end__ = .; /* Boot data which must live at the start of ram so that