]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/pdk.git/blob - packages/ti/drv/ipc/examples/common/j721e/linker_r5f_mcu1_1_sysbios.lds
PDK-7626: IPC: Test: Cleanup ex05 test and Make ready for Automation
[processor-sdk/pdk.git] / packages / ti / drv / ipc / examples / common / j721e / linker_r5f_mcu1_1_sysbios.lds
1 /*----------------------------------------------------------------------------*/
2 /* File: linker_r5f_mcu1_1_sysbios.lds                                        */
3 /* Description:                                                               */
4 /*    Link command file for J7ES MCU1_1 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 Linker command file for MCU1_1............. J. Bergsagel */
16 /*    Apr 23th, 2019 Changes for R5F startup Code............... Vivek Dhande */
17 /*----------------------------------------------------------------------------*/
18 /* Linker Settings                                                            */
19 /* Standard linker options                                                    */
20 --retain="*(.bootCode)"
21 --retain="*(.startupCode)"
22 --retain="*(.startupData)"
23 --fill_value=0
24 --stack_size=0x2000
25 --heap_size=0x1000
27 -stack  0x2000                              /* SOFTWARE STACK SIZE           */
28 -heap   0x2000                              /* HEAP AREA SIZE                */
30 #define DDR0_ALLOCATED_START 0xA0000000
32 #define MCU1_0_EXT_DATA_BASE     (DDR0_ALLOCATED_START + 0x00100000)
33 #define MCU1_0_R5F_MEM_TEXT_BASE (DDR0_ALLOCATED_START + 0x00200000)
34 #define MCU1_0_R5F_MEM_DATA_BASE (DDR0_ALLOCATED_START + 0x00300000)
35 #define MCU1_0_DDR_SPACE_BASE    (DDR0_ALLOCATED_START + 0x00400000)
37 #define MCU1_1_ALLOCATED_START   DDR0_ALLOCATED_START + 0x01000000
38 #define MCU1_1_EXT_DATA_BASE     (MCU1_1_ALLOCATED_START + 0x00100000)
39 #define MCU1_1_R5F_MEM_TEXT_BASE (MCU1_1_ALLOCATED_START + 0x00200000)
40 #define MCU1_1_R5F_MEM_DATA_BASE (MCU1_1_ALLOCATED_START + 0x00300000)
41 #define MCU1_1_DDR_SPACE_BASE    (MCU1_1_ALLOCATED_START + 0x00400000)
43 #define MCU2_0_ALLOCATED_START   DDR0_ALLOCATED_START + 0x02000000
44 #define MCU2_0_EXT_DATA_BASE     (MCU2_0_ALLOCATED_START + 0x00100000)
45 #define MCU2_0_R5F_MEM_TEXT_BASE (MCU2_0_ALLOCATED_START + 0x00200000)
46 #define MCU2_0_R5F_MEM_DATA_BASE (MCU2_0_ALLOCATED_START + 0x00300000)
47 #define MCU2_0_DDR_SPACE_BASE    (MCU2_0_ALLOCATED_START + 0x00400000)
49 #define MCU2_1_ALLOCATED_START   DDR0_ALLOCATED_START + 0x03000000
50 #define MCU2_1_EXT_DATA_BASE     (MCU2_1_ALLOCATED_START + 0x00100000)
51 #define MCU2_1_R5F_MEM_TEXT_BASE (MCU2_1_ALLOCATED_START + 0x00200000)
52 #define MCU2_1_R5F_MEM_DATA_BASE (MCU2_1_ALLOCATED_START + 0x00300000)
53 #define MCU2_1_DDR_SPACE_BASE    (MCU2_1_ALLOCATED_START + 0x00400000)
55 #define ATCM_START 0x00000000
56 #define OCMRAM_MCU1_0_START 0x41cfe000
57 #define OCMRAM_MCU1_1_START 0x41cff000
59 -e __VECS_ENTRY_POINT
61 /*----------------------------------------------------------------------------*/
62 /* Memory Map                                                                 */
63 MEMORY
64 {
65     /* MCU1_R5F_1 local view  */
66     MCU_ATCM (RWX)              : origin=ATCM_START     length=0x8000
67     MCU1_R5F1_TCMB1 (RWIX)      : origin=0x41010000     length=0x8000
69     /* MCU1_R5F_1 SoC view  */
70     MCU1_R5F1_ATCM (RWIX)       : origin=0x41400000 length=0x8000
71     MCU1_R5F1_BTCM (RWIX)       : origin=0x41410000 length=0x8000
73     /* MCUSS RAM - Start towards the end to avoid Bootloader usage of the SRAM */
74     OCMRAM_MCU1_0 (RWIX)        : origin=OCMRAM_MCU1_0_START length=0x1000
75     OCMRAM_MCU1_1 (RWIX)        : origin=OCMRAM_MCU1_1_START length=0x1000
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=0xAA000000 length=0x01C00000           /*  28MB */
101 }  /* end of MEMORY */
103 /*----------------------------------------------------------------------------*/
104 /* Section Configuration                                                      */
106 SECTIONS
108     .vecs : {
109          *(.vecs)
110     } palign(8) > ATCM_START
111     .vecs       : {
112         __VECS_ENTRY_POINT = .;
113     } palign(8) > MCU_ATCM
114     .init_text  : {
115                      boot.*(.text)
116                      *(.text:ti_sysbios_family_arm_MPU_*)
117                      *(.text:ti_sysbios_family_arm_v7r_Cache_*)
118                   }  > MCU_ATCM
119     .text:xdc_runtime_Startup_reset__I : {} palign(8) > MCU_ATCM
120     .bootCode           : {} palign(8)          > MCU_ATCM
121     .utilsCopyVecsToAtcm               : {} palign(8) > MCU_ATCM
122     .startupCode        : {} palign(8)          > MCU_ATCM
123     .startupData        : {} palign(8)          > MCU_ATCM, type = NOINIT
124     .text       : {} palign(8)          > MCU1_1_DDR_SPACE
125     .const      : {} palign(8)          > MCU1_1_DDR_SPACE
126     .cinit      : {} palign(8)          > MCU1_1_DDR_SPACE
127     .pinit      : {} palign(8)          > MCU1_1_DDR_SPACE
128     .bss        : {} align(4)           > MCU1_1_DDR_SPACE
129     .data       : {} palign(128)        > MCU1_1_DDR_SPACE
130     .data_buffer: {} palign(128)        > MCU1_1_DDR_SPACE
131     .sysmem     : {}                    > MCU1_1_DDR_SPACE
132     .stack      : {} align(4)           > MCU1_1_DDR_SPACE
133     ipc_data_buffer (NOINIT) : {} palign(128)   > MCU1_1_DDR_SPACE
134     .resource_table : {
135         __RESOURCE_TABLE = .;
136     } > MCU1_1_EXT_DATA_BASE
138     .tracebuf   : {}                    > MCU1_1_EXT_DATA
140 }  /* end of SECTIONS */
142 /*----------------------------------------------------------------------------*/
143 /* Misc linker settings                                                       */
146 /*-------------------------------- END ---------------------------------------*/