diff options
Diffstat (limited to 'firmware/app.lds')
-rw-r--r-- | firmware/app.lds | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/firmware/app.lds b/firmware/app.lds index cc2939238d..48ef36cbf1 100644 --- a/firmware/app.lds +++ b/firmware/app.lds | |||
@@ -10,6 +10,81 @@ OUTPUT_FORMAT(elf32-sh) | |||
10 | #endif | 10 | #endif |
11 | INPUT(crt0.o) | 11 | INPUT(crt0.o) |
12 | 12 | ||
13 | #if CONFIG_CPU == TCC730 | ||
14 | MEMORY | ||
15 | { | ||
16 | FIRMWARE : ORIGIN = LOADADDRESS, LENGTH = 256K | ||
17 | FLASH (RX) : ORIGIN = 0x000000, LENGTH = 1024K | ||
18 | ICMEM (RX) : ORIGIN = 0x3FC000, LENGTH = 32K | ||
19 | IMEM1 : ORIGIN = 0x200000, LENGTH = 32K | ||
20 | IMEM2 : ORIGIN = 0x210000, LENGTH = 32K | ||
21 | IMEM3 : ORIGIN = 0x220000, LENGTH = 16K | ||
22 | IMEM4 : ORIGIN = 0x230000, LENGTH = 16K | ||
23 | |||
24 | DRAM : ORIGIN = 0x000000, LENGTH = 0x3F0000 | ||
25 | } | ||
26 | |||
27 | SECTIONS | ||
28 | { | ||
29 | .text LOADADDRESS : { | ||
30 | *(.init.text) | ||
31 | *(.text) | ||
32 | *(.icode) /* We don't put it in ICMEM coz crt1 uses LCD (now)*/ | ||
33 | }> FLASH AT> FIRMWARE | ||
34 | |||
35 | .icode 0x3FC040: { | ||
36 | *(.vectors) | ||
37 | }> ICMEM AT> FIRMWARE | ||
38 | |||
39 | |||
40 | .data 0x2000: { | ||
41 | *(.data) | ||
42 | . = ALIGN(2); | ||
43 | *(.rodata) | ||
44 | . = ALIGN(2); | ||
45 | *(.rodata.str1.2) | ||
46 | . = ALIGN(2); | ||
47 | }> DRAM AT> FIRMWARE | ||
48 | |||
49 | .bss ALIGN(2) : { | ||
50 | *(.bss) | ||
51 | . = ALIGN(2); | ||
52 | }> DRAM | ||
53 | |||
54 | .stack ALIGN(2) : { | ||
55 | . = . + 0x2000; | ||
56 | }> DRAM | ||
57 | |||
58 | .idata 0x200000: { | ||
59 | *(.idata) | ||
60 | }> DRAM | ||
61 | |||
62 | |||
63 | _codesize = SIZEOF(.text); | ||
64 | |||
65 | _icodecopy = LOADADDR(.icode); | ||
66 | _icodestart = ADDR(.icode); | ||
67 | _icodesize = SIZEOF(.icode); | ||
68 | |||
69 | _datacopy = LOADADDR(.data); | ||
70 | _datastart = ADDR(.data); | ||
71 | _datasize = SIZEOF(.data); | ||
72 | |||
73 | |||
74 | _bssstart = ADDR(.bss); | ||
75 | _bsssize = (SIZEOF(.bss) + 1) & ~ 1; | ||
76 | |||
77 | _stackbegin = ADDR(.stack); | ||
78 | _stackend = ADDR(.stack) + SIZEOF(.stack); | ||
79 | |||
80 | _idatastart = ADDR(.idata); | ||
81 | |||
82 | } | ||
83 | |||
84 | #else | ||
85 | |||
86 | |||
87 | |||
13 | #define PLUGINSIZE 0x8000 | 88 | #define PLUGINSIZE 0x8000 |
14 | 89 | ||
15 | #ifdef DEBUG | 90 | #ifdef DEBUG |
@@ -123,3 +198,5 @@ SECTIONS | |||
123 | pluginbuf = .; | 198 | pluginbuf = .; |
124 | } | 199 | } |
125 | } | 200 | } |
201 | |||
202 | #endif | ||