summaryrefslogtreecommitdiff
path: root/demo/link.ld
blob: 8a4d40b3de71d8a8b7acbd21cd30ea473edecea1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
MEMORY
{
  HPS_SDRAM (rwx) : ORIGIN = 0x00000000, LENGTH = 512M
}

SECTIONS
{
  ._img :
  {
    KEEP(*(.interrupt_vector))
    *(.text)
    *(.text*)
    *(.rodata)
    *(.rodata*)
    *(.data)
    *(.data*)
    *(.bss)
    *(.bss*)
    *(COMMON)
    . = ALIGN(4);
  } > HPS_SDRAM

  _stack_shift = 13;
  _stack_size = (1 << _stack_shift) * (4 + 1); # Hay un stack extra para irq
  _stack_end = ORIGIN(HPS_SDRAM) + LENGTH(HPS_SDRAM);
  _irq_stack = _stack_end;
  _stack_begin = (_stack_end - _stack_size) + (1 << _stack_shift);
  
  . = _stack_begin;
  ._stack :
  {
    . = . + _stack_size;
  } > HPS_SDRAM
}