mirror of
https://github.com/ayabusa/Numworks-zeta-os.git
synced 2025-04-27 12:11:20 +00:00
83 lines
1.7 KiB
Plaintext
83 lines
1.7 KiB
Plaintext
/* Label for the program's entry point */
|
|
ENTRY(reset_handler)
|
|
|
|
/* the end of the stack */
|
|
_estack = 0x20018000;
|
|
|
|
/* Set minimum size for stack and dynamic memory. */
|
|
/* (The linker will generate an error if there is
|
|
* less than this much RAM leftover.) */
|
|
/* (1KB) */
|
|
_Min_Leftover_RAM = 0x400;
|
|
|
|
|
|
MEMORY
|
|
{
|
|
FLASH (rx): ORIGIN = 0x08000000, LENGTH = 512K
|
|
RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 96K
|
|
}
|
|
|
|
SECTIONS
|
|
{
|
|
/* The vector table goes at the start of flash. */
|
|
.vector_table :
|
|
{
|
|
. = ALIGN(4);
|
|
KEEP (*(.vector_table))
|
|
. = ALIGN(4);
|
|
} >FLASH
|
|
/* The 'text' section contains the main program code. */
|
|
.text :
|
|
{
|
|
. = ALIGN(4);
|
|
*(.text)
|
|
*(.text*)
|
|
. = ALIGN(4);
|
|
} >FLASH
|
|
/* The 'rodata' section contains read-only data,
|
|
* constants, strings, information that won't change. */
|
|
.rodata :
|
|
{
|
|
. = ALIGN(4);
|
|
*(.rodata)
|
|
*(.rodata*)
|
|
. = ALIGN(4);
|
|
} >FLASH
|
|
/* The 'data' section is space set aside in RAM for
|
|
* things like variables, which can change. */
|
|
_sidata = .;
|
|
.data : AT(_sidata)
|
|
{
|
|
. = ALIGN(4);
|
|
/* Mark start/end locations for the 'data' section. */
|
|
_sdata = .;
|
|
*(.data)
|
|
*(.data*)
|
|
_edata = .;
|
|
. = ALIGN(4);
|
|
} >RAM
|
|
/* The 'bss' section is similar to the 'data' section,
|
|
* but its space is initialized to all 0s at the
|
|
* start of the program. */
|
|
.bss :
|
|
{
|
|
. = ALIGN(4);
|
|
/* Also mark the start/end of the BSS section. */
|
|
_sbss = .;
|
|
*(.bss)
|
|
*(.bss*)
|
|
*(COMMON)
|
|
. = ALIGN(4);
|
|
_ebss = .;
|
|
} >RAM
|
|
/* Space set aside for the application's heap/stack. */
|
|
.dynamic_allocations :
|
|
{
|
|
. = ALIGN(4);
|
|
_ssystem_ram = .;
|
|
. = . + _Min_Leftover_RAM;
|
|
. = ALIGN(4);
|
|
_esystem_ram = .;
|
|
} >RAM
|
|
}
|