72 lines
1.3 KiB
Plaintext
72 lines
1.3 KiB
Plaintext
|
/* Entry Point */
|
||
|
ENTRY(Reset_Handler)
|
||
|
|
||
|
/* Specify the memory areas */
|
||
|
MEMORY
|
||
|
{
|
||
|
ROM (arx) : ORIGIN = 0x00000000, LENGTH = 0x00080000 /* 512k */
|
||
|
RAM (arw) : ORIGIN = 0x20000000, LENGTH = 0x00020000 /* 128k */
|
||
|
}
|
||
|
|
||
|
/* Define output sections */
|
||
|
SECTIONS
|
||
|
{
|
||
|
. = ORIGIN(ROM);
|
||
|
.text :
|
||
|
{
|
||
|
KEEP(*(.isr_vector))
|
||
|
|
||
|
*(.text)
|
||
|
*(.text*)
|
||
|
*(.rodata*)
|
||
|
} > ROM
|
||
|
|
||
|
. = ALIGN(4);
|
||
|
__data_load__ = LOADADDR(.data);
|
||
|
|
||
|
. = ALIGN(4);
|
||
|
.data :
|
||
|
{
|
||
|
__data_start__ = .;
|
||
|
|
||
|
*(.data)
|
||
|
*(.data*)
|
||
|
|
||
|
. = ALIGN(4);
|
||
|
__data_end__ = .;
|
||
|
} > RAM AT> ROM
|
||
|
|
||
|
. = ALIGN(4);
|
||
|
.bss :
|
||
|
{
|
||
|
__bss_start__ = .;
|
||
|
|
||
|
*(.bss)
|
||
|
*(.bss*)
|
||
|
*(COMMON)
|
||
|
|
||
|
. = ALIGN(4);
|
||
|
__bss_end__ = .;
|
||
|
} > RAM
|
||
|
. = ALIGN(4);
|
||
|
|
||
|
.heap :
|
||
|
{
|
||
|
end = .;
|
||
|
__HeapBase = .;
|
||
|
|
||
|
*(.heap)
|
||
|
} > RAM
|
||
|
|
||
|
/* .stack_dummy section doesn't contains any symbols.
|
||
|
* It is only used for linker to calculate size of stack sections */
|
||
|
.stack_dummy :
|
||
|
{
|
||
|
*(.stack)
|
||
|
} > RAM
|
||
|
|
||
|
__StackTop = ORIGIN(RAM) + LENGTH(RAM);
|
||
|
__StackLimit = __StackTop - SIZEOF(.stack_dummy);
|
||
|
ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
|
||
|
}
|