mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-01-16 06:19:24 +08:00
dc3bd14c2a
1. Cleanup unused code in startup.c. 2. Init MMU before init INT contoroller for mapping vector table to visual address 0x0 3. Remove unused section in link scripts.
56 lines
1.5 KiB
Plaintext
56 lines
1.5 KiB
Plaintext
//------------------------------------------------------------------------------
|
|
// 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 0x20000000 to 0x207FFFFF];
|
|
|
|
//
|
|
// Define a region for the on-chip SRAM.
|
|
//
|
|
define region SRAM = mem:[from 0x20800000 to 0x23FFFFFF];
|
|
|
|
//
|
|
// 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* };
|