93 lines
1.6 KiB
Plaintext
93 lines
1.6 KiB
Plaintext
/*
|
|
* GD32VF103 memory setup.
|
|
*/
|
|
MEMORY
|
|
{
|
|
flash : org = 0x08000000, len = 128k
|
|
ram : org = 0x20000000, len = 32k
|
|
}
|
|
|
|
__ram_start__ = ORIGIN(ram);
|
|
__ram_size__ = 32k;
|
|
__ram_end__ = __ram_start__ + __ram_size__;
|
|
|
|
SECTIONS
|
|
{
|
|
. = 0;
|
|
|
|
_text = .;
|
|
|
|
.text :
|
|
{
|
|
*(.text.startup.0)
|
|
*(.text.startup.1)
|
|
*(.text.startup.*)
|
|
*(.text)
|
|
*(.text.*)
|
|
*(.gnu.linkonce.t.*)
|
|
*(.rodata)
|
|
*(.rodata.*)
|
|
. = ALIGN(4);
|
|
} > flash
|
|
|
|
PROVIDE (_etext = .);
|
|
_textdata = _etext;
|
|
|
|
.stacks (NOLOAD) :
|
|
{
|
|
. = ALIGN(8);
|
|
*(.main_stack)
|
|
*(.process_stack.0)
|
|
*(.process_stack.1)
|
|
*(.process_stack.2)
|
|
*(.process_stack.3)
|
|
*(.process_stack.4)
|
|
. = ALIGN(8);
|
|
} > ram
|
|
|
|
.data :
|
|
{
|
|
. = ALIGN(4);
|
|
PROVIDE(_data = .);
|
|
*(.gnu.linkonce.r.*)
|
|
*(.data)
|
|
. = ALIGN(4);
|
|
*(.data.*)
|
|
*(.gnu.linkonce.d.*)
|
|
. = ALIGN(8);
|
|
PROVIDE( __global_pointer$ = . + 0x800);
|
|
*(.sdata .sdata.*)
|
|
*(.gnu.linkonce.s.*)
|
|
. = ALIGN(8);
|
|
*(.srodata.cst16)
|
|
*(.srodata.cst8)
|
|
*(.srodata.cst4)
|
|
*(.srodata.cst2)
|
|
*(.srodata .srodata.*)
|
|
|
|
} > ram AT > flash
|
|
|
|
. = ALIGN(4);
|
|
PROVIDE(_edata = .);
|
|
|
|
PROVIDE(_bss_start = .);
|
|
.bss :
|
|
{
|
|
*(.sbss*)
|
|
*(.gnu.linkonce.sb.*)
|
|
*(.bss .bss.*)
|
|
*(.gnu.linkonce.b.*)
|
|
*(COMMON)
|
|
. = ALIGN(4);
|
|
} > ram
|
|
|
|
. = ALIGN(8);
|
|
|
|
PROVIDE(_bss_end = .);
|
|
PROVIDE(end = .);
|
|
PROVIDE(_end = .);
|
|
}
|
|
|
|
__heap_base__ = _end;
|
|
__heap_end__ = __ram_end__;
|