[processor-sdk/performance-audio-sr.git] / psdk_cust / pdk_k2g_1_0_1_0_eng / packages / ti / boot / sbl / board / evmAM572x / 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 */
43 MEMORY
44 {
45 DDR0 : o = 0x80000400, l = (0x40000000 - 0x400) /* external DDR Bank 0 */
46 OCMC_RAM1 (RWIX): org = 0x40300000 , len = 0x0002FFFF /* OCMCRAM1 region meant for IO delay relocation */
47 DSP1TRAMPOLINE (RWIX): org = 0x40330000, len = 0x800 /* Memory area reserved for DSP1 Trampoline */
48 DSP2TRAMPOLINE (RWIX): org = 0x40330800, len = 0x800 /* Memory area reserved for DSP2 Trampoline */
49 SBL_MEM (RWIX): org = 0x40331000, len = 0x0004EFFF /* OCMCRAM1 Region meant for SBL */
50 OCMC_RAM2 (RWIX): org = 0x40400000 , len = 0x00100000 /* OCMC RAM */
51 OCMC_RAM3 (RWIX): org = 0x40500000 , len = 0x00100000 /* OCMC RAM */
52 }
54 OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
55 OUTPUT_ARCH(arm)
57 SECTIONS
58 {
59 .startcode :
60 {
61 . = ALIGN(4);
62 *(.public.*)
63 *sbl_init.ao (.text)
64 } >SBL_MEM
66 .text :
67 {
68 . = ALIGN(4);
69 *(.text*)
70 *(.rodata*)
71 } >SBL_MEM
73 .data :
74 {
75 . = ALIGN(4);
76 *(.data*)
77 } >SBL_MEM
79 .bss :
80 {
81 . = ALIGN(4);
82 _bss_start = .;
83 *(.bss*)
84 *(COMMON)
85 _bss_end = .;
86 } >SBL_MEM
88 .heap :
89 {
90 . = ALIGN(4);
91 __end__ = .;
92 end = __end__;
93 __HeapBase = __end__;
94 *(.heap*)
95 . = . + 0x400;
96 __HeapLimit = .;
97 } >SBL_MEM
99 .stack :
100 {
101 . = ALIGN(4);
102 __StackLimit = . ;
103 *(.stack*)
104 . = . + 0x10000;
105 __StackTop = .;
106 } >SBL_MEM
107 _stack = __StackTop;
108 }