Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-sdk-tools by
Revision 2:07730b0f452c, committed 2016-05-20
- Comitter:
- screamer
- Date:
- Fri May 20 22:27:03 2016 +0100
- Parent:
- 1:a99c8e460c5c
- Child:
- 3:02a8b145dcb7
- Commit message:
- Add profiling support for armcc, gcc and iar
Changed in this revision
--- a/build_api.py Fri May 20 20:16:44 2016 +0100
+++ b/build_api.py Fri May 20 22:27:03 2016 +0100
@@ -89,9 +89,12 @@
src_paths = [src_paths[0]] + list(set(src_paths[1:]))
project_name = basename(abspath(src_paths[0] if src_paths[0] != "." and src_paths[0] != "./" else getcwd()))
+ for path in src_paths:
+ profile = get_build_profile(path)
+
# Toolchain instance
try:
- toolchain = TOOLCHAIN_CLASSES[toolchain_name](target, options, notify, macros, silent, extra_verbose=extra_verbose)
+ toolchain = TOOLCHAIN_CLASSES[toolchain_name](target, options, notify, macros, silent, extra_verbose=extra_verbose, profile=profile)
except KeyError as e:
raise KeyError("Toolchain %s not supported" % toolchain_name)
@@ -99,9 +102,6 @@
toolchain.jobs = jobs
toolchain.build_all = clean
- for path in src_paths:
- toolchain.PROFILE = get_build_profile(path, toolchain_name)
-
if name is None:
# We will use default project name based on project folder name
name = project_name
@@ -754,7 +754,7 @@
with open(filename, 'w+') as f:
f.write(template.render(failing_builds=build_report_failing, passing_builds=build_report_passing))
-def get_build_profile(path, toolchain_name):
+def get_build_profile(path):
profile = None
builds = get_build_ids(path)
for build in builds:
@@ -766,7 +766,7 @@
elif idx <= 43:
profile = 'v1'
elif idx <= 68:
- profile = 'v2'
+ profile = 'v2'
elif idx <= 76:
profile = 'v3'
elif idx <= 105:
--- a/toolchains/__init__.py Fri May 20 20:16:44 2016 +0100
+++ b/toolchains/__init__.py Fri May 20 22:27:03 2016 +0100
@@ -183,7 +183,7 @@
GOANNA_FORMAT = "[Goanna] warning [%FILENAME%:%LINENO%] - [%CHECKNAME%(%SEVERITY%)] %MESSAGE%"
GOANNA_DIAGNOSTIC_PATTERN = re.compile(r'"\[Goanna\] (?P<severity>warning) \[(?P<file>[^:]+):(?P<line>\d+)\] \- (?P<message>.*)"')
- def __init__(self, target, options=None, notify=None, macros=None, silent=False, extra_verbose=False):
+ def __init__(self, target, options=None, notify=None, macros=None, silent=False, extra_verbose=False, profile=None):
self.target = target
self.name = self.__class__.__name__
self.hook = hooks.Hook(target, self)
@@ -218,9 +218,13 @@
self.jobs = 1
self.CHROOT = None
+ self.mp_pool = None
- self.mp_pool = None
-
+ if profile and (TOOLCHAIN_PROFILES.get(self.name, None) and
+ TOOLCHAIN_PROFILES[self.name].get(profile)):
+ self.PROFILE = TOOLCHAIN_PROFILES[self.name].get(profile)
+ self.info("Using toolchain %s profile %s" % (self.name, profile))
+
if 'UVISOR_PRESENT=1' in self.macros:
self.target.core = re.sub(r"F$", '', self.target.core)
@@ -789,97 +793,71 @@
TOOLCHAIN_PROFILES = {
'uARM' : {
'v5': {
- 'ARMCC_VERSION': '5.06',
- 'COMMON_FLAGS':['-c', '--gnu', '-O3', '-Otime', '--split_sections', '--apcs=interwork'],
- 'COMMON_C_FLAGS':['--no_depend_system_headers'],
- 'COMMON_CC_FLAGS':['--c99'],
- 'COMMON_CPP_FLAGS':['--cpp', '--no_rtti'],
- 'COMPILE_C_AS_CPP': False,
- 'PATCHED_LIBRARY' : False,
+ 'ARMCC_VERSION': '5.06',
+ 'COMMON_FLAGS': ['-c', '--gnu', '-O3', '-Otime', '--split_sections', '--apcs=interwork'],
+ 'COMMON_CPP_FLAGS': ['--cpp', '--no_rtti'],
},
'v4': {
- 'ARMCC_VERSION': '5.03',
- 'COMMON_FLAGS':['-c', '--gnu', '-O3', '-Otime', '--split_sections', '--apcs=interwork'],
- 'COMMON_C_FLAGS':['--no_depend_system_headers'],
- 'COMMON_CC_FLAGS':['--c99'],
- 'COMMON_CPP_FLAGS':['--cpp', '--no_rtti'],
- 'COMPILE_C_AS_CPP': False,
- 'PATCHED_LIBRARY' : False,
+ 'ARMCC_VERSION': '5.03',
+ 'COMMON_FLAGS': ['-c', '--gnu', '-O3', '-Otime', '--split_sections', '--apcs=interwork'],
+ 'COMMON_CPP_FLAGS': ['--cpp', '--no_rtti'],
},
-
'v3': {
- 'ARMCC_VERSION': '5.01',
- 'COMMON_FLAGS':['-c', '--gnu', '-Ospace', '--split_sections', '--apcs=interwork'],
- 'COMMON_C_FLAGS':['--no_depend_system_headers'],
- 'COMMON_CC_FLAGS':['--c99'],
- 'COMMON_CPP_FLAGS':['--cpp', '--no_rtti'],
- 'COMPILE_C_AS_CPP': False,
- 'PATCHED_LIBRARY' : False,
+ 'ARMCC_VERSION': '5.01',
+ 'COMMON_FLAGS': ['-c', '--gnu', '-Ospace', '--split_sections', '--apcs=interwork'],
+ 'COMMON_CPP_FLAGS': ['--cpp', '--no_rtti'],
},
-
'v2': {
- 'ARMCC_VERSION': '4',
- 'COMMON_FLAGS':['-c', '--gnu', '-Ospace', '--split_sections', '--apcs=interwork'],
- 'COMMON_C_FLAGS':['--no_depend_system_headers'],
- 'COMMON_CC_FLAGS':['--c99'],
- 'COMMON_CPP_FLAGS':['--cpp', '--no_rtti'],
- 'COMPILE_C_AS_CPP': False,
+ 'ARMCC_VERSION': '4',
+ 'COMMON_FLAGS': ['-c', '--gnu', '-Ospace', '--split_sections', '--apcs=interwork'],
+ 'COMMON_CPP_FLAGS': ['--cpp', '--no_rtti'],
'PATCHED_LIBRARY' : True,
},
-
'v1': {
- 'ARMCC_VERSION': '4',
- 'COMMON_FLAGS':['-c', '--gnu', '-Otime', '--split_sections', '--apcs=interwork'],
- 'COMMON_C_FLAGS':['--no_depend_system_headers'],
- 'COMMON_CC_FLAGS':['--c99'],
- 'COMMON_CPP_FLAGS':['--cpp'],
+ 'ARMCC_VERSION': '4',
+ 'COMMON_FLAGS': ['-c', '--gnu', '-Otime', '--split_sections', '--apcs=interwork'],
+ 'COMMON_CPP_FLAGS': ['--cpp'],
'COMPILE_C_AS_CPP': True,
'PATCHED_LIBRARY' : True,
}
},
'ARM' : {
'v5': {
- 'ARMCC_VERSION': '5.06',
- 'COMMON_FLAGS':['-c', '--gnu', '-O3', '-Otime', '--split_sections', '--apcs=interwork'],
- 'COMMON_C_FLAGS':['--no_depend_system_headers'],
- 'COMMON_CC_FLAGS':['--c99'],
- 'COMMON_CPP_FLAGS':['--cpp', '--no_rtti'],
+ 'ARMCC_VERSION': '5.06',
+ 'COMMON_FLAGS': ['-c', '--gnu', '-O3', '-Otime', '--split_sections', '--apcs=interwork'],
+ 'COMMON_CPP_FLAGS': ['--cpp', '--no_rtti'],
'COMPILE_C_AS_CPP': False,
},
-
'v4': {
- 'ARMCC_VERSION': '5.03',
- 'COMMON_FLAGS':['-c', '--gnu', '-O3', '-Otime', '--split_sections', '--apcs=interwork'],
- 'COMMON_C_FLAGS':['--no_depend_system_headers'],
- 'COMMON_CC_FLAGS':['--c99'],
- 'COMMON_CPP_FLAGS':['--cpp', '--no_rtti'],
+ 'ARMCC_VERSION': '5.03',
+ 'COMMON_FLAGS': ['-c', '--gnu', '-O3', '-Otime', '--split_sections', '--apcs=interwork'],
+ 'COMMON_CPP_FLAGS': ['--cpp', '--no_rtti'],
+ 'COMPILE_C_AS_CPP': False,
+ },
+ 'v3': {
+ 'ARMCC_VERSION': '5.01',
+ 'COMMON_FLAGS': ['-c', '--gnu', '-Ospace', '--split_sections', '--apcs=interwork'],
+ 'COMMON_CPP_FLAGS': ['--cpp', '--no_rtti'],
'COMPILE_C_AS_CPP': False,
},
-
- 'v3': {
- 'ARMCC_VERSION': '5.01',
- 'COMMON_FLAGS':['-c', '--gnu', '-Ospace', '--split_sections', '--apcs=interwork'],
- 'COMMON_C_FLAGS':['--no_depend_system_headers'],
- 'COMMON_CC_FLAGS':['--c99'],
- 'COMMON_CPP_FLAGS':['--cpp', '--no_rtti'],
+ 'v2': {
+ 'ARMCC_VERSION': '5.01',
+ 'COMMON_FLAGS': ['-c', '--gnu', '-Ospace', '--split_sections', '--apcs=interwork'],
+ 'COMMON_CPP_FLAGS': ['--cpp', '--no_rtti'],
'COMPILE_C_AS_CPP': False,
},
-
- 'v2': {
- 'COMMON_FLAGS':['-c', '--gnu', '-Ospace', '--split_sections', '--apcs=interwork'],
- 'COMMON_C_FLAGS':['--no_depend_system_headers'],
- 'COMMON_CC_FLAGS':['--c99'],
- 'COMMON_CPP_FLAGS':['--cpp', '--no_rtti'],
- 'COMPILE_C_AS_CPP': False,
- },
-
'v1': {
- 'ARMCC_VERSION': '4',
- 'COMMON_FLAGS':['-c', '--gnu', '-Otime', '--split_sections', '--apcs=interwork'],
- 'COMMON_C_FLAGS':['--no_depend_system_headers'],
- 'COMMON_CC_FLAGS':['--c99'],
- 'COMMON_CPP_FLAGS':['--cpp'],
+ 'ARMCC_VERSION': '4',
+ 'COMMON_FLAGS': ['-c', '--gnu', '-Otime', '--split_sections', '--apcs=interwork'],
+ 'COMMON_CPP_FLAGS': ['--cpp'],
'COMPILE_C_AS_CPP': True,
}
- } # end ARM
+ },
+ 'GCC_ARM' : {
+ 'v2': {
+ 'COMMON_FLAGS': ["-c", "-O2", "-Wall", "-fmessage-length=0", "-fno-exceptions", "-fno-builtin", "-ffunction-sections", "-fdata-sections"],
+ 'COMMON_CPP_FLAGS': ['-std=gnu++98'],
+ 'COMMON_LD_FLAGS': ['-Wl,--gc-sections'],
+ }
+ }
}
--- a/toolchains/arm.py Fri May 20 20:16:44 2016 +0100
+++ b/toolchains/arm.py Fri May 20 22:27:03 2016 +0100
@@ -23,6 +23,7 @@
from tools.utils import mkdir
class ARM(mbedToolchain):
+ PROFILE = {}
LINKER_EXT = '.sct'
LIBRARY_EXT = '.ar'
@@ -30,8 +31,8 @@
DIAGNOSTIC_PATTERN = re.compile('"(?P<file>[^"]+)", line (?P<line>\d+)( \(column (?P<column>\d+)\)|): (?P<severity>Warning|Error): (?P<message>.+)')
DEP_PATTERN = re.compile('\S+:\s(?P<file>.+)\n')
- def __init__(self, target, options=None, notify=None, macros=None, silent=False, extra_verbose=False):
- mbedToolchain.__init__(self, target, options, notify, macros, silent, extra_verbose=extra_verbose)
+ def __init__(self, target, options=None, notify=None, macros=None, silent=False, extra_verbose=False, profile=None):
+ mbedToolchain.__init__(self, target, options, notify, macros, silent, extra_verbose=extra_verbose, profile=profile)
if target.core == "Cortex-M0+":
cpu = "Cortex-M0"
@@ -43,11 +44,11 @@
cpu = target.core
main_cc = join(ARM_BIN, "armcc")
- common = ["-c",
- "--cpu=%s" % cpu, "--gnu",
+ common = self.PROFILE.get('COMMON_FLAGS', ["-c", "--gnu", "-O3",
"-Otime", "--split_sections", "--apcs=interwork",
- "--brief_diagnostics", "--restrict", "--multibyte_chars"
- ]
+ ])
+ common.extend(["--cpu=%s" % cpu, "--brief_diagnostics", "--restrict", "--multibyte_chars"])
+ common.extend(['-I%s' % ARM_INC])
if "save-asm" in self.options:
common.extend(["--asm", "--interleave"])
@@ -56,23 +57,16 @@
common.append("-O0")
else:
common.append("-O3")
+
# add debug symbols for all builds
common.append("-g")
- common_c = [
- "--md", "--no_depend_system_headers",
- '-I%s' % ARM_INC
- ]
+ common_c = self.PROFILE.get('COMMON_C_FLAGS', ["--no_depend_system_headers"]) + ['--md']
- self.asm = [main_cc] + common + ['-I%s' % ARM_INC]
- if not "analyze" in self.options:
- self.cc = [main_cc] + common + common_c + ["--c99"]
- self.cppc = [main_cc] + common + common_c + ["--cpp", "--no_rtti"]
- else:
- self.cc = [join(GOANNA_PATH, "goannacc"), "--with-cc=" + main_cc.replace('\\', '/'), "--dialect=armcc", '--output-format="%s"' % self.GOANNA_FORMAT] + common + common_c + ["--c99"]
- self.cppc= [join(GOANNA_PATH, "goannac++"), "--with-cxx=" + main_cc.replace('\\', '/'), "--dialect=armcc", '--output-format="%s"' % self.GOANNA_FORMAT] + common + common_c + ["--cpp", "--no_rtti"]
-
- self.ld = [join(ARM_BIN, "armlink")]
+ self.asm = [main_cc] + common
+ self.cc = [main_cc] + common + common_c + self.PROFILE.get('COMMON_CC_FLAGS', ["--c99"])
+ self.cppc = [main_cc] + common + common_c + self.PROFILE.get('COMMON_CPP_FLAGS', ["--cpp", "--no_rtti"])
+ self.ld = [join(ARM_BIN, "armlink")] + rofile.get('COMMON_LD_FLAGS', [])
self.sys_libs = []
self.ar = join(ARM_BIN, "armar")
@@ -211,8 +205,8 @@
class ARM_STD(ARM):
- def __init__(self, target, options=None, notify=None, macros=None, silent=False, extra_verbose=False):
- ARM.__init__(self, target, options, notify, macros, silent, extra_verbose=extra_verbose)
+ def __init__(self, target, options=None, notify=None, macros=None, silent=False, extra_verbose=False, profile=None):
+ ARM.__init__(self, target, options, notify, macros, silent, extra_verbose=extra_verbose, profile=profile)
self.cc += ["-D__ASSERT_MSG"]
self.cppc += ["-D__ASSERT_MSG"]
self.ld.extend(["--libpath", ARM_LIB])
@@ -221,8 +215,8 @@
class ARM_MICRO(ARM):
PATCHED_LIBRARY = False
- def __init__(self, target, options=None, notify=None, macros=None, silent=False, extra_verbose=False):
- ARM.__init__(self, target, options, notify, macros, silent, extra_verbose=extra_verbose)
+ def __init__(self, target, options=None, notify=None, macros=None, silent=False, extra_verbose=False, profile=None):
+ ARM.__init__(self, target, options, notify, macros, silent, extra_verbose=extra_verbose, profile=profile)
# Compiler
self.asm += ["-D__MICROLIB"]
--- a/toolchains/gcc.py Fri May 20 20:16:44 2016 +0100
+++ b/toolchains/gcc.py Fri May 20 22:27:03 2016 +0100
@@ -23,6 +23,7 @@
from tools.hooks import hook_tool
class GCC(mbedToolchain):
+ PROFILE = {}
LINKER_EXT = '.ld'
LIBRARY_EXT = '.a'
@@ -30,8 +31,8 @@
CIRCULAR_DEPENDENCIES = True
DIAGNOSTIC_PATTERN = re.compile('((?P<line>\d+):)(\d+:)? (?P<severity>warning|error): (?P<message>.+)')
- def __init__(self, target, options=None, notify=None, macros=None, silent=False, tool_path="", extra_verbose=False):
- mbedToolchain.__init__(self, target, options, notify, macros, silent, extra_verbose=extra_verbose)
+ def __init__(self, target, options=None, notify=None, macros=None, silent=False, tool_path="", extra_verbose=False, profile=None):
+ mbedToolchain.__init__(self, target, options, notify, macros, silent, extra_verbose=extra_verbose, profile=profile)
if target.core == "Cortex-M0+":
cpu = "cortex-m0plus"
@@ -61,37 +62,31 @@
self.cpu.append("-mfloat-abi=hard")
self.cpu.append("-mno-unaligned-access")
-
# Note: We are using "-O2" instead of "-Os" to avoid this known GCC bug:
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46762
- common_flags = ["-c", "-Wall", "-Wextra",
- "-Wno-unused-parameter", "-Wno-missing-field-initializers",
+ common_flags = self.PROFILE.get('COMMON_FLAGS', ["-c", "-O2",
+ "-Wall", "-Wextra", "-Wno-unused-parameter", "-Wno-missing-field-initializers",
"-fmessage-length=0", "-fno-exceptions", "-fno-builtin",
"-ffunction-sections", "-fdata-sections",
"-fno-delete-null-pointer-checks", "-fomit-frame-pointer"
- ] + self.cpu
+ ]) + self.cpu
if "save-asm" in self.options:
common_flags.append("-save-temps")
-
if "debug-info" in self.options:
+ common_flags.remove("-O3")
+ common_flags.remove("-O2")
+ common_flags.remove("-O1")
common_flags.append("-O0")
- else:
- common_flags.append("-O2")
+
# add debug symbols for all builds
common_flags.append("-g")
- main_cc = join(tool_path, "arm-none-eabi-gcc")
- main_cppc = join(tool_path, "arm-none-eabi-g++")
- self.asm = [main_cc, "-x", "assembler-with-cpp"] + common_flags
- if not "analyze" in self.options:
- self.cc = [main_cc, "-std=gnu99"] + common_flags
- self.cppc =[main_cppc, "-std=gnu++98", "-fno-rtti"] + common_flags
- else:
- self.cc = [join(GOANNA_PATH, "goannacc"), "--with-cc=" + main_cc.replace('\\', '/'), "-std=gnu99", "--dialect=gnu", '--output-format="%s"' % self.GOANNA_FORMAT] + common_flags
- self.cppc= [join(GOANNA_PATH, "goannac++"), "--with-cxx=" + main_cppc.replace('\\', '/'), "-std=gnu++98", "-fno-rtti", "--dialect=gnu", '--output-format="%s"' % self.GOANNA_FORMAT] + common_flags
+ self.asm = [join(tool_path, "arm-none-eabi-gcc")] + self.PROFILE.get('COMMON_ASM_FLAGS', ["-x", "assembler-with-cpp"]) + common_flags
+ self.cc = [join(tool_path, "arm-none-eabi-gcc")] + self.PROFILE.get('COMMON_CC_FLAGS', ["-std=gnu99"]) + common_flags
+ self.cppc =[join(tool_path, "arm-none-eabi-g++")] + self.PROFILE.get('COMMON_CPP_FLAGS', ["-std=gnu++98", "-fno-rtti"]) + common_flags
+ self.ld = [join(tool_path, "arm-none-eabi-gcc")] + self.PROFILE.get('COMMON_LD_FLAGS', ["-Wl,--gc-sections", "-Wl,--wrap,main"]) + self.cpu
- self.ld = [join(tool_path, "arm-none-eabi-gcc"), "-Wl,--gc-sections", "-Wl,--wrap,main"] + self.cpu
self.sys_libs = ["stdc++", "supc++", "m", "c", "gcc"]
self.ar = join(tool_path, "arm-none-eabi-ar")
@@ -268,8 +263,8 @@
class GCC_ARM(GCC):
- def __init__(self, target, options=None, notify=None, macros=None, silent=False, extra_verbose=False):
- GCC.__init__(self, target, options, notify, macros, silent, GCC_ARM_PATH, extra_verbose=extra_verbose)
+ def __init__(self, target, options=None, notify=None, macros=None, silent=False, extra_verbose=False, profile=None):
+ GCC.__init__(self, target, options, notify, macros, silent, GCC_ARM_PATH, extra_verbose=extra_verbose, profile=profile)
# Use latest gcc nanolib
self.ld.append("--specs=nano.specs")
@@ -282,8 +277,8 @@
class GCC_CR(GCC):
- def __init__(self, target, options=None, notify=None, macros=None, silent=False, extra_verbose=False):
- GCC.__init__(self, target, options, notify, macros, silent, GCC_CR_PATH, extra_verbose=extra_verbose)
+ def __init__(self, target, options=None, notify=None, macros=None, silent=False, extra_verbose=False, profile=None):
+ GCC.__init__(self, target, options, notify, macros, silent, GCC_CR_PATH, extra_verbose=extra_verbose, profile=profile)
additional_compiler_flags = [
"-D__NEWLIB__", "-D__CODE_RED", "-D__USE_CMSIS", "-DCPP_USE_HEAP",
--- a/toolchains/iar.py Fri May 20 20:16:44 2016 +0100
+++ b/toolchains/iar.py Fri May 20 22:27:03 2016 +0100
@@ -30,14 +30,15 @@
DIAGNOSTIC_PATTERN = re.compile('"(?P<file>[^"]+)",(?P<line>[\d]+)\s+(?P<severity>Warning|Error)(?P<message>.+)')
- def __init__(self, target, options=None, notify=None, macros=None, silent=False, extra_verbose=False):
- mbedToolchain.__init__(self, target, options, notify, macros, silent, extra_verbose=extra_verbose)
+ def __init__(self, target, options=None, notify=None, macros=None, silent=False, extra_verbose=False, profile=None):
+ mbedToolchain.__init__(self, target, options, notify, macros, silent, extra_verbose=extra_verbose, profile=profile)
if target.core == "Cortex-M7F":
- cpuchoice = "Cortex-M7"
+ cpu = "Cortex-M7"
else:
- cpuchoice = target.core
+ cpu = target.core
+
c_flags = [
- "--cpu=%s" % cpuchoice, "--thumb",
+ "--cpu=%s" % cpu, "--thumb",
"--dlib_config", join(IAR_PATH, "inc", "c", "DLib_Config_Full.h"),
"-e", # Enable IAR language extension
"--no_wrap_diagnostics",
@@ -50,24 +51,20 @@
if target.core == "Cortex-M7F":
c_flags.append("--fpu=VFPv5_sp")
-
if "debug-info" in self.options:
c_flags.append("-On")
else:
c_flags.append("-Oh")
+
# add debug symbols for all builds
c_flags.append("-r")
IAR_BIN = join(IAR_PATH, "bin")
main_cc = join(IAR_BIN, "iccarm")
- self.asm = [join(IAR_BIN, "iasmarm")] + ["--cpu", cpuchoice]
- if not "analyze" in self.options:
- self.cc = [main_cc] + c_flags
- self.cppc = [main_cc, "--c++", "--no_rtti", "--no_exceptions"] + c_flags
- else:
- self.cc = [join(GOANNA_PATH, "goannacc"), '--with-cc="%s"' % main_cc.replace('\\', '/'), "--dialect=iar-arm", '--output-format="%s"' % self.GOANNA_FORMAT] + c_flags
- self.cppc = [join(GOANNA_PATH, "goannac++"), '--with-cxx="%s"' % main_cc.replace('\\', '/'), "--dialect=iar-arm", '--output-format="%s"' % self.GOANNA_FORMAT] + ["--c++", "--no_rtti", "--no_exceptions"] + c_flags
+ self.asm = [join(IAR_BIN, "iasmarm")] + ["--cpu", cpu]
+ self.cc = [main_cc] + c_flags
+ self.cppc = [main_cc, "--c++", "--no_rtti", "--no_exceptions"] + c_flags
self.ld = join(IAR_BIN, "ilinkarm")
self.ar = join(IAR_BIN, "iarchive")
self.elf2bin = join(IAR_BIN, "ielftool")
