PDK-7626: IPC: Test: Cleanup ex05 test and Make ready for Automation
[processor-sdk/pdk.git] / packages / ti / drv / ipc / examples / common / j7200 / linker_r5f_mcu1_0_sysbios.lds
1 /*----------------------------------------------------------------------------*/
2 /* File: linker_r5f_mcu1_0_sysbios.lds                                        */
3 /* Description:                                                               */
4 /*    Link command file for J7ES MCU1_0 view                                  */
5 /*        TI ARM Compiler version 15.12.3 LTS or later                        */
6 /*                                                                            */
7 /* (c) Texas Instruments 2018, All rights reserved.                           */
8 /*----------------------------------------------------------------------------*/
9 /*  History:                                                                  */
10 /*    Aug 26th, 2016 Original version .......................... Loc Truong   */
11 /*    Aug 01th, 2017 new TCM mem map  .......................... Loc Truong   */
12 /*    Nov 07th, 2017 Changes for R5F Init Code.................. Vivek Dhande */
13 /*    Sep 17th, 2018 Added DDR sections for IPC................. J. Bergsagel */
14 /*    Sep 26th, 2018 Extra mem sections for IPC resource table.. J. Bergsagel */
15 /*    Nov 06th, 2018 Correction to TCM addresses for MCU1_0..... J. Bergsagel */
16 /*    Nov 07th, 2018 Split up OCMRAM_MCU for split-mode R5Fs.... J. Bergsagel */
17 /*    Apr 23th, 2019 Changes for R5F startup Code............... Vivek Dhande */
18 /*----------------------------------------------------------------------------*/
19 /* Linker Settings                                                            */
20 /* Standard linker options                                                    */
21 --retain="*(.bootCode)"
22 --retain="*(.startupCode)"
23 --retain="*(.startupData)"
24 --fill_value=0
25 --stack_size=0x2000
26 --heap_size=0x1000
28 -stack  0x2000                              /* SOFTWARE STACK SIZE           */
29 -heap   0x2000                              /* HEAP AREA SIZE                */
31 #define DDR0_ALLOCATED_START 0xA0000000
33 #define MCU1_0_EXT_DATA_BASE     (DDR0_ALLOCATED_START + 0x00100000)
34 #define MCU1_0_R5F_MEM_TEXT_BASE (DDR0_ALLOCATED_START + 0x00200000)
35 #define MCU1_0_R5F_MEM_DATA_BASE (DDR0_ALLOCATED_START + 0x00300000)
36 #define MCU1_0_DDR_SPACE_BASE    (DDR0_ALLOCATED_START + 0x00400000)
38 #define MCU1_1_ALLOCATED_START   DDR0_ALLOCATED_START + 0x01000000
39 #define MCU1_1_EXT_DATA_BASE     (MCU1_1_ALLOCATED_START + 0x00100000)
40 #define MCU1_1_R5F_MEM_TEXT_BASE (MCU1_1_ALLOCATED_START + 0x00200000)
41 #define MCU1_1_R5F_MEM_DATA_BASE (MCU1_1_ALLOCATED_START + 0x00300000)
42 #define MCU1_1_DDR_SPACE_BASE    (MCU1_1_ALLOCATED_START + 0x00400000)
44 #define MCU2_0_ALLOCATED_START   DDR0_ALLOCATED_START + 0x02000000
45 #define MCU2_0_EXT_DATA_BASE     (MCU2_0_ALLOCATED_START + 0x00100000)
46 #define MCU2_0_R5F_MEM_TEXT_BASE (MCU2_0_ALLOCATED_START + 0x00200000)
47 #define MCU2_0_R5F_MEM_DATA_BASE (MCU2_0_ALLOCATED_START + 0x00300000)
48 #define MCU2_0_DDR_SPACE_BASE    (MCU2_0_ALLOCATED_START + 0x00400000)
50 #define MCU2_1_ALLOCATED_START   DDR0_ALLOCATED_START + 0x03000000
51 #define MCU2_1_EXT_DATA_BASE     (MCU2_1_ALLOCATED_START + 0x00100000)
52 #define MCU2_1_R5F_MEM_TEXT_BASE (MCU2_1_ALLOCATED_START + 0x00200000)
53 #define MCU2_1_R5F_MEM_DATA_BASE (MCU2_1_ALLOCATED_START + 0x00300000)
54 #define MCU2_1_DDR_SPACE_BASE    (MCU2_1_ALLOCATED_START + 0x00400000)
56 -e __VECS_ENTRY_POINT
57 --retain="*(.utilsCopyVecsToAtcm)"
59 /*----------------------------------------------------------------------------*/
60 /* Memory Map                                                                 */
61 MEMORY
62 {
63     /* MCU1_R5F_0 local view  */
64     /* MCU1_R5F0_TCMB0 (RWIX)   : origin=0x41010000     length=0x8000 (documented only, to avoid conflict below) */
65     R5F_TCMA_SBL_RSVD(X): ORIGIN = 0x00000000, LENGTH = 0x100
66     RESET_VECTORS(X)    : ORIGIN = 0x41C40000, LENGTH = 0x100
68     /* MCU1_R5F_0 SoC view  */
69     MCU1_R5F0_ATCM (RWIX)       : origin=0x41000000 length=0x8000
70     MCU1_R5F0_BTCM (RWIX)       : origin=0x41010000 length=0x8000
72     /* MCUSS RAM - Start towards the end to avoid Bootloader usage of the SRAM */
73     OCMC_RAM_BOARD_CFG (RWIX)   : origin=0x41c80000 length=0x2000
74     OCMC_RAM (RWIX)             : origin=0x41c82000 length=0x7DB00
75     OCMC_RAM_X509_HEADER (RWIX) : origin=0x41cffb00 length=0x500
77     DDR0_RESERVED    (RWIX)     : origin=0x80000000 length=0x20000000           /* 512MB */
78     MCU1_0_IPC_DATA (RWIX)      : origin=DDR0_ALLOCATED_START     length=0x00100000     /*   1MB */
79     MCU1_0_EXT_DATA  (RWIX)     : origin=MCU1_0_EXT_DATA_BASE     length=0x00100000     /*   1MB */
80     MCU1_0_R5F_MEM_TEXT (RWIX)  : origin=MCU1_0_R5F_MEM_TEXT_BASE length=0x00100000     /*   1MB */
81     MCU1_0_R5F_MEM_DATA (RWIX)  : origin=MCU1_0_R5F_MEM_DATA_BASE length=0x00100000     /*   1MB */
82     MCU1_0_DDR_SPACE (RWIX)     : origin=MCU1_0_DDR_SPACE_BASE    length=0x00C00000     /*  12MB */
83     MCU1_1_IPC_DATA (RWIX)      : origin=MCU1_1_ALLOCATED_START   length=0x00100000     /*   1MB */
84     MCU1_1_EXT_DATA  (RWIX)     : origin=MCU1_1_EXT_DATA_BASE     length=0x00100000     /*   1MB */
85     MCU1_1_R5F_MEM_TEXT (RWIX)  : origin=MCU1_1_R5F_MEM_TEXT_BASE length=0x00100000     /*   1MB */
86     MCU1_1_R5F_MEM_DATA (RWIX)  : origin=MCU1_1_R5F_MEM_DATA_BASE length=0x00100000     /*   1MB */
87     MCU1_1_DDR_SPACE (RWIX)     : origin=MCU1_1_DDR_SPACE_BASE    length=0x00C00000     /*  12MB */
88     MCU2_0_IPC_DATA (RWIX)      : origin=MCU2_0_ALLOCATED_START   length=0x00100000     /*   1MB */
89     MCU2_0_EXT_DATA  (RWIX)     : origin=MCU2_0_EXT_DATA_BASE     length=0x00100000     /*   1MB */
90     MCU2_0_R5F_MEM_TEXT (RWIX)  : origin=MCU2_0_R5F_MEM_TEXT_BASE length=0x00100000     /*   1MB */
91     MCU2_0_R5F_MEM_DATA (RWIX)  : origin=MCU2_0_R5F_MEM_DATA_BASE length=0x00100000     /*   1MB */
92     MCU2_0_DDR_SPACE (RWIX)     : origin=MCU2_0_DDR_SPACE_BASE    length=0x00C00000     /*  12MB */
93     MCU2_1_IPC_DATA (RWIX)      : origin=MCU2_1_ALLOCATED_START   length=0x00100000     /*   1MB */
94     MCU2_1_EXT_DATA  (RWIX)     : origin=MCU2_1_EXT_DATA_BASE     length=0x00100000     /*   1MB */
95     MCU2_1_R5F_MEM_TEXT (RWIX)  : origin=MCU2_1_R5F_MEM_TEXT_BASE length=0x00100000     /*   1MB */
96     MCU2_1_R5F_MEM_DATA (RWIX)  : origin=MCU2_1_R5F_MEM_DATA_BASE length=0x00100000     /*   1MB */
97     MCU2_1_DDR_SPACE (RWIX)     : origin=MCU2_1_DDR_SPACE_BASE    length=0x00C00000     /*  12MB */
99     SHARED_DDR_SPACE (RWIX)     : origin=0xA4000000 length=0x00800000           /*  8MB */
101 }  /* end of MEMORY */
103 /*----------------------------------------------------------------------------*/
104 /* Section Configuration                                                      */
106 SECTIONS
108     .vecs : {
109          *(.vecs)
110     } palign(8) > RESET_VECTORS
111     .vecs       : {
112         __VECS_ENTRY_POINT = .;
113     } palign(8) > RESET_VECTORS
114     .init_text  : {
115                      boot.*(.text)
116                      *(.text:ti_sysbios_family_arm_MPU_*)
117                      *(.text:ti_sysbios_family_arm_v7r_Cache_*)
118                   }  > MCU1_R5F0_BTCM
119     .text:xdc_runtime_Startup_reset__I : {} palign(8) > MCU1_R5F0_BTCM
120     .utilsCopyVecsToAtcm               : {} palign(8) > MCU1_R5F0_BTCM
121     .bootCode           : {} palign(8)          > MCU1_R5F0_BTCM
122     .startupCode        : {} palign(8)          > MCU1_R5F0_BTCM
123     .startupData        : {} palign(8)          > MCU1_R5F0_BTCM, type = NOINIT
124     .text       : {} palign(8)          > MCU1_0_DDR_SPACE
125     .const      : {} palign(8)          > MCU1_0_DDR_SPACE
126     .cinit      : {} palign(8)          > MCU1_0_DDR_SPACE
127     .pinit      : {} palign(8)          > MCU1_0_DDR_SPACE
128     .bss        : {} align(4)           > MCU1_0_DDR_SPACE
129     .data       : {} palign(128)        > MCU1_0_DDR_SPACE
130     .data_buffer: {} palign(128)        > MCU1_0_DDR_SPACE
131     .sysmem     : {}                    > MCU1_0_DDR_SPACE
132     .stack      : {} align(4)           > MCU1_0_DDR_SPACE
133     ipc_data_buffer (NOINIT) : {} palign(128)   > MCU1_0_DDR_SPACE
135     .const.devgroup.MCU_WAKEUP    : {} align(4)      > MCU1_0_DDR_SPACE
136     .const.devgroup.MAIN          : {} align(4)      > MCU1_0_DDR_SPACE
137     .const.devgroup.DMSC_INTERNAL : {} align(4)      > MCU1_0_DDR_SPACE
138     .bss.devgroup.MAIN            : {} align(4)      > MCU1_0_DDR_SPACE
139     .bss.devgroup.MCU_WAKEUP      : {} align(4)      > MCU1_0_DDR_SPACE
140     .bss.devgroup.DMSC_INTERNAL   : {} align(4)      > MCU1_0_DDR_SPACE
141     .boardcfg_data                : {} align(4)      > MCU1_0_DDR_SPACE
142     .bss.devgroup*                : {} align(4)      > MCU1_0_DDR_SPACE
143     .const.devgroup*              : {} align(4)      > MCU1_0_DDR_SPACE
145     .resource_table : {
146         __RESOURCE_TABLE = .;
147     } > MCU1_0_EXT_DATA_BASE
149     .tracebuf   : {}                    > MCU1_0_EXT_DATA
151 }  /* end of SECTIONS */
153 /*----------------------------------------------------------------------------*/
154 /* Misc linker settings                                                       */
157 /*-------------------------------- END ---------------------------------------*/