]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/pdk.git/blob - packages/ti/drv/ipc/examples/common/j784s4/linker_r5f_mcu1_0.lds
[OSAL]: Added testcase for task sub module
[processor-sdk/pdk.git] / packages / ti / drv / ipc / examples / common / j784s4 / linker_r5f_mcu1_0.lds
1 /* Linker Settings */
2 --retain="*(.bootCode)"
3 --retain="*(.startupCode)"
4 --retain="*(.startupData)"
5 --retain="*(.intvecs)"
6 --retain="*(.intc_text)"
7 --retain="*(.rstvectors)"
8 --retain="*(.irqStack)"
9 --retain="*(.fiqStack)"
10 --retain="*(.abortStack)"
11 --retain="*(.undStack)"
12 --retain="*(.svcStack)"
13 --fill_value=0
14 --stack_size=0x2000
15 --heap_size=0x1000
16 --entry_point=_resetvectors     /* Default C RTS boot.asm   */
18 -stack  0x2000                              /* SOFTWARE STACK SIZE           */
19 -heap   0x2000                              /* HEAP AREA SIZE                */
21 /* Stack Sizes for various modes */
22 __IRQ_STACK_SIZE = 0x1000;
23 __FIQ_STACK_SIZE = 0x1000;
24 __ABORT_STACK_SIZE = 0x1000;
25 __UND_STACK_SIZE = 0x1000;
26 __SVC_STACK_SIZE = 0x1000;
28 #define DDR0_ALLOCATED_START 0xA0000000
30 #define MCU1_0_EXT_DATA_BASE     (DDR0_ALLOCATED_START + 0x00100000)
31 #define MCU1_0_R5F_MEM_TEXT_BASE (DDR0_ALLOCATED_START + 0x00200000)
32 #define MCU1_0_R5F_MEM_DATA_BASE (DDR0_ALLOCATED_START + 0x00300000)
33 #define MCU1_0_DDR_SPACE_BASE    (DDR0_ALLOCATED_START + 0x00400000)
35 #define MCU1_1_ALLOCATED_START   DDR0_ALLOCATED_START + 0x01000000
36 #define MCU1_1_EXT_DATA_BASE     (MCU1_1_ALLOCATED_START + 0x00100000)
37 #define MCU1_1_R5F_MEM_TEXT_BASE (MCU1_1_ALLOCATED_START + 0x00200000)
38 #define MCU1_1_R5F_MEM_DATA_BASE (MCU1_1_ALLOCATED_START + 0x00300000)
39 #define MCU1_1_DDR_SPACE_BASE    (MCU1_1_ALLOCATED_START + 0x00400000)
41 #define MCU2_0_ALLOCATED_START   DDR0_ALLOCATED_START + 0x02000000
42 #define MCU2_0_EXT_DATA_BASE     (MCU2_0_ALLOCATED_START + 0x00100000)
43 #define MCU2_0_R5F_MEM_TEXT_BASE (MCU2_0_ALLOCATED_START + 0x00200000)
44 #define MCU2_0_R5F_MEM_DATA_BASE (MCU2_0_ALLOCATED_START + 0x00300000)
45 #define MCU2_0_DDR_SPACE_BASE    (MCU2_0_ALLOCATED_START + 0x00400000)
47 #define MCU2_1_ALLOCATED_START   DDR0_ALLOCATED_START + 0x03000000
48 #define MCU2_1_EXT_DATA_BASE     (MCU2_1_ALLOCATED_START + 0x00100000)
49 #define MCU2_1_R5F_MEM_TEXT_BASE (MCU2_1_ALLOCATED_START + 0x00200000)
50 #define MCU2_1_R5F_MEM_DATA_BASE (MCU2_1_ALLOCATED_START + 0x00300000)
51 #define MCU2_1_DDR_SPACE_BASE    (MCU2_1_ALLOCATED_START + 0x00400000)
53 #define MCU3_0_ALLOCATED_START   DDR0_ALLOCATED_START + 0x04000000
54 #define MCU3_0_EXT_DATA_BASE     (MCU3_0_ALLOCATED_START + 0x00100000)
55 #define MCU3_0_R5F_MEM_TEXT_BASE (MCU3_0_ALLOCATED_START + 0x00200000)
56 #define MCU3_0_R5F_MEM_DATA_BASE (MCU3_0_ALLOCATED_START + 0x00300000)
57 #define MCU3_0_DDR_SPACE_BASE    (MCU3_0_ALLOCATED_START + 0x00400000)
59 #define MCU3_1_ALLOCATED_START   DDR0_ALLOCATED_START + 0x05000000
60 #define MCU3_1_EXT_DATA_BASE     (MCU3_1_ALLOCATED_START + 0x00100000)
61 #define MCU3_1_R5F_MEM_TEXT_BASE (MCU3_1_ALLOCATED_START + 0x00200000)
62 #define MCU3_1_R5F_MEM_DATA_BASE (MCU3_1_ALLOCATED_START + 0x00300000)
63 #define MCU3_1_DDR_SPACE_BASE    (MCU3_1_ALLOCATED_START + 0x00400000)
65 #define MCU4_0_ALLOCATED_START   DDR0_ALLOCATED_START + 0x06000000
66 #define MCU4_0_EXT_DATA_BASE     (MCU4_0_ALLOCATED_START + 0x00100000)
67 #define MCU4_0_R5F_MEM_TEXT_BASE (MCU4_0_ALLOCATED_START + 0x00200000)
68 #define MCU4_0_R5F_MEM_DATA_BASE (MCU4_0_ALLOCATED_START + 0x00300000)
69 #define MCU4_0_DDR_SPACE_BASE    (MCU4_0_ALLOCATED_START + 0x00400000)
71 #define MCU4_1_ALLOCATED_START   DDR0_ALLOCATED_START + 0x07000000
72 #define MCU4_1_EXT_DATA_BASE     (MCU4_1_ALLOCATED_START + 0x00100000)
73 #define MCU4_1_R5F_MEM_TEXT_BASE (MCU4_1_ALLOCATED_START + 0x00200000)
74 #define MCU4_1_R5F_MEM_DATA_BASE (MCU4_1_ALLOCATED_START + 0x00300000)
75 #define MCU4_1_DDR_SPACE_BASE    (MCU4_1_ALLOCATED_START + 0x00400000)
77 #define ATCM_START 0x00000000
79 /* Memory Map */
80 MEMORY
81 {
82 /*    VECTORS (X)             : origin=0x41C7F000 length=0x1000 */
83     /*  Reset Vectors base address(RESET_VECTORS) should be 64 bytes aligned  */
84     RESET_VECTORS (X)       : origin=0x0 length=0x100
85     /* MCU0_R5F_0 local view */
86     MCU0_R5F_TCMA (X)       : origin=0x100      length=0x8000 - 0x100
87     MCU0_R5F_TCMB0 (RWIX)   : origin=0x41010000 length=0x8000
89     /* MCU0_R5F_1 SoC view */
90     MCU0_R5F1_ATCM (RWIX)   : origin=0x41400000 length=0x8000
91     MCU0_R5F1_BTCM (RWIX)   : origin=0x41410000 length=0x8000
93     /* MCU0 share locations */
94     OCMC_RAM_BOARD_CFG (RWIX)   : origin=0x41c80000 length=0x2000
95     OCMC_RAM (RWIX)             : origin=0x41c82000 length=0x7BB00
96     OCMC_RAM_X509_HEADER (RWIX) : origin=0x41cfdb00 length=0x500
98     /* J784S4 MSMC3 locations */
99     /* J784S4 Reserved Memory for ARM Trusted Firmware */
100     MSMC3_ARM_FW   (RWIX)   : origin=0x70000000 length=0x40000         /* 256KB */
101     MSMC3   (RWIX)          : origin=0x70040000 length=0x3B0000        /* 4MB - 320KB */
102     /* J784S4 Reserved Memory for DMSC Firmware */
103     MSMC3_DMSC_FW  (RWIX)   : origin=0x703F0000 length=0x10000         /* 64KB */
105     DDR0_RESERVED    (RWIX)     : origin=0x80000000 length=0x20000000           /* 512MB */
106     MCU1_0_IPC_DATA (RWIX)      : origin=DDR0_ALLOCATED_START     length=0x00100000     /*   1MB */
107     MCU1_0_EXT_DATA  (RWIX)     : origin=MCU1_0_EXT_DATA_BASE     length=0x00100000     /*   1MB */
108     MCU1_0_R5F_MEM_TEXT (RWIX)  : origin=MCU1_0_R5F_MEM_TEXT_BASE length=0x00100000     /*   1MB */
109     MCU1_0_R5F_MEM_DATA (RWIX)  : origin=MCU1_0_R5F_MEM_DATA_BASE length=0x00100000     /*   1MB */
110     MCU1_0_DDR_SPACE (RWIX)     : origin=MCU1_0_DDR_SPACE_BASE    length=0x00C00000     /*  12MB */
111     MCU1_1_IPC_DATA (RWIX)      : origin=MCU1_1_ALLOCATED_START   length=0x00100000     /*   1MB */
112     MCU1_1_EXT_DATA  (RWIX)     : origin=MCU1_1_EXT_DATA_BASE     length=0x00100000     /*   1MB */
113     MCU1_1_R5F_MEM_TEXT (RWIX)  : origin=MCU1_1_R5F_MEM_TEXT_BASE length=0x00100000     /*   1MB */
114     MCU1_1_R5F_MEM_DATA (RWIX)  : origin=MCU1_1_R5F_MEM_DATA_BASE length=0x00100000     /*   1MB */
115     MCU1_1_DDR_SPACE (RWIX)     : origin=MCU1_1_DDR_SPACE_BASE    length=0x00C00000     /*  12MB */
116     MCU2_0_IPC_DATA (RWIX)      : origin=MCU2_0_ALLOCATED_START   length=0x00100000     /*   1MB */
117     MCU2_0_EXT_DATA  (RWIX)     : origin=MCU2_0_EXT_DATA_BASE     length=0x00100000     /*   1MB */
118     MCU2_0_R5F_MEM_TEXT (RWIX)  : origin=MCU2_0_R5F_MEM_TEXT_BASE length=0x00100000     /*   1MB */
119     MCU2_0_R5F_MEM_DATA (RWIX)  : origin=MCU2_0_R5F_MEM_DATA_BASE length=0x00100000     /*   1MB */
120     MCU2_0_DDR_SPACE (RWIX)     : origin=MCU2_0_DDR_SPACE_BASE    length=0x00C00000     /*  12MB */
121     MCU2_1_IPC_DATA (RWIX)      : origin=MCU2_1_ALLOCATED_START   length=0x00100000     /*   1MB */
122     MCU2_1_EXT_DATA  (RWIX)     : origin=MCU2_1_EXT_DATA_BASE     length=0x00100000     /*   1MB */
123     MCU2_1_R5F_MEM_TEXT (RWIX)  : origin=MCU2_1_R5F_MEM_TEXT_BASE length=0x00100000     /*   1MB */
124     MCU2_1_R5F_MEM_DATA (RWIX)  : origin=MCU2_1_R5F_MEM_DATA_BASE length=0x00100000     /*   1MB */
125     MCU2_1_DDR_SPACE (RWIX)     : origin=MCU2_1_DDR_SPACE_BASE    length=0x00C00000     /*  12MB */
126     MCU3_0_IPC_DATA (RWIX)      : origin=MCU3_0_ALLOCATED_START   length=0x00100000     /*   1MB */
127     MCU3_0_EXT_DATA  (RWIX)     : origin=MCU3_0_EXT_DATA_BASE     length=0x00100000     /*   1MB */
128     MCU3_0_R5F_MEM_TEXT (RWIX)  : origin=MCU3_0_R5F_MEM_TEXT_BASE length=0x00100000     /*   1MB */
129     MCU3_0_R5F_MEM_DATA (RWIX)  : origin=MCU3_0_R5F_MEM_DATA_BASE length=0x00100000     /*   1MB */
130     MCU3_0_DDR_SPACE (RWIX)     : origin=MCU3_0_DDR_SPACE_BASE    length=0x00C00000     /*  12MB */
131     MCU3_1_IPC_DATA (RWIX)      : origin=MCU3_1_ALLOCATED_START   length=0x00100000     /*   1MB */
132     MCU3_1_EXT_DATA  (RWIX)     : origin=MCU3_1_EXT_DATA_BASE     length=0x00100000     /*   1MB */
133     MCU3_1_R5F_MEM_TEXT (RWIX)  : origin=MCU3_1_R5F_MEM_TEXT_BASE length=0x00100000     /*   1MB */
134     MCU3_1_R5F_MEM_DATA (RWIX)  : origin=MCU3_1_R5F_MEM_DATA_BASE length=0x00100000     /*   1MB */
135     MCU3_1_DDR_SPACE (RWIX)     : origin=MCU3_1_DDR_SPACE_BASE    length=0x00C00000     /*  12MB */
136     MCU4_0_IPC_DATA (RWIX)      : origin=MCU4_0_ALLOCATED_START   length=0x00100000     /*   1MB */
137     MCU4_0_EXT_DATA  (RWIX)     : origin=MCU4_0_EXT_DATA_BASE     length=0x00100000     /*   1MB */
138     MCU4_0_R5F_MEM_TEXT (RWIX)  : origin=MCU4_0_R5F_MEM_TEXT_BASE length=0x00100000     /*   1MB */
139     MCU4_0_R5F_MEM_DATA (RWIX)  : origin=MCU4_0_R5F_MEM_DATA_BASE length=0x00100000     /*   1MB */
140     MCU4_0_DDR_SPACE (RWIX)     : origin=MCU4_0_DDR_SPACE_BASE    length=0x00C00000     /*  12MB */
141     MCU4_1_IPC_DATA (RWIX)      : origin=MCU4_1_ALLOCATED_START   length=0x00100000     /*   1MB */
142     MCU4_1_EXT_DATA  (RWIX)     : origin=MCU4_1_EXT_DATA_BASE     length=0x00100000     /*   1MB */
143     MCU4_1_R5F_MEM_TEXT (RWIX)  : origin=MCU4_1_R5F_MEM_TEXT_BASE length=0x00100000     /*   1MB */
144     MCU4_1_R5F_MEM_DATA (RWIX)  : origin=MCU4_1_R5F_MEM_DATA_BASE length=0x00100000     /*   1MB */
145     MCU4_1_DDR_SPACE (RWIX)     : origin=MCU4_1_DDR_SPACE_BASE    length=0x00C00000     /*  12MB */
148 /* Section Configuration */
149 SECTIONS
151     /* 'intvecs' and 'intc_text' sections shall be placed within */
152     /* a range of +\- 16 MB */
153 /*    .intvecs       : {} palign(8)      > VECTORS
154     .intc_text     : {} palign(8)      > VECTORS */
155     .rstvectors    : {} palign(8)      > RESET_VECTORS
156     .bootCode      : {} palign(8)      > MCU0_R5F_TCMA
157     .startupCode   : {} palign(8)      > MCU0_R5F_TCMA
158     .startupData   : {} palign(8)      > MCU0_R5F_TCMA, type = NOINIT
159     .text          : {} palign(8)      > MCU1_0_DDR_SPACE
160     .const         : {} palign(8)      > MCU1_0_DDR_SPACE
161     .rodata        : {} palign(8)      > MCU1_0_DDR_SPACE
162     .cinit         : {} palign(8)      > MCU1_0_DDR_SPACE
163     .pinit         : {} palign(8)      > MCU1_0_DDR_SPACE
164     .bss           : {} align(4)       > MCU1_0_DDR_SPACE
165     .far           : {} align(4)       > MCU1_0_DDR_SPACE
166     .data          : {} palign(128)    > MCU1_0_DDR_SPACE
167     .boardcfg_data : {} palign(128)    > MCU1_0_DDR_SPACE
168     .sysmem        : {}                > MCU1_0_DDR_SPACE
169     .data_buffer   : {} palign(128)    > MCU1_0_DDR_SPACE
170     .bss.devgroup* : {} align(4)       > MCU1_0_DDR_SPACE
171     .const.devgroup*: {} align(4)      > MCU1_0_DDR_SPACE
173     /* USB or any other LLD buffer for benchmarking */
174     .benchmark_buffer (NOLOAD) {} ALIGN (8) > MCU1_0_DDR_SPACE
175     ipc_data_buffer (NOINIT) : {} palign(128)   > MCU1_0_DDR_SPACE
176     .resource_table : {
177         __RESOURCE_TABLE = .;
178     } > MCU1_0_EXT_DATA_BASE
180     .tracebuf   : {}    align(1024) > MCU1_0_EXT_DATA
182     .stack      : {} align(4)       > MCU1_0_DDR_SPACE  (HIGH)
183     .irqStack   : {. = . + __IRQ_STACK_SIZE;} align(4)      > MCU1_0_DDR_SPACE  (HIGH)
184     RUN_START(__IRQ_STACK_START)
185     RUN_END(__IRQ_STACK_END)
186     .fiqStack   : {. = . + __FIQ_STACK_SIZE;} align(4)      > MCU1_0_DDR_SPACE  (HIGH)
187     RUN_START(__FIQ_STACK_START)
188     RUN_END(__FIQ_STACK_END)
189     .abortStack : {. = . + __ABORT_STACK_SIZE;} align(4)    > MCU1_0_DDR_SPACE  (HIGH)
190     RUN_START(__ABORT_STACK_START)
191     RUN_END(__ABORT_STACK_END)
192     .undStack   : {. = . + __UND_STACK_SIZE;} align(4)      > MCU1_0_DDR_SPACE  (HIGH)
193     RUN_START(__UND_STACK_START)
194     RUN_END(__UND_STACK_END)
195     .svcStack   : {. = . + __SVC_STACK_SIZE;} align(4)      > MCU1_0_DDR_SPACE  (HIGH)
196     RUN_START(__SVC_STACK_START)
197     RUN_END(__SVC_STACK_END)