ENTRY(_start)
MEMORY {
	mrom : ORIGIN = 0x20000000, LENGTH = 4K
	sram : ORIGIN = 0x0f000000, LENGTH = 8K
}

SECTIONS {
	.text : {
		_stext = .;
		*(entry);
		*(.text*);
	  _etext = .;
	} > mrom AT> mrom

	.rodata : {
		_srodata = .;
		*(.rodata*);
		*(.srodata*);
		_erodata = .;
  } > mrom AT> mrom
	.data : {
		_sdata = .;
		*(.data*);
		*(.sdata*);
		_edata = .; /* Note that this is VMA */
	} > sram AT> mrom
	_data_size = SIZEOF(.data);
	_data_load_start = LOADADDR(.data);

	.bss : {
		_sbss = .;
    *(.bss*);
    *(.sbss*);
    *(.scommon);
		_ebss = .;
  } > sram
	_end = .;
	_heap_start = ALIGN(0x1000);
	_stack_pointer = _sram_start + _sram_limit;
}