4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-01-19 04:49:25 +08:00

arc: libgloss: Add support of HS Development Kit board

An example of building an application:

    $ arc-elf32-gcc -mcpu=hs -specs=hsdk.specs main.c -o main

Signed-off-by: Vladimir Isaev <vvisaev@gmail.com>
Signed-off-by: Yuriy Kolerov <kolerov93@gmail.com>
This commit is contained in:
Yuriy Kolerov 2024-05-21 10:56:55 +01:00 committed by Jeff Johnston
parent 4f50d9d620
commit fc2e959a42
3 changed files with 63 additions and 0 deletions

View File

@ -0,0 +1,32 @@
/*
* hsdk-setup.c -- provide _setup_low_level() to initialize UART.
*
* Copyright (c) 2024 Synopsys Inc.
*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*
*/
#include "uart-8250.h"
/* Setup UART parameters. */
int
_setup_low_level (void)
{
void * const uart_base = (void *) 0xf0005000;
const int uart_aux_mapped = 0;
const uint32_t uart_clock = 33333333;
const uint32_t uart_baud = 115200;
_uart_8250_setup (uart_base, uart_aux_mapped, uart_clock, uart_baud);
return 0;
}

13
libgloss/arc/hsdk.ld Normal file
View File

@ -0,0 +1,13 @@
/* Memory map for ARC HS Development Kit and ARC HS Development Kit 4xD */
MEMORY
{
DRAM : ORIGIN = 0x90000000, LENGTH = 0x50000000
}
REGION_ALIAS("startup", DRAM)
REGION_ALIAS("text", DRAM)
REGION_ALIAS("data", DRAM)
REGION_ALIAS("sdata", DRAM)
INCLUDE arcv2elf-common.ld

18
libgloss/arc/hsdk.specs Normal file
View File

@ -0,0 +1,18 @@
%rename link hsdk_link
%rename link_gcc_c_sequence hsdk_link_gcc_c_sequence
%rename startfile hsdk_startfile
*link:
%(hsdk_link) -T hsdk.ld%s
*hsdk_libgloss:
-luart_8250 -lhsdk_uart
*hsdk_libc:
%{!specs=nano.specs:-lc} %{specs=nano.specs:-lc_nano}
*link_gcc_c_sequence:
%(hsdk_link_gcc_c_sequence) --start-group %G %(hsdk_libc) %(hsdk_libgloss) --end-group
*startfile:
%(hsdk_startfile) arc-main-helper%O%s