]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/pdk.git/blob - packages/ti/build/tpr12/linker_c66.cmd
tpr12/qt: changes to enable tpr12 on QT again
[processor-sdk/pdk.git] / packages / ti / build / tpr12 / linker_c66.cmd
1 /*
2  * Copyright (c) 2016, Texas Instruments Incorporated
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * *  Redistributions of source code must retain the above copyright
10  *    notice, this list of conditions and the following disclaimer.
11  *
12  * *  Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  *
16  * *  Neither the name of Texas Instruments Incorporated nor the names of
17  *    its contributors may be used to endorse or promote products derived
18  *    from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
33 #define L1P_CACHE_SIZE (16*1024)
34 #define L1D_CACHE_SIZE (16*1024)
36 MEMORY
37 {
38 PAGE 0:
40 #if (L1P_CACHE_SIZE < 0x8000)
41     L1PSRAM:        o = 0x00E00000, l = (0x00008000 - L1P_CACHE_SIZE)
42 #endif
43 #if (L1D_CACHE_SIZE < 0x8000)
44     L1DSRAM:        o = 0x00F00000, l = (0x00008000 - L1D_CACHE_SIZE)
45 #endif
46     L2SRAM:   o = 0x00800000, l = 0x00060000
47     L3SRAM:   o = 0x88000000, l = 0x00390000
48     HWA_RAM:  o = 0x82000000, l = 0x00020000
50     /* PAGEs 1 and onwards are for overlay purposes for memory optimization.
51        Some examples:
52        1. Overlay one-time only text with uninitialized data.
53        2. Overlay L1PSRAM data path processing fast code and use copy tables
54           to page in (before entering data path) and out of L1PSRAM (when entering
55           sleep/low power).
56     */
57 PAGE 1:
58     L3SRAM:   o = 0x88000000, l = 0x00390000
59 }
61 -stack  0x2000                              /* SOFTWARE STACK SIZE           */
62 -heap   0x2000                              /* HEAP AREA SIZE                */
64 /* Set L1D, L1P and L2 Cache Sizes */
65 ti_sysbios_family_c66_Cache_l1dSize = L1D_CACHE_SIZE;
66 ti_sysbios_family_c66_Cache_l1pSize = L1P_CACHE_SIZE;
67 ti_sysbios_family_c66_Cache_l2Size  = 0;
69 SECTIONS
70 {
71     /* hard addresses forces vecs to be allocated there */
72     .vecs:  {. = align(32); } > 0x00800000
74     .fardata:  {} > L2SRAM
75     .const:    {} > L2SRAM
76     .switch:   {} > L2SRAM
77     .cio:      {} > L2SRAM
78     .data:     {} > L2SRAM
79     .sysmem:   {} > L2SRAM
81     GROUP
82     {
83     .rodata:
84     .bss:
85     .neardata:
86     } > L2SRAM
87     .stack:    {} > L2SRAM
88     .cinit:    {} > L2SRAM
89     .far:      {} > L2SRAM
91     .text: {} > L2SRAM
92 }