summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
32c6867)
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>
__text_start__ = .;
*(.interrupt) /* Interrupt vectors */
__text_start__ = .;
*(.interrupt) /* Interrupt vectors */
- . = ORIGIN(rom) + 0x100;
-
+ .text ORIGIN(rom) + 0x100 : {
ao_romconfig.o(.romconfig*)
ao_product.o(.romconfig*)
ao_romconfig.o(.romconfig*)
ao_product.o(.romconfig*)
*(.text*) /* Executable code */
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
*(.rodata*) /* Constants */
*(.text*) /* Executable code */
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
*(.rodata*) /* Constants */
* the application and bootloader share the same addresses.
* This must be all uninitialized data
*/
* the application and bootloader share the same addresses.
* This must be all uninitialized data
*/
+ .boot ORIGIN(ram) + SIZEOF(.interrupt) (NOLOAD) : {
__boot_start__ = .;
*(.boot)
__boot_end__ = .;
__boot_start__ = .;
*(.boot)
__boot_end__ = .;
ao_product.o(.romconfig*)
*(.text*) /* Executable code */
ao_product.o(.romconfig*)
*(.text*) /* Executable code */
+ *(.ARM.exidx* .gnu.linkonce.armexidx.*)
*(.rodata*) /* Constants */
} > rom
*(.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
__text_end__ = .;
/* Boot data which must live at the start of ram so that