/**
 * \file   : preloader.ld.in
 * \author : Cesar Fuguet
 * \date   : July 24, 2014
 *
 * \brief  : preloader ldscript template
 * \note   : must be compiled with gcc to generate an instance
 */

#include <defs.h>

/* Definition of the base address for code segment */

seg_code_base = SEG_ROM_BASE;
seg_data_base = SEG_RAM_BASE + SEG_RAM_SIZE - RESET_STACK_SIZE - 0x4000;

/* Grouping sections into segments */

ENTRY(reset)

SECTIONS
{
    . = seg_code_base;
    .text :
    {
        *(.reset)
        *(.rodata)
        *(.rodata.*)
        . = ALIGN(0x4);
        dtb_addr = .;
        INCLUDE "build/platform.ld";
    }

    . = seg_data_base;
    .bss ALIGN(0x4) (NOLOAD) :
    {
        *(.data)
        *(.bss)
    }
}
