From 4f61cfd7f68ea6c6075293e2d7b2367a1c439975 Mon Sep 17 00:00:00 2001 From: Vincenzo Frascino Date: Wed, 11 May 2016 16:44:31 +0100 Subject: [PATCH] [BEETLE] Add support for GCC ARM exporter This patch adds support for GCC ARM exporter to the Beetle Target. Signed-off-by: Vincenzo Frascino --- tools/export/gcc_arm_arm_beetle_soc.tmpl | 1 + tools/export/gccarm.py | 1 + tools/toolchains/gcc.py | 13 ++++++------- 3 files changed, 8 insertions(+), 7 deletions(-) create mode 100644 tools/export/gcc_arm_arm_beetle_soc.tmpl diff --git a/tools/export/gcc_arm_arm_beetle_soc.tmpl b/tools/export/gcc_arm_arm_beetle_soc.tmpl new file mode 100644 index 0000000000..6e616cc884 --- /dev/null +++ b/tools/export/gcc_arm_arm_beetle_soc.tmpl @@ -0,0 +1 @@ +{% extends "gcc_arm_common.tmpl" %} diff --git a/tools/export/gccarm.py b/tools/export/gccarm.py index 18e67f55ad..4df3fe5502 100644 --- a/tools/export/gccarm.py +++ b/tools/export/gccarm.py @@ -115,6 +115,7 @@ class GccArm(Exporter): 'SAMD21G18A', 'SAML21J18A', 'SAMG55J19', + 'ARM_BEETLE_SOC', ] DOT_IN_RELATIVE_PATH = True diff --git a/tools/toolchains/gcc.py b/tools/toolchains/gcc.py index eeba3d607e..f8e252dc79 100644 --- a/tools/toolchains/gcc.py +++ b/tools/toolchains/gcc.py @@ -175,7 +175,7 @@ class GCC(mbedToolchain): cmd.extend(self.get_dep_option(object)) cmd.extend(["-o", object, source]) - + # Call cmdline hook cmd = self.hook.get_cmdline_compiler(cmd) @@ -194,13 +194,13 @@ class GCC(mbedToolchain): name, _ = splitext(basename(l)) libs.append("-l%s" % name[3:]) libs.extend(["-l%s" % l for l in self.sys_libs]) - + # Build linker command map_file = splitext(output)[0] + ".map" cmd = self.ld + ["-o", output, "-Wl,-Map=%s" % map_file] + objects + ["-Wl,--start-group"] + libs + ["-Wl,--end-group"] if mem_map: cmd.extend(['-T', mem_map]) - + for L in lib_dirs: cmd.extend(['-L', L]) cmd.extend(libs) @@ -215,7 +215,7 @@ class GCC(mbedToolchain): cmd_list = [] for c in cmd[1:]: if c: - cmd_list.append(('"%s"' % c) if not c.startswith('-') else c) + cmd_list.append(('"%s"' % c) if not c.startswith('-') else c) string = " ".join(cmd_list).replace("\\", "/") f.write(string) @@ -228,7 +228,7 @@ class GCC(mbedToolchain): with open(archive_files, "wb") as f: o_list = [] for o in objects: - o_list.append('"%s"' % o) + o_list.append('"%s"' % o) string = " ".join(o_list).replace("\\", "/") f.write(string) @@ -268,7 +268,7 @@ class GCC_ARM(GCC): self.cc += ["-DMBED_RTOS_SINGLE_THREAD"] self.cppc += ["-DMBED_RTOS_SINGLE_THREAD"] - if target.name in ["LPC1768", "LPC4088", "LPC4088_DM", "LPC4330", "UBLOX_C027", "LPC2368"]: + if target.name in ["LPC1768", "LPC4088", "LPC4088_DM", "LPC4330", "UBLOX_C027", "LPC2368", "ARM_BEETLE_SOC"]: self.ld.extend(["-u _printf_float", "-u _scanf_float"]) elif target.name in ["RZ_A1H", "VK_RZ_A1H", "ARCH_MAX", "DISCO_F407VG", "DISCO_F429ZI", "DISCO_F469NI", "NUCLEO_F401RE", "NUCLEO_F410RB", "NUCLEO_F411RE", "NUCLEO_F446RE", "ELMO_F411RE", "MTS_MDOT_F411RE", "MTS_DRAGONFLY_F411RE", "DISCO_F746NG"]: self.ld.extend(["-u_printf_float", "-u_scanf_float"]) @@ -291,4 +291,3 @@ class GCC_CR(GCC): if target.name in ["LPC1768", "LPC4088", "LPC4088_DM", "LPC4330", "UBLOX_C027", "LPC2368"]: self.ld.extend(["-u _printf_float", "-u _scanf_float"]) self.ld += ["-nostdlib"] -