12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- //------------------------------------------------------------------------------
- // Linker scatter for running in external SDRAM on the AT91SAM9260
- //------------------------------------------------------------------------------
- //
- // Define a memory region that covers the entire 4 GB addressible space of the
- // processor.
- //
- define memory mem with size = 4G;
- //
- // Define a region for the on-chip flash.
- //
- define region FLASH = mem:[from 0x70000000 to 0x707FFFFF];
- //
- // Define a region for the on-chip SRAM.
- //
- define region SRAM = mem:[from 0x70800000 to 0x73FFFFFF];
- //
- // Indicate that the read/write values should be initialized by copying from
- // flash.
- //
- initialize by copy { readwrite };
- //
- // Indicate that the noinit values should be left alone. This includes the
- // stack, which if initialized will destroy the return address from the
- // initialization code, causing the processor to branch to zero and fault.
- //
- do not initialize { section .noinit };
- //
- // Place the interrupt vectors at the start of flash.
- //
- place at start of FLASH { readonly section .intvec };
- //
- // Place the remainder of the read-only items into flash.
- //
- place in FLASH { readonly };
- //
- // Place the RAM vector table at the start of SRAM.
- //
- place at start of SRAM { section VTABLE };
- //
- // Place all read/write items into SRAM.
- //
- place in SRAM { readwrite};
- keep { section FSymTab };
- keep { section VSymTab };
- keep { section .rti_fn* };
|