summaryrefslogtreecommitdiff
path: root/firmware/target/arm/iriver/boot.lds
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/iriver/boot.lds')
-rw-r--r--firmware/target/arm/iriver/boot.lds53
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 @@
1#include "config.h"
2
3ENTRY(start)
4OUTPUT_FORMAT(elf32-littlearm)
5OUTPUT_ARCH(arm)
6INPUT(target/arm/crt0-pp-bl.o)
7
8#define DRAMSIZE (MEMORYSIZE * 0x100000)
9
10#define DRAMORIG 0x10000000
11#define IRAMORIG 0x40000000
12#define IRAMSIZE 0x18000
13#define FLASHORIG 0x001f0000
14#define FLASHSIZE 2M
15
16SECTIONS
17{
18 . = IRAMORIG;
19
20 .text : {
21 *(.init.text)
22 *(.text*)
23 }
24
25 .data : {
26 *(.icode)
27 *(.irodata)
28 *(.idata)
29 *(.data*)
30 _dataend = . ;
31 }
32
33 .stack :
34 {
35 *(.stack)
36 _stackbegin = .;
37 stackbegin = .;
38 . += 0x2000;
39 _stackend = .;
40 stackend = .;
41 }
42
43 /* The bss section is too large for IRAM - we just move it 16MB into the
44 DRAM */
45
46 . = (DRAMORIG+16*1024*1024);
47 .bss : {
48 _edata = .;
49 *(.bss*);
50 *(.ibss);
51 _end = .;
52 }
53}