xref: /btstack/port/apollo2-em9304/example-template/gcc/btstack_template.ld (revision e6c9673776c7f85e24c76da7f4b1b83031102d2b)
1*e6c96737SMatthias Ringwald/******************************************************************************
2*e6c96737SMatthias Ringwald *
3*e6c96737SMatthias Ringwald * hello_world_uart.ld - Linker script for applications using startup_gnu.c
4*e6c96737SMatthias Ringwald *
5*e6c96737SMatthias Ringwald *****************************************************************************/
6*e6c96737SMatthias RingwaldENTRY(am_reset_isr)
7*e6c96737SMatthias Ringwald
8*e6c96737SMatthias RingwaldMEMORY
9*e6c96737SMatthias Ringwald{
10*e6c96737SMatthias Ringwald    FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 1024K
11*e6c96737SMatthias Ringwald    SRAM (rwx) : ORIGIN = 0x10000000, LENGTH = 256K
12*e6c96737SMatthias Ringwald}
13*e6c96737SMatthias Ringwald
14*e6c96737SMatthias RingwaldSECTIONS
15*e6c96737SMatthias Ringwald{
16*e6c96737SMatthias Ringwald    .text :
17*e6c96737SMatthias Ringwald    {
18*e6c96737SMatthias Ringwald        . = ALIGN(4);
19*e6c96737SMatthias Ringwald        KEEP(*(.isr_vector))
20*e6c96737SMatthias Ringwald        *(.text)
21*e6c96737SMatthias Ringwald        *(.text*)
22*e6c96737SMatthias Ringwald        *(.rodata)
23*e6c96737SMatthias Ringwald        *(.rodata*)
24*e6c96737SMatthias Ringwald        . = ALIGN(4);
25*e6c96737SMatthias Ringwald        _etext = .;
26*e6c96737SMatthias Ringwald    } > FLASH
27*e6c96737SMatthias Ringwald
28*e6c96737SMatthias Ringwald  /* User stack section initialized by startup code. */
29*e6c96737SMatthias Ringwald  .stack (NOLOAD):
30*e6c96737SMatthias Ringwald    {
31*e6c96737SMatthias Ringwald        . = ALIGN(8);
32*e6c96737SMatthias Ringwald        *(.stack)
33*e6c96737SMatthias Ringwald        *(.stack*)
34*e6c96737SMatthias Ringwald        . = ALIGN(8);
35*e6c96737SMatthias Ringwald    } > SRAM
36*e6c96737SMatthias Ringwald
37*e6c96737SMatthias Ringwald    .data :
38*e6c96737SMatthias Ringwald    {
39*e6c96737SMatthias Ringwald        . = ALIGN(4);
40*e6c96737SMatthias Ringwald        _sdata = .;
41*e6c96737SMatthias Ringwald        *(.data)
42*e6c96737SMatthias Ringwald        *(.data*)
43*e6c96737SMatthias Ringwald        . = ALIGN(4);
44*e6c96737SMatthias Ringwald        _edata = .;
45*e6c96737SMatthias Ringwald    } > SRAM AT>FLASH
46*e6c96737SMatthias Ringwald
47*e6c96737SMatthias Ringwald    /* used by startup to initialize data */
48*e6c96737SMatthias Ringwald    _init_data = LOADADDR(.data);
49*e6c96737SMatthias Ringwald
50*e6c96737SMatthias Ringwald    .bss :
51*e6c96737SMatthias Ringwald    {
52*e6c96737SMatthias Ringwald        . = ALIGN(4);
53*e6c96737SMatthias Ringwald        _sbss = .;
54*e6c96737SMatthias Ringwald        *(.bss)
55*e6c96737SMatthias Ringwald        *(.bss*)
56*e6c96737SMatthias Ringwald        *(COMMON)
57*e6c96737SMatthias Ringwald        . = ALIGN(4);
58*e6c96737SMatthias Ringwald        _ebss = .;
59*e6c96737SMatthias Ringwald    } > SRAM
60*e6c96737SMatthias Ringwald
61*e6c96737SMatthias Ringwald  .ARM.attributes 0 : { *(.ARM.attributes) }
62*e6c96737SMatthias Ringwald}
63*e6c96737SMatthias Ringwald
64*e6c96737SMatthias Ringwald
65