diff options
Diffstat (limited to 'firmware/target/arm/iriver')
-rw-r--r-- | firmware/target/arm/iriver/boot.lds | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/firmware/target/arm/iriver/boot.lds b/firmware/target/arm/iriver/boot.lds new file mode 100644 index 0000000000..5fbe999333 --- /dev/null +++ b/firmware/target/arm/iriver/boot.lds @@ -0,0 +1,53 @@ +#include "config.h" + +ENTRY(start) +OUTPUT_FORMAT(elf32-littlearm) +OUTPUT_ARCH(arm) +INPUT(target/arm/crt0-pp-bl.o) + +#define DRAMSIZE (MEMORYSIZE * 0x100000) + +#define DRAMORIG 0x10000000 +#define IRAMORIG 0x40000000 +#define IRAMSIZE 0x18000 +#define FLASHORIG 0x001f0000 +#define FLASHSIZE 2M + +SECTIONS +{ + . = IRAMORIG; + + .text : { + *(.init.text) + *(.text*) + } + + .data : { + *(.icode) + *(.irodata) + *(.idata) + *(.data*) + _dataend = . ; + } + + .stack : + { + *(.stack) + _stackbegin = .; + stackbegin = .; + . += 0x2000; + _stackend = .; + stackend = .; + } + + /* The bss section is too large for IRAM - we just move it 16MB into the + DRAM */ + + . = (DRAMORIG+16*1024*1024); + .bss : { + _edata = .; + *(.bss*); + *(.ibss); + _end = .; + } +} |