tests/tcg/tricore: Add first C program

this allows us to exercise the startup code used by GCC to call main().

Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
Message-Id: <20230526061946.54514-4-kbastian@mail.uni-paderborn.de>
This commit is contained in:
Bastian Koppelmann 2023-05-26 08:19:43 +02:00
parent 2b8e2992c3
commit 0e45f7beca
6 changed files with 396 additions and 0 deletions

View file

@ -12,6 +12,7 @@ MEMORY
/*
* Define the sizes of the user and system stacks.
*/
__ISTACK_SIZE = DEFINED (__ISTACK_SIZE) ? __ISTACK_SIZE : 256 ;
__USTACK_SIZE = DEFINED (__USTACK_SIZE) ? __USTACK_SIZE : 1K ;
/*
* Define the start address and the size of the context save area.
@ -20,6 +21,8 @@ __CSA_BEGIN = 0xd0000000 ;
__CSA_SIZE = 8k ;
__CSA_END = __CSA_BEGIN + __CSA_SIZE ;
__TESTDEVICE = 0xf0000000 ;
SECTIONS
{
.text :
@ -32,6 +35,18 @@ SECTIONS
{
*(.rodata)
*(.rodata1)
/*
* Create the clear and copy tables that tell the startup code
* which memory areas to clear and to copy, respectively.
*/
. = ALIGN(4) ;
PROVIDE(__clear_table = .) ;
LONG(0 + ADDR(.bss)); LONG(SIZEOF(.bss));
LONG(-1); LONG(-1);
PROVIDE(__copy_table = .) ;
LONG(LOADADDR(.data)); LONG(0 + ADDR(.data)); LONG(SIZEOF(.data));
LONG(-1); LONG(-1); LONG(-1);
. = ALIGN(8);
} > data_ram
.data :
@ -40,6 +55,7 @@ SECTIONS
*(.data)
*(.data.*)
. = ALIGN(8) ;
__ISTACK = . + __ISTACK_SIZE ;
__USTACK = . + __USTACK_SIZE -768;
} > data_ram