@@ -24,6 +24,9 @@ class IdfApp(App):
2424 flash_args (dict[str, Any]): dict of flasher_args.json
2525 flash_files (list[FlashFile]): list of (offset, file path, encrypted) of files need to be flashed in
2626 flash_settings (dict[str, Any]): dict of flash settings
27+ is_loadable_elf (bool): Chip RAM app (``APP_BUILD_TYPE_RAM`` / ``APP_BUILD_TYPE_ELF_RAM``); esptool
28+ ``load_ram`` path.
29+ is_linux_elf (bool): Linux host ELF-only build (``APP_BUILD_TYPE_ELF_ONLY``), no flasher_args.json.
2730 """
2831
2932 XTENSA_TARGETS : ClassVar [list [str ]] = ['esp32' , 'esp32s2' , 'esp32s3' ]
@@ -74,10 +77,13 @@ def __init__(
7477 else :
7578 self .is_loadable_elf = False
7679
80+ # Linux target: ELF-only output, no flasher_args.json.
81+ self .is_linux_elf = bool (self .sdkconfig .get ('APP_BUILD_TYPE_ELF_ONLY' ))
82+
7783 self .bin_file = self ._get_bin_file ()
7884 self .flash_args , self .flash_files , self .flash_settings = {}, [], {}
7985
80- if not self .is_loadable_elf :
86+ if not ( self .is_loadable_elf or self . is_linux_elf ) :
8187 self .flash_args , self .flash_files , self .flash_settings = self ._parse_flash_args_json ()
8288
8389 @property
@@ -153,10 +159,15 @@ def partition_table(self) -> dict[str, Any]:
153159 if self ._partition_table is not None :
154160 return self ._partition_table
155161
156- partition_file = os . path . join (
157- self .binary_path ,
158- self . flash_args . get ( 'partition_table' , self . flash_args . get ( 'partition-table' , {})). get ( ' file' , '' ),
162+ # see - vs _ in 'partition table' key name
163+ partition_rel_path = self . flash_args . get ( 'partition_table' , self .flash_args . get ( 'partition-table' , {})). get (
164+ ' file' , ''
159165 )
166+ if not partition_rel_path :
167+ self ._partition_table = {}
168+ return self ._partition_table
169+
170+ partition_file = os .path .join (self .binary_path , partition_rel_path )
160171 process = subprocess .Popen (
161172 [sys .executable , self .parttool_path , partition_file ],
162173 stdout = subprocess .PIPE ,
0 commit comments