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.
Diff: export/iar/__init__.py
- Revision:
- 38:399953da035d
- Parent:
- 36:96847d42f010
- Child:
- 40:7d3fa6b99b2b
--- a/export/iar/__init__.py Fri Jul 07 16:20:25 2017 -0500
+++ b/export/iar/__init__.py Thu Jul 13 15:26:26 2017 -0500
@@ -13,31 +13,33 @@
from tools.utils import NotSupportedException
from multiprocessing import cpu_count
+
+def _supported(mcu, iar_targets):
+ if "IAR" not in mcu.supported_toolchains:
+ return False
+ if hasattr(mcu, 'device_name') and mcu.device_name in iar_targets:
+ return True
+ if mcu.name in iar_targets:
+ return True
+ return False
+
+
+_iar_defs = os.path.join(
+ os.path.dirname(os.path.abspath(__file__)), 'iar_definitions.json')
+
+with open(_iar_defs, 'r') as f:
+ _GUI_OPTIONS = json.load(f)
+
+_IAR_TARGETS = [target for target, obj in TARGET_MAP.iteritems() if
+ _supported(obj, _GUI_OPTIONS.keys())]
+
+
class IAR(Exporter):
NAME = 'iar'
TOOLCHAIN = 'IAR'
- #iar_definitions.json location
- def_loc = os.path.join(
- os.path.dirname(os.path.abspath(__file__)), 'iar_definitions.json')
-
- #create a dictionary of the definitions
- with open(def_loc, 'r') as f:
- IAR_DEFS = json.load(f)
+ TARGETS = _IAR_TARGETS
- def _iar_support(tgt, iar_targets):
- if "IAR" not in tgt.supported_toolchains:
- return False
- if hasattr(tgt, 'device_name') and tgt.device_name in iar_targets:
- return True
- if tgt.name in iar_targets:
- return True
- return False
-
- #supported targets have a name or device_name which maps to a definition
- #in iar_definitions.json
- TARGETS = [target for target, obj in TARGET_MAP.iteritems() if
- _iar_support(obj, IAR_DEFS.keys())]
def iar_groups(self, grouped_src):
"""Return a namedtuple of group info
@@ -67,7 +69,7 @@
tgt = TARGET_MAP[self.target]
device_name = (tgt.device_name if hasattr(tgt, "device_name") else
tgt.name)
- device_info = self.IAR_DEFS[device_name]
+ device_info = _GUI_OPTIONS[device_name]
iar_defaults ={
"OGChipSelectEditMenu": "",
"CoreVariant": '',
@@ -191,3 +193,5 @@
return -1
else:
return 0
+
+
