diff options
| author | Keith Packard <keithp@keithp.com> | 2015-01-26 22:10:47 -0800 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2015-01-26 22:10:47 -0800 | 
| commit | e1d5bcb1968e280b8ebdf6c8b12e8a87167fd890 (patch) | |
| tree | da4ea6779b61505872bef5e2826e31696900b359 /src | |
| parent | 32c68670af9f8aa690c64d64502e559c0df0c1db (diff) | |
altos/stmf0: Fix linker scripts to make ao_boot work
The flash loader ended up assuming ao_boot was at the start of ram,
while the application stuck it after the interrupt table (where it
needs to go).
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src')
| -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  | 
