[Tools] add IAR get version support
@@ -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
