[Tools] add IAR get version support
This commit is contained in:
parent
1d878887c0
commit
2545c3854e
35
tools/iar.py
35
tools/iar.py
|
@ -156,3 +156,38 @@ def IARProject(target, script):
|
||||||
out.close()
|
out.close()
|
||||||
|
|
||||||
IARWorkspace(target)
|
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)
|
Loading…
Reference in New Issue