lpc2478_ram.lds 1.8 KB
Newer Older
1 2 3 4 5
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)
SECTIONS
{
mysterywolf's avatar
mysterywolf 已提交
6
  . = 0xa0000000;
7 8 9 10 11 12 13 14 15 16 17 18 19

  __text_start = .;
  .text      :
  {
    *(.vectors)
    *(.text)
    *(.text.*)
  } =0
  __text_end = .;

  __rodata_start = .;
  .rodata   : { *(.rodata) *(.rodata.*) }
  __rodata_end = .;
mysterywolf's avatar
mysterywolf 已提交
20 21

    . = 0xa0100000;
22
  . = ALIGN(8);
23
  __data_start = .;
mysterywolf's avatar
mysterywolf 已提交
24 25 26 27
  .data :
  {
        *(.data)
        *(.data.*)
28 29 30
  }
  __data_end = .;

31 32
  . = ALIGN(8);
  __bss_start = .;
33 34 35 36 37 38 39 40 41 42 43 44 45 46
  .bss       :
  {
   *(.bss)
   *(.bss.*)
   *(COMMON)
   . = ALIGN(4);
  }
  . = ALIGN(4);
  __bss_end = .;

  . = ALIGN(4);
  __UndStack_start = __bss_end;
  .UndStack : { *(.UndStack) }
  __UndStack_end = ( __UndStack_start + 0x00000100 );
mysterywolf's avatar
mysterywolf 已提交
47

48 49 50 51
  . = ALIGN(4);
  __IRQStack_start = __UndStack_end;
  .IRQStack : { *(.IRQStack) }
  __IRQStack_end = ( __IRQStack_start + 0x00000100 );
mysterywolf's avatar
mysterywolf 已提交
52

53 54 55 56
  . = ALIGN(4);
  __FIQStack_start = __IRQStack_end;
  .FIQStack : { *(.FIQStack) }
  __FIQStack_end = ( __FIQStack_start + 0x00000100 );
mysterywolf's avatar
mysterywolf 已提交
57

58 59 60 61
  . = ALIGN(4);
  __SVCStack_start = __FIQStack_end;
  .SVCStack : { *(.SVCStack) }
  __SVCStack_end = ( __SVCStack_start + 0x00000100 );
mysterywolf's avatar
mysterywolf 已提交
62

63 64 65 66
  . = ALIGN(4);
  __ABTStack_start = __SVCStack_end;
  .ABTStack : { *(.ABTStack) }
  __ABTStack_end = ( __ABTStack_start + 0x00000100 );
mysterywolf's avatar
mysterywolf 已提交
67

68 69 70 71
  . = ALIGN(4);
  __USRStack_start = __ABTStack_end;
  .USRStack : { *(.USRStack) }
  __USRStack_end = ( __USRStack_start + 0x00003B00 );
mysterywolf's avatar
mysterywolf 已提交
72

73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
  . = ALIGN(4);
  __Heap_start = __USRStack_end;
  .Heap : { *(.Heap) }
  __Heap_end = (__Heap_start + 0x00008000);


  /* Stabs debugging sections.  */
  .stab 0 : { *(.stab) }
  .stabstr 0 : { *(.stabstr) }
  .stab.excl 0 : { *(.stab.excl) }
  .stab.exclstr 0 : { *(.stab.exclstr) }
  .stab.index 0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment 0 : { *(.comment) }

  _end = .;
}