@@ -48,7 +48,7 @@ def __init__(self, config: dict, configuration: Dict = None):
4848 # 验证路径
4949 logger .info (f"IAR可执行文件: { self .iar_exe_path } " )
5050 logger .info (f"IAR工作区文件: { self .workspace_path } " )
51- logger .info (f"IAR项目文件: { self .project_path } " )
51+ logger .info (f"IAR项目文件: { self .iar_project_path } " )
5252 logger .info (f"输出bin文件: { self .output_bin_path } " )
5353 self ._validate_paths ()
5454 self ._check_permissions ()
@@ -105,8 +105,8 @@ def _validate_paths(self):
105105 logger .warning (f"IAR工作区文件不存在: { self .workspace_path } " )
106106
107107 # 检查项目文件
108- if self .project_path and not os .path .exists (self .project_path ):
109- logger .warning (f"IAR项目文件不存在: { self .project_path } " )
108+ if self .iar_project_path and not os .path .exists (self .iar_project_path ):
109+ logger .warning (f"IAR项目文件不存在: { self .iar_project_path } " )
110110
111111 def _check_permissions (self ):
112112 """检查权限"""
@@ -117,8 +117,8 @@ def _check_permissions(self):
117117 logger .warning (f"IAR可执行文件没有执行权限: { self .iar_exe_path } " )
118118
119119 # 检查项目目录权限
120- if self .project_path and os .path .exists (self .project_path ):
121- project_dir = os .path .dirname (self .project_path )
120+ if self .iar_project_path and os .path .exists (self .iar_project_path ):
121+ project_dir = os .path .dirname (self .iar_project_path )
122122 if not os .access (project_dir , os .W_OK ):
123123 logger .warning (f"项目目录没有写权限: { project_dir } " )
124124
@@ -159,12 +159,12 @@ def diagnose_environment(self):
159159 logger .info (f"IAR可执行文件大小: { stat .st_size } 字节" )
160160 logger .info (f"IAR可执行文件权限: { oct (stat .st_mode )} " )
161161
162- logger .info (f"项目文件路径: { self .project_path } " )
163- logger .info (f"项目文件存在: { os .path .exists (self .project_path )} " )
162+ logger .info (f"项目文件路径: { self .iar_project_path } " )
163+ logger .info (f"项目文件存在: { os .path .exists (self .iar_project_path )} " )
164164
165165 # 检查项目目录权限
166- if self .project_path and os .path .exists (self .project_path ):
167- project_dir = os .path .dirname (self .project_path )
166+ if self .iar_project_path and os .path .exists (self .iar_project_path ):
167+ project_dir = os .path .dirname (self .iar_project_path )
168168 logger .info (f"项目目录: { project_dir } " )
169169 logger .info (f"项目目录存在: { os .path .exists (project_dir )} " )
170170 logger .info (f"项目目录可写: { os .access (project_dir , os .W_OK )} " )
@@ -249,7 +249,7 @@ def clean_project(self) -> bool:
249249 timeout = self .timeout_seconds ,
250250 creationflags = subprocess .CREATE_NO_WINDOW if hasattr (subprocess , 'CREATE_NO_WINDOW' ) else 0 ,
251251 shell = False , # 明确设置为False,避免shell权限问题
252- cwd = os .path .dirname (self .project_path ) if self .project_path else None # 设置工作目录
252+ cwd = os .path .dirname (self .iar_project_path ) if self .iar_project_path else None # 设置工作目录
253253 )
254254
255255 if result .returncode == 0 :
@@ -299,7 +299,8 @@ def build_project(self, force_rebuild: bool = False) -> Tuple[bool, str]:
299299 cmd = [
300300 self .iar_exe_path ,
301301 self .iar_project_path ,
302- self .build_config # 不指定-build参数,默认为make操作
302+ '-make' ,
303+ self .build_config
303304 ]
304305
305306 logger .info (f"执行命令: { ' ' .join (cmd )} " )
@@ -338,7 +339,7 @@ def build_project(self, force_rebuild: bool = False) -> Tuple[bool, str]:
338339 text = True ,
339340 timeout = self .timeout_seconds ,
340341 shell = True ,
341- cwd = os .path .dirname (self .project_path ) if self .project_path else None
342+ cwd = os .path .dirname (self .iar_project_path ) if self .iar_project_path else None
342343 )
343344 else :
344345 logger .info (f"执行命令: { ' ' .join (cmd )} " )
@@ -349,7 +350,7 @@ def build_project(self, force_rebuild: bool = False) -> Tuple[bool, str]:
349350 timeout = self .timeout_seconds ,
350351 creationflags = use_creationflags ,
351352 shell = False ,
352- cwd = os .path .dirname (self .project_path ) if self .project_path else None
353+ cwd = os .path .dirname (self .iar_project_path ) if self .iar_project_path else None
353354 )
354355
355356 # 如果成功执行,跳出循环
@@ -520,7 +521,8 @@ def test_iar_builder():
520521
521522 logger .info ("IAR编译器测试" )
522523 logger .info (f"IAR可执行文件: { builder .iar_exe_path } " )
523- logger .info (f"项目文件: { builder .project_path } " )
524+ logger .info (f"IAR项目文件: { builder .iar_project_path } " )
525+ logger .info (f"项目根目录: { builder .project_path } " )
524526 logger .info (f"输出bin文件: { builder .output_bin_path } " )
525527
526528 # 检查bin文件
0 commit comments