summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Hughes <tomhughes@chromium.org>2020-10-06 14:12:55 -0700
committerCommit Bot <commit-bot@chromium.org>2020-10-08 21:38:27 +0000
commit255b4be3b644bb75dcacd7d411dbd8acb4f9e9b6 (patch)
treef60b70b923f89701d61fd636c95c7ff597c52d69
parent07a5e62872edfab8cdcd831e023675e4bbb1bf85 (diff)
downloadchrome-ec-255b4be3b644bb75dcacd7d411dbd8acb4f9e9b6.tar.gz
util/flash_jlink: Specify firmware address
BRANCH=none BUG=b:158580909 TEST=./util/flash_jlink.py --board icetower \ -i ./build/nocturne_fp/ec.bin Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I41c5694cf8cc4f6eb569a58267b6620b4ba2df2e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2459228 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
-rwxr-xr-xutil/flash_jlink.py20
1 files changed, 13 insertions, 7 deletions
diff --git a/util/flash_jlink.py b/util/flash_jlink.py
index a0a67f93d9..d6c38272e7 100755
--- a/util/flash_jlink.py
+++ b/util/flash_jlink.py
@@ -21,7 +21,7 @@ import tempfile
JLINK_COMMANDS = '''
exitonerror 1
r
-loadfile {FIRMWARE}
+loadfile {FIRMWARE} {FLASH_ADDRESS}
r
go
exit
@@ -29,14 +29,18 @@ exit
class BoardConfig:
- def __init__(self, interface, device):
+ def __init__(self, interface, device, flash_address):
self.interface = interface
self.device = device
+ self.flash_address = flash_address
SWD_INTERFACE = 'SWD'
-DRAGONCLAW_CONFIG = BoardConfig(interface=SWD_INTERFACE, device='STM32F412CG')
-ICETOWER_CONFIG = BoardConfig(interface=SWD_INTERFACE, device='STM32H743ZI')
+STM32_DEFAULT_FLASH_ADDRESS = '0x8000000'
+DRAGONCLAW_CONFIG = BoardConfig(interface=SWD_INTERFACE, device='STM32F412CG',
+ flash_address=STM32_DEFAULT_FLASH_ADDRESS)
+ICETOWER_CONFIG = BoardConfig(interface=SWD_INTERFACE, device='STM32H743ZI',
+ flash_address=STM32_DEFAULT_FLASH_ADDRESS)
BOARD_CONFIGS = {
'dragonclaw': DRAGONCLAW_CONFIG,
@@ -46,9 +50,11 @@ BOARD_CONFIGS = {
}
-def create_jlink_command_file(firmware_file):
+def create_jlink_command_file(firmware_file, config):
tmp = tempfile.NamedTemporaryFile()
- tmp.write(JLINK_COMMANDS.format(FIRMWARE=firmware_file).encode('utf-8'))
+ tmp.write(JLINK_COMMANDS.format(FIRMWARE=firmware_file,
+ FLASH_ADDRESS=config.flash_address).encode(
+ 'utf-8'))
tmp.flush()
return tmp
@@ -124,7 +130,7 @@ def main(argv: list):
args.image = os.path.realpath(args.image)
args.jlink = args.jlink
- cmd_file = create_jlink_command_file(args.image)
+ cmd_file = create_jlink_command_file(args.image, config)
ret_code = flash(args.jlink, args.ip, config.device, config.interface,
cmd_file.name)
cmd_file.close()