summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@uclibc-ng.org>2016-07-26 05:07:33 +0200
committerWaldemar Brodkorb <wbx@uclibc-ng.org>2016-07-26 05:32:49 +0200
commit285cf52be98b027686534b0a8041bc91200e47ec (patch)
treee1e26555d87c71792b4f2b8dda3332958ad9c579
parentdc691fec88afc4ba5eb0d809b9ce9d19e9b039e2 (diff)
add bare-metal toolchain support for cr16 architecture
-rwxr-xr-xscripts/create-menu2
-rw-r--r--target/arch.lst1
-rw-r--r--target/config/Config.in.compiler3
-rw-r--r--target/config/Config.in.cpu6
-rw-r--r--target/config/Config.in.libc1
-rw-r--r--target/cr16/Makefile4
-rw-r--r--toolchain/Makefile2
7 files changed, 17 insertions, 2 deletions
diff --git a/scripts/create-menu b/scripts/create-menu
index 2b216152c..27397e3d0 100755
--- a/scripts/create-menu
+++ b/scripts/create-menu
@@ -93,7 +93,7 @@ for arch in $(cat $topdir/target/arch.lst);do
alpha|ia64|sh|sparc64|s390|tile|ppc64|mips64|x86_64)
printf "\tdepends on ADK_TARGET_OS_LINUX\n" >> $topdir/target/config/Config.in.arch.choice
;;
- epiphany|m32r|mn10300|moxie|msp430|v850)
+ cr16|epiphany|m32r|mn10300|moxie|msp430|v850)
printf "\tdepends on ADK_TARGET_OS_BAREMETAL\n" >> $topdir/target/config/Config.in.arch.choice
;;
esac
diff --git a/target/arch.lst b/target/arch.lst
index 803b011ba..8bab3bd2f 100644
--- a/target/arch.lst
+++ b/target/arch.lst
@@ -5,6 +5,7 @@ arm
avr32
bfin
c6x
+cr16
cris
epiphany
frv
diff --git a/target/config/Config.in.compiler b/target/config/Config.in.compiler
index 170ff2dd7..59b9f9dee 100644
--- a/target/config/Config.in.compiler
+++ b/target/config/Config.in.compiler
@@ -25,6 +25,7 @@ default ADK_TOOLCHAIN_GCC_5_3_OR1K if ADK_TARGET_ARCH_OR1K
default ADK_TOOLCHAIN_GCC_6_1_0 if ADK_TARGET_ARCH_XTENSA
default ADK_TOOLCHAIN_GCC_6_1_0 if ADK_TARGET_ARCH_BFIN
default ADK_TOOLCHAIN_GCC_6_1_0 if ADK_TARGET_ARCH_C6X
+default ADK_TOOLCHAIN_GCC_6_1_0 if ADK_TARGET_ARCH_CR16
default ADK_TOOLCHAIN_GCC_6_1_0 if ADK_TARGET_ARCH_H8300
default ADK_TOOLCHAIN_GCC_6_1_0 if ADK_TARGET_ARCH_FRV
default ADK_TOOLCHAIN_GCC_6_1_0 if ADK_TARGET_CPU_MIPS_MIPS32R6 || ADK_TARGET_CPU_MIPS64_MIPS64R6
@@ -54,6 +55,7 @@ config ADK_TOOLCHAIN_GCC_5_4_0
depends on !ADK_TARGET_ARCH_AVR32
depends on !ADK_TARGET_ARCH_BFIN
depends on !ADK_TARGET_ARCH_C6X
+ depends on !ADK_TARGET_ARCH_CR16
depends on !ADK_TARGET_ARCH_FRV
depends on !ADK_TARGET_ARCH_H8300
depends on !ADK_TARGET_ARCH_M32R
@@ -71,6 +73,7 @@ config ADK_TOOLCHAIN_GCC_4_9_3
depends on !ADK_TARGET_ARCH_AVR32
depends on !ADK_TARGET_ARCH_BFIN
depends on !ADK_TARGET_ARCH_C6X
+ depends on !ADK_TARGET_ARCH_CR16
depends on !ADK_TARGET_ARCH_H8300
depends on !ADK_TARGET_ARCH_METAG
depends on !ADK_TARGET_ARCH_OR1K
diff --git a/target/config/Config.in.cpu b/target/config/Config.in.cpu
index d318a6440..57016d99e 100644
--- a/target/config/Config.in.cpu
+++ b/target/config/Config.in.cpu
@@ -345,6 +345,11 @@ config ADK_TARGET_CPU_C6X
select ADK_TARGET_WITHOUT_MMU
depends on ADK_TARGET_ARCH_C6X
+# cr16
+config ADK_TARGET_CPU_CR16
+ bool "cr16"
+ depends on ADK_TARGET_ARCH_CR16
+
# cris
config ADK_TARGET_CPU_CRIS_CRISV10
bool "crisv10"
@@ -1654,6 +1659,7 @@ config ADK_TARGET_CPU_ARCH
default "avr32" if ADK_TARGET_ARCH_AVR32
default "bfin" if ADK_TARGET_ARCH_BFIN
default "c6x" if ADK_TARGET_ARCH_C6X
+ default "cr16" if ADK_TARGET_ARCH_CR16
default "cris" if ADK_TARGET_CPU_CRIS_CRISV10
default "crisv32" if ADK_TARGET_CPU_CRIS_CRISV32
default "epiphany" if ADK_TARGET_ARCH_EPIPHANY
diff --git a/target/config/Config.in.libc b/target/config/Config.in.libc
index 1d0c89555..15edd4972 100644
--- a/target/config/Config.in.libc
+++ b/target/config/Config.in.libc
@@ -88,6 +88,7 @@ config ADK_TARGET_LIB_NEWLIB
ADK_TARGET_ARCH_ARC || \
ADK_TARGET_ARCH_ARM || \
ADK_TARGET_ARCH_BFIN || \
+ ADK_TARGET_ARCH_CR16 || \
ADK_TARGET_ARCH_CRIS || \
ADK_TARGET_ARCH_EPIPHANY || \
ADK_TARGET_ARCH_FRV || \
diff --git a/target/cr16/Makefile b/target/cr16/Makefile
new file mode 100644
index 000000000..9c9eb49d0
--- /dev/null
+++ b/target/cr16/Makefile
@@ -0,0 +1,4 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
diff --git a/toolchain/Makefile b/toolchain/Makefile
index 3d9986974..9cafeeda3 100644
--- a/toolchain/Makefile
+++ b/toolchain/Makefile
@@ -46,7 +46,7 @@ ELF2FLT:=elf2flt-install
endif
# disable gdb for some architectures
-ifeq ($(ADK_TARGET_ARCH_ARC)$(ADK_TARGET_ARCH_EPIPHANY)$(ADK_TARGET_ARCH_METAG)$(ADK_TARGET_ARCH_NDS32)$(ADK_TARGET_ARCH_OR1K),)
+ifeq ($(ADK_TARGET_ARCH_ARC)$(ADK_TARGET_ARCH_CR16)$(ADK_TARGET_ARCH_EPIPHANY)$(ADK_TARGET_ARCH_METAG)$(ADK_TARGET_ARCH_NDS32)$(ADK_TARGET_ARCH_OR1K),)
TARGETS+=gdb
GDB:=gdb-install
endif