From a489b90efd372557864b13fe5bb7f934c9c6537a Mon Sep 17 00:00:00 2001 From: Peter van der Perk Date: Mon, 1 Jul 2024 16:21:26 +0200 Subject: [PATCH] west: linkserver: Add ELF file support to flash command For files with multiple regions use ELF file instead so that all regions get flashed Signed-off-by: Peter van der Perk --- scripts/west_commands/runners/linkserver.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/west_commands/runners/linkserver.py b/scripts/west_commands/runners/linkserver.py index 9f15dac313535a4..9749207698cd6c8 100644 --- a/scripts/west_commands/runners/linkserver.py +++ b/scripts/west_commands/runners/linkserver.py @@ -187,9 +187,11 @@ def flash(self, **kwargs): if self.erase: self.do_erase() - # Use .hex or .bin, preferring .hex over .bin + # Use .elf, .hex or .bin, preferring .hex over .elf over .bin if self.supports_hex and self.hex_name is not None and os.path.isfile(self.hex_name): flash_cmd = (["load", self.hex_name]) + elif self.elf_name is not None and os.path.isfile(self.elf_name): + flash_cmd = (["load", self.elf_name]) elif self.bin_name is not None and os.path.isfile(self.bin_name): if self.dt_flash: load_addr = self.flash_address_from_build_conf(self.build_conf) @@ -199,8 +201,8 @@ def flash(self, **kwargs): flash_cmd = (["load", "--addr", str(load_addr), self.bin_name]) else: - err = 'Cannot flash; no hex ({}) or bin ({}) file found.' - raise ValueError(err.format(self.hex_name, self.bin_name)) + err = 'Cannot flash; no hex ({}), elf ({}) or bin ({}) file found.' + raise ValueError(err.format(self.hex_name, self.elf_name, self.bin_name)) # Flash the selected file linkserver_cmd = linkserver_cmd + flash_cmd