[processor-sdk/performance-audio-sr.git] / psdk_cust / pdk_k2g_1_0_1_1_eng / packages / ti / boot / sbl / board / idkAM572x / build / linker.cmd
1 /**
2 * \file linker.cmd
3 *
4 * \brief This file is the linker script for am5x required for building
5 * SBL with the gcc toolchain.
6 *
7 */
9 /*
10 * Copyright (C) 2015-2016 Texas Instruments Incorporated - http://www.ti.com/
11 *
12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions
14 * are met:
15 *
16 * Redistributions of source code must retain the above copyright
17 * notice, this list of conditions and the following disclaimer.
18 *
19 * Redistributions in binary form must reproduce the above copyright
20 * notice, this list of conditions and the following disclaimer in the
21 * documentation and/or other materials provided with the
22 * distribution.
23 *
24 * Neither the name of Texas Instruments Incorporated nor the names of
25 * its contributors may be used to endorse or promote products derived
26 * from this software without specific prior written permission.
27 *
28 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
29 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
31 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
32 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
33 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
34 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
35 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
36 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
37 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
38 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 *
40 */
42 MEMORY
43 {
44 DDR0 : o = 0x80000400, l = (0x40000000 - 0x400) /* external DDR Bank 0 */
45 OCMC_RAM1 (RWIX): org = 0x40300000 , len = 0x0002FFFF /* OCMCRAM1 region meant for IO delay relocation */
46 DSP1TRAMPOLINE (RWIX): org = 0x40330000, len = 0x800 /* Memory area reserved for DSP1 Trampoline */
47 DSP2TRAMPOLINE (RWIX): org = 0x40330800, len = 0x800 /* Memory area reserved for DSP2 Trampoline */
48 SBL_MEM (RWIX): org = 0x40331000, len = 0x0004EFFF /* OCMCRAM1 Region meant for SBL */
49 OCMC_RAM2 (RWIX): org = 0x40400000 , len = 0x00100000 /* OCMC RAM */
50 OCMC_RAM3 (RWIX): org = 0x40500000 , len = 0x00100000 /* OCMC RAM */
51 }
53 OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
54 OUTPUT_ARCH(arm)
56 SECTIONS
57 {
58 .startcode :
59 {
60 . = ALIGN(4);
61 *(.public.*)
62 *sbl_init.ao (.text)
63 } >SBL_MEM
65 .text :
66 {
67 . = ALIGN(4);
68 *(.text*)
69 *(.rodata*)
70 } >SBL_MEM
72 .data :
73 {
74 . = ALIGN(4);
75 *(.data*)
76 } >SBL_MEM
78 .bss :
79 {
80 . = ALIGN(4);
81 _bss_start = .;
82 *(.bss*)
83 *(COMMON)
84 _bss_end = .;
85 } >SBL_MEM
87 .heap :
88 {
89 . = ALIGN(4);
90 __end__ = .;
91 end = __end__;
92 __HeapBase = __end__;
93 *(.heap*)
94 . = . + 0x400;
95 __HeapLimit = .;
96 } >SBL_MEM
98 .stack :
99 {
100 . = ALIGN(4);
101 __StackLimit = . ;
102 *(.stack*)
103 . = . + 0x10000;
104 __StackTop = .;
105 } >SBL_MEM
106 _stack = __StackTop;
107 }