From a2fc346c0b34e7f10c4ca5819e01cb864e4ff852 Mon Sep 17 00:00:00 2001 From: Meco Man <920369182@qq.com> Date: Sat, 17 Sep 2022 17:25:10 -0400 Subject: [PATCH] =?UTF-8?q?IAR=E3=80=81Keil=E5=B7=A5=E7=A8=8B=E5=9C=A8?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=9B=B4=E6=96=B0=E6=97=B6=E4=BD=BF=E7=94=A8?= =?UTF-8?q?scons=20--exec-path=E5=91=BD=E4=BB=A4=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E9=93=BE=E5=AE=89=E8=A3=85=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmds/cmd_menuconfig.py | 26 +++++++++++++++++++------- cmds/cmd_package/__init__.py | 10 ---------- cmds/cmd_package/cmd_package_utils.py | 5 +++-- 3 files changed, 22 insertions(+), 19 deletions(-) diff --git a/cmds/cmd_menuconfig.py b/cmds/cmd_menuconfig.py index c433464d..a679ffac 100644 --- a/cmds/cmd_menuconfig.py +++ b/cmds/cmd_menuconfig.py @@ -29,7 +29,7 @@ import platform import re from vars import Import -from .cmd_package.cmd_package_utils import find_bool_macro_in_config +from .cmd_package.cmd_package_utils import find_bool_macro_in_config, find_IAR_EXEC_PATH, find_MDK_EXEC_PATH def is_pkg_special_config(config_str): @@ -227,15 +227,27 @@ def cmd(args): print("==============================>The packages have been updated completely.") if find_bool_macro_in_config(fn, 'SYS_CREATE_MDK_IAR_PROJECT'): + mdk_path = find_MDK_EXEC_PATH() + iar_path = find_IAR_EXEC_PATH() + if find_bool_macro_in_config(fn, 'SYS_CREATE_MDK4'): - os.system('scons --target=mdk4 -s') - print("Create mdk4 project done") + if mdk_path: + os.system('scons --target=mdk4 -s --exec-path="' + mdk_path+'"') + else: + os.system('scons --target=mdk4 -s') + print("Create Keil-MDK4 project done") elif find_bool_macro_in_config(fn, 'SYS_CREATE_MDK5'): - os.system('scons --target=mdk5 -s') - print("Create mdk5 project done") + if mdk_path: + os.system('scons --target=mdk5 -s --exec-path="' + mdk_path+'"') + else: + os.system('scons --target=mdk5 -s') + print("Create Keil-MDK5 project done") elif find_bool_macro_in_config(fn, 'SYS_CREATE_IAR'): - os.system('scons --target=iar -s') - print("Create iar project done") + if iar_path: + os.system('scons --target=iar -s --exec-path="' + iar_path+'"') + else: + os.system('scons --target=iar -s') + print("Create IAR project done") def add_parser(sub): diff --git a/cmds/cmd_package/__init__.py b/cmds/cmd_package/__init__.py index 22bb2a17..78d005aa 100644 --- a/cmds/cmd_package/__init__.py +++ b/cmds/cmd_package/__init__.py @@ -26,21 +26,11 @@ # 2020-04-08 SummerGift Optimize program structure # -import os from .cmd_package_printenv import package_print_env, package_print_help from .cmd_package_list import list_packages from .cmd_package_wizard import package_wizard from .cmd_package_update import package_update from .cmd_package_upgrade import package_upgrade, package_upgrade_modules -from .cmd_package_utils import find_IAR_EXEC_PATH, find_MDK_EXEC_PATH - -iar_exec_path = find_IAR_EXEC_PATH() -if iar_exec_path: - os.environ['RTT_EXEC_PATH'] = iar_exec_path - -mdk_exec_path = find_MDK_EXEC_PATH() -if mdk_exec_path: - os.environ['RTT_EXEC_PATH'] = mdk_exec_path def run_env_cmd(args): """Run packages command.""" diff --git a/cmds/cmd_package/cmd_package_utils.py b/cmds/cmd_package/cmd_package_utils.py index 71534003..a26e052c 100644 --- a/cmds/cmd_package/cmd_package_utils.py +++ b/cmds/cmd_package/cmd_package_utils.py @@ -32,6 +32,7 @@ import shutil import requests import logging +from vars import Import def execute_command(cmd_string, cwd=None, shell=True): """Execute the system command at the specified address.""" @@ -219,7 +220,7 @@ def find_string_macro_in_config(filename, macro_name): # return IAR execution path string or None for failure def find_IAR_EXEC_PATH(): - env_root = os.getenv("ENV_ROOT") + env_root = Import('env_root') # get the .config file from env env_kconfig_path = os.path.join(env_root, 'tools\scripts\cmds') env_config_file = os.path.join(env_kconfig_path, '.config') @@ -229,7 +230,7 @@ def find_IAR_EXEC_PATH(): # return Keil-MDK execution path string or None for failure def find_MDK_EXEC_PATH(): - env_root = os.getenv("ENV_ROOT") + env_root = Import('env_root') # get the .config file from env env_kconfig_path = os.path.join(env_root, 'tools\scripts\cmds') env_config_file = os.path.join(env_kconfig_path, '.config')