mbed-os for GR-LYCHEE

Dependents:   mbed-os-example-blinky-gr-lychee GR-Boads_Camera_sample GR-Boards_Audio_Recoder GR-Boads_Camera_DisplayApp ... more

Revision:
0:f782d9c66c49
diff -r 000000000000 -r f782d9c66c49 tools/export/cdt/__init__.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/export/cdt/__init__.py	Fri Feb 02 05:42:23 2018 +0000
@@ -0,0 +1,53 @@
+import re
+
+from os.path import join, exists, realpath, relpath, basename
+from os import makedirs
+
+from tools.export.makefile import Makefile, GccArm, Armc5, IAR
+
+class Eclipse(Makefile):
+    """Generic Eclipse project. Intended to be subclassed by classes that
+    specify a type of Makefile.
+    """
+    def generate(self):
+        """Generate Makefile, .cproject & .project Eclipse project file,
+        py_ocd_settings launch file, and software link .p2f file
+        """
+        super(Eclipse, self).generate()
+        starting_dot = re.compile(r'(^[.]/|^[.]$)')
+        ctx = {
+            'name': self.project_name,
+            'elf_location': join('BUILD',self.project_name)+'.elf',
+            'c_symbols': self.toolchain.get_symbols(),
+            'asm_symbols': self.toolchain.get_symbols(True),
+            'target': self.target,
+            'include_paths': [starting_dot.sub('%s/' % self.project_name, inc) for inc in self.resources.inc_dirs],
+            'load_exe': str(self.LOAD_EXE).lower()
+        }
+
+        if not exists(join(self.export_dir,'eclipse-extras')):
+            makedirs(join(self.export_dir,'eclipse-extras'))
+
+
+        self.gen_file('cdt/pyocd_settings.tmpl', ctx,
+                      join('eclipse-extras',self.target+'_pyocd_settings.launch'))
+        self.gen_file('cdt/necessary_software.tmpl', ctx,
+                      join('eclipse-extras','necessary_software.p2f'))
+
+        self.gen_file('cdt/.cproject.tmpl', ctx, '.cproject')
+        self.gen_file('cdt/.project.tmpl', ctx, '.project')
+
+
+class EclipseGcc(Eclipse, GccArm):
+    LOAD_EXE = True
+    NAME = "Eclipse-GCC-ARM"
+
+class EclipseArmc5(Eclipse, Armc5):
+    LOAD_EXE = False
+    NAME = "Eclipse-Armc5"
+
+class EclipseIAR(Eclipse, IAR):
+    LOAD_EXE = True
+    NAME = "Eclipse-IAR"
+
+