1/* 2 * Copyright (C) 2016 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17SECTIONS 18{ 19 /* things that live in the main app image */ 20 .text : { 21 KEEP (*(.vectors) ) ; 22 *(.text) *(.text.*) ; 23 *(.rodata) *(.rodata.*) ; 24 . = ALIGN(8); 25 __internal_app_start = ABSOLUTE(.); 26 KEEP (*(.internal_app_init) ) ; 27 __internal_app_end = ABSOLUTE(.); 28 . = ALIGN(4); 29 __text_end = ABSOLUTE(.); 30 } > code = 0xff 31 32 .stack (NOLOAD) : { 33 . = ALIGN(4); 34 __stack_bottom = ABSOLUTE(.); 35 KEEP ( *(.stack) ); 36 KEEP ( *(.stack.*) ); 37 . = ALIGN(4); 38 __stack_top = ABSOLUTE(.); 39 } > ram 40 41 .data : { 42 . = ALIGN(4); 43 __data_start = ABSOLUTE(.); 44 *(.data); 45 *(.data.*); 46 . = ALIGN(4); 47 __data_end = ABSOLUTE(.); 48 } > ram AT > code 49 50 .bss : { 51 . = ALIGN(4); 52 __bss_start = ABSOLUTE(.); 53 *(.bss) *(.bss.*) *(COMMON); 54 . = ALIGN(4); 55 __bss_end = ABSOLUTE(.); 56 } > ram 57 58 .neverinit : { 59 . = ALIGN(4); 60 *(.neverinit) *(.neverinit.*) ; 61 . = ALIGN(4); 62 __heap_start = ABSOLUTE(.); 63 } > ram 64} 65 66_BL = ORIGIN(bl); 67__app_start = __data_data + __data_end - __data_start; 68__heap_end = ORIGIN(ram) + LENGTH(ram); 69ENTRY(ResetISR) 70