106 lines
2.2 KiB
Plaintext
106 lines
2.2 KiB
Plaintext
/*
|
|
* Copyright (c) 2020 AIIT XUOS Lab
|
|
* XiUOS is licensed under Mulan PSL v2.
|
|
* You can use this software according to the terms and conditions of the Mulan PSL v2.
|
|
* You may obtain a copy of Mulan PSL v2 at:
|
|
* http://license.coscl.org.cn/MulanPSL2
|
|
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
|
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
|
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
|
* See the Mulan PSL v2 for more details.
|
|
*/
|
|
|
|
OUTPUT_ARCH( "riscv" )
|
|
__STACKSIZE__ = 1024;
|
|
ENTRY( _begin )
|
|
|
|
MEMORY
|
|
{
|
|
flash (rxai!w) : ORIGIN = 0x20400000, LENGTH = 4096K
|
|
sram (wxa!ri) : ORIGIN = 0x80000000, LENGTH = 16K
|
|
}
|
|
|
|
|
|
SECTIONS
|
|
{
|
|
.start :
|
|
{
|
|
*(.init);
|
|
} > flash
|
|
.text :
|
|
{
|
|
*(.text .text.*)
|
|
*(.rodata .rodata*)
|
|
/* section information for shell */
|
|
. = ALIGN(8);
|
|
_shell_command_start = .;
|
|
KEEP (*(shellCommand))
|
|
_shell_command_end = .;
|
|
. = ALIGN(8);
|
|
|
|
/* the work i did */
|
|
PROVIDE(__ctors_start__ = .);
|
|
KEEP (*(SORT(.init_array.*)))
|
|
KEEP (*(.init_array))
|
|
PROVIDE(__ctors_end__ = .);
|
|
|
|
. = ALIGN(4);
|
|
__isrtbl_idx_start = .;
|
|
KEEP(*(.isrtbl.idx))
|
|
__isrtbl_start = .;
|
|
KEEP(*(.isrtbl))
|
|
__isrtbl_end = .;
|
|
. = ALIGN(8);
|
|
|
|
PROVIDE(g_service_table_start = ABSOLUTE(.));
|
|
KEEP(*(.g_service_table))
|
|
PROVIDE(g_service_table_end = ABSOLUTE(.));
|
|
|
|
} > flash
|
|
|
|
PROVIDE (_etext = .);
|
|
. = ALIGN(4);
|
|
|
|
.lalign :
|
|
{
|
|
. = ALIGN(4);
|
|
PROVIDE( _data_lma = . );
|
|
} >flash AT>flash
|
|
|
|
.data :
|
|
{
|
|
. = ALIGN(4);
|
|
PROVIDE( _data = . );
|
|
*(.data .data.*)
|
|
. = ALIGN(4);
|
|
PROVIDE( __global_pointer$ = . + 0x800 );
|
|
*(.sdata .sdata.*)
|
|
} >sram AT>flash
|
|
|
|
. = ALIGN(4);
|
|
PROVIDE( _edata = . );
|
|
|
|
PROVIDE( __bss_start = . );
|
|
.bss :
|
|
{
|
|
*(.sbss*)
|
|
*(.bss .bss.*)
|
|
*(.scommon)
|
|
. = ALIGN(4);
|
|
} > sram
|
|
|
|
. = ALIGN(8);
|
|
PROVIDE( _end = . );
|
|
|
|
.stack :
|
|
{
|
|
. = ALIGN(4);
|
|
/* cpu0 stack top site */
|
|
. = . + __STACKSIZE__;
|
|
_sp = . ;
|
|
PROVIDE(_sp = ABSOLUTE(.));
|
|
PROVIDE( __stack_end__ = ABSOLUTE(.) );
|
|
} > sram
|
|
|
|
}
|