summaryrefslogtreecommitdiff
path: root/tools/iar.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/iar.py')
-rw-r--r--tools/iar.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/tools/iar.py b/tools/iar.py
index b5a012e4c5..09271ba4eb 100644
--- a/tools/iar.py
+++ b/tools/iar.py
@@ -156,3 +156,38 @@ def IARProject(target, script):
out.close()
IARWorkspace(target)
+
+def IARVersion():
+ import subprocess
+ import re
+
+ def IARPath():
+ import rtconfig
+
+ # set environ
+ old_environ = os.environ
+ os.environ['RTT_CC'] = 'iar'
+ reload(rtconfig)
+
+ # get iar path
+ path = rtconfig.EXEC_PATH
+
+ # restore environ
+ os.environ = old_environ
+ reload(rtconfig)
+
+ return path
+
+ path = IARPath();
+
+ if os.path.exists(path):
+ cmd = os.path.join(path, 'iccarm.exe')
+ else:
+ print('Get IAR version error. Please update IAR installation path in rtconfig.h!')
+ return "0.0"
+
+ child = subprocess.Popen([cmd, '--version'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
+ stdout, stderr = child.communicate()
+
+ # example stdout: IAR ANSI C/C++ Compiler V8.20.1.14183/W32 for ARM
+ return re.search('[\d\.]+', stdout).group(0) \ No newline at end of file