//------------------------------------------------------------------------------ // Linker scatter for running in external SDRAM on the ASM9260T // By ArdaFu 2015-04-29 //------------------------------------------------------------------------------ // // 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. size = 2MB // define region FLASH = mem:[from 0x20000000 to 0x201FFFFF]; // // Define a region for the on-chip SRAM. size = 30MB // define region SRAM = mem:[from 0x20200000 to 0x21FFFFFF]; // // 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}; // // RT-thread symbols // keep { section FSymTab }; keep { section VSymTab }; keep { section .rti_fn* };