diff options
| -rw-r--r-- | src/stmf0/altos-loader.ld | 9 | ||||
| -rw-r--r-- | src/stmf0/altos.ld | 5 | 
2 files changed, 6 insertions, 8 deletions
| diff --git a/src/stmf0/altos-loader.ld b/src/stmf0/altos-loader.ld index 2feb515d..86cf1838 100644 --- a/src/stmf0/altos-loader.ld +++ b/src/stmf0/altos-loader.ld @@ -29,14 +29,15 @@ SECTIONS {  	 * Rom contents  	 */ -	.text : { +	.interrupt : {  		__text_start__ = .;  		*(.interrupt)	/* Interrupt vectors */ +	} > rom -		. = ORIGIN(rom) + 0x100; - +	.text ORIGIN(rom) + 0x100 : {  		ao_romconfig.o(.romconfig*)  		ao_product.o(.romconfig*) +  		*(.text*)	/* Executable code */  		*(.ARM.exidx* .gnu.linkonce.armexidx.*)  		*(.rodata*)	/* Constants */ @@ -47,7 +48,7 @@ SECTIONS {  	 * the application and bootloader share the same addresses.  	 * This must be all uninitialized data  	 */ -	.boot (NOLOAD) : { +	.boot ORIGIN(ram) + SIZEOF(.interrupt) (NOLOAD) : {  		__boot_start__ = .;  		*(.boot)  		__boot_end__ = .; diff --git a/src/stmf0/altos.ld b/src/stmf0/altos.ld index 742d8419..9dbc83d0 100644 --- a/src/stmf0/altos.ld +++ b/src/stmf0/altos.ld @@ -54,13 +54,10 @@ SECTIONS {  		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 | 
