//------------------------------------------------------------------------------ // 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* };