MEMORY 
{
    eflash   : ORIGIN = 0x00400000, LENGTH = 512k
        ram  : ORIGIN = 0x00800000, LENGTH = 64k
}

STACK_LOCATION = 0x80fffc ;


SECTIONS 
{
        .text_entry   : { 
        					VECTOR_LOCATION = .;
							KEEP(*vector_table.o(.rodata*));
                        } >eflash

        .rodata :       {
						  *( .rodata*);
                        } >eflash

        .text   :       {
                          *( .text*);
						  . = ALIGN(8);  
                          _end_text = .;
                        } >eflash = 0xbebe

        .data   :    	AT(_end_text)
                        { _start_data = .;
                          *( .data );
						  . = ALIGN(4);  
                          _end_data = .; 
                        } >ram

        .bss    :       { _bss_start = .; 
                          *( .bss ) *(COMMON); 
                          . = . + 0x08;
                          _bss_end = .;
                        } >ram
}

PROVIDE (_end = STACK_LOCATION - 0x2000);
        

