a454d692be472886f9598fdda9d78ee26a1c270a
[keystone-rtos/sa-lld.git] / test / SaUnitTest / j721e / linker_r5.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=0x8000
15 --heap_size=0x40000
16 --entry_point=_resetvectors     /* Default C RTS boot.asm   */
18 -stack  0x8000                              /* SOFTWARE STACK SIZE           */
19 -heap   0x40000                              /* 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 /* Memory Map */
29 MEMORY
30 {
31     VECTORS (X)             : origin=0x41C7F000 length=0x1000
32     /*  Reset Vectors base address(RESET_VECTORS) should be 64 bytes aligned  */
33     RESET_VECTORS (X)       : origin=0x41C00000 length=0x100
34     /* MCU0_R5F_0 local view */
35     MCU0_R5F_TCMA_SBL_RSVD (X)  : origin=0x0        length=0x100
36     MCU0_R5F_TCMA (X)       : origin=0x100      length=0x8000 - 0x100
37     MCU0_R5F_TCMB0 (RWIX)   : origin=0x41010000 length=0x8000
39     /* MCU0_R5F_1 SoC view */
40     MCU0_R5F1_ATCM (RWIX)   : origin=0x41400000 length=0x8000
41     MCU0_R5F1_BTCM (RWIX)   : origin=0x41410000 length=0x8000
43     /* MCU0 share locations */
44     OCMRAM  (RWIX)          : origin=0x41C00100 length=0x80000 - 0x1100      /* ~510KB */
46     /* j721e MCMS3 locations */
47     /* j721e Reserved Memory for ARM Trusted Firmware */
48     MSMC3_ARM_FW   (RWIX)   : origin=0x70000000 length=0x40000         /* 256KB */
49     MSMC3   (RWIX)          : origin=0x70040000 length=0x7B0000        /* 8MB - 320KB */
50     /* j721e Reserved Memory for DMSC Firmware */
51     MSMC3_DMSC_FW  (RWIX)   : origin=0x707F0000 length=0x10000         /* 64KB */
53     DDR0    (RWIX)          : origin=0x80000000 length=0x80000000      /* 2GB */
54 }
56 /* Section Configuration */
57 SECTIONS
58 {
59     /* 'intvecs' and 'intc_text' sections shall be placed within */
60     /* a range of +\- 16 MB */
61     .intvecs       : {} palign(8)      > VECTORS
62     .intc_text     : {} palign(8)      > VECTORS
63     .rstvectors    : {} palign(8)      > RESET_VECTORS
64     .bootCode      : {} palign(8)      > MSMC3
65     .startupCode   : {} palign(8)      > MSMC3
66     .startupData   : {} palign(8)      > MSMC3, type = NOINIT
67     .text          : {} palign(8)      > DDR0
68     .const         : {} palign(8)      > DDR0
69     .cinit         : {} palign(8)      > DDR0
70     .pinit         : {} palign(8)      > DDR0
71     .bss           : {} align(4)       > DDR0
72     .far           : {} align(4)       > DDR0
73     .data          : {} palign(128)    > DDR0
74     .boardcfg_data : {} palign(128)    > MSMC3
75     .sysmem        : {}                > DDR0
76     .data_buffer   : {} palign(128)    > DDR0
77     .saSrcBuffers  : {} palign(128)    > OCMRAM
78     .saDstBuffers  : {} palign(128)    > OCMRAM
79     .scBufs        : {} palign(128)    > OCMRAM
81     /* USB or any other LLD buffer for benchmarking */
82     .benchmark_buffer (NOLOAD) {} ALIGN (8) > DDR0
84     .stack      : {} align(4)       > DDR0  (HIGH)
85     .irqStack   : {. = . + __IRQ_STACK_SIZE;} align(4)      > DDR0  (HIGH)
86     RUN_START(__IRQ_STACK_START)
87     RUN_END(__IRQ_STACK_END)
88     .fiqStack   : {. = . + __FIQ_STACK_SIZE;} align(4)      > DDR0  (HIGH)
89     RUN_START(__FIQ_STACK_START)
90     RUN_END(__FIQ_STACK_END)
91     .abortStack : {. = . + __ABORT_STACK_SIZE;} align(4)    > DDR0  (HIGH)
92     RUN_START(__ABORT_STACK_START)
93     RUN_END(__ABORT_STACK_END)
94     .undStack   : {. = . + __UND_STACK_SIZE;} align(4)      > DDR0  (HIGH)
95     RUN_START(__UND_STACK_START)
96     RUN_END(__UND_STACK_END)
97     .svcStack   : {. = . + __SVC_STACK_SIZE;} align(4)      > DDR0  (HIGH)
98     RUN_START(__SVC_STACK_START)
99     RUN_END(__SVC_STACK_END)