1OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") 2OUTPUT_ARCH(arm) 3 4SECTIONS 5{ 6 ".usbhostlib" 0x28000000 (NOLOAD): 7 { 8 . = ALIGN(4) ; 9 *(.usbhostlib.*) 10 } 11 12 . = 0x80400000; 13 14 __text_start = .; 15 .text : 16 { 17 KEEP(*(.text.entrypoint)) /* The entry point */ 18 *(.vectors) 19 *(.text) 20 *(.text.*) 21 22 /* section information for finsh shell */ 23 . = ALIGN(4); 24 __fsymtab_start = .; 25 KEEP(*(FSymTab)) 26 __fsymtab_end = .; 27 . = ALIGN(4); 28 __vsymtab_start = .; 29 KEEP(*(VSymTab)) 30 __vsymtab_end = .; 31 . = ALIGN(4); 32 33 /* section information for modules */ 34 . = ALIGN(4); 35 __rtmsymtab_start = .; 36 KEEP(*(RTMSymTab)) 37 __rtmsymtab_end = .; 38 39 /* section information for initialization */ 40 . = ALIGN(4); 41 __rt_init_start = .; 42 KEEP(*(SORT(.rti_fn*))) 43 __rt_init_end = .; 44 . = ALIGN(4); 45 46 /* section information for utest */ 47 . = ALIGN(4); 48 __rt_utest_tc_tab_start = .; 49 KEEP(*(UtestTcTab)) 50 __rt_utest_tc_tab_end = .; 51 . = ALIGN(4); 52 53 } =0 54 __text_end = .; 55 56 . = ALIGN(4); 57 58 __exidx_start = .; 59 .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } 60 __exidx_end = .; 61 62 . = ALIGN(4); 63 64 __rodata_start = .; 65 .rodata : { *(.rodata) *(.rodata.*) } 66 __rodata_end = .; 67 68 . = ALIGN(4); 69 .ctors : 70 { 71 PROVIDE(__ctors_start__ = .); 72 KEEP(*(SORT(.ctors.*))) 73 KEEP(*(.ctors)) 74 PROVIDE(__ctors_end__ = .); 75 } 76 77 .dtors : 78 { 79 PROVIDE(__dtors_start__ = .); 80 KEEP(*(SORT(.dtors.*))) 81 KEEP(*(.dtors)) 82 PROVIDE(__dtors_end__ = .); 83 } 84 85 . = ALIGN(16 * 1024); 86 .l1_page_table : 87 { 88 __l1_page_table_start = .; 89 . += 16K; 90 } 91 92 . = ALIGN(8); 93 __data_start = .; 94 .data : 95 { 96 *(.data) 97 *(.data.*) 98 } 99 __data_end = .; 100 101 . = ALIGN(8); 102 __bss_start = .; 103 .bss : 104 { 105 *(.bss) 106 *(.bss.*) 107 *(COMMON) 108 . = ALIGN(4); 109 } 110 . = ALIGN(4); 111 __bss_end = .; 112 113 .heap : 114 { 115 . = ALIGN(8); 116 __end__ = .; 117 PROVIDE(end = .); 118 __HeapBase = .; 119 . += 0x400; 120 __HeapLimit = .; 121 __heap_limit = .; /* Add for _sbrk */ 122 } 123 124 /* Stabs debugging sections. */ 125 .stab 0 : { *(.stab) } 126 .stabstr 0 : { *(.stabstr) } 127 .stab.excl 0 : { *(.stab.excl) } 128 .stab.exclstr 0 : { *(.stab.exclstr) } 129 .stab.index 0 : { *(.stab.index) } 130 .stab.indexstr 0 : { *(.stab.indexstr) } 131 .comment 0 : { *(.comment) } 132 133 _end = .; 134} 135