]> sourceware.org Git - newlib-cygwin.git/commitdiff
arc: libgloss: Add support of HS Development Kit board
authorYuriy Kolerov <kolerov93@gmail.com>
Tue, 21 May 2024 09:56:55 +0000 (10:56 +0100)
committerJeff Johnston <jjohnstn@redhat.com>
Wed, 22 May 2024 18:26:28 +0000 (14:26 -0400)
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>
libgloss/arc/hsdk-uart-setup.c [new file with mode: 0644]
libgloss/arc/hsdk.ld [new file with mode: 0644]
libgloss/arc/hsdk.specs [new file with mode: 0644]

diff --git a/libgloss/arc/hsdk-uart-setup.c b/libgloss/arc/hsdk-uart-setup.c
new file mode 100644 (file)
index 0000000..f2c2242
--- /dev/null
@@ -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;
+}
diff --git a/libgloss/arc/hsdk.ld b/libgloss/arc/hsdk.ld
new file mode 100644 (file)
index 0000000..ddf024f
--- /dev/null
@@ -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
diff --git a/libgloss/arc/hsdk.specs b/libgloss/arc/hsdk.specs
new file mode 100644 (file)
index 0000000..fda702f
--- /dev/null
@@ -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
This page took 0.035803 seconds and 5 git commands to generate.