diff options
-rw-r--r-- | classes/zephyr-flash-pyocd.bbclass | 10 | ||||
-rw-r--r-- | conf/machine/include/nrf52832.inc | 3 |
2 files changed, 12 insertions, 1 deletions
diff --git a/classes/zephyr-flash-pyocd.bbclass b/classes/zephyr-flash-pyocd.bbclass index a873be4..6517945 100644 --- a/classes/zephyr-flash-pyocd.bbclass +++ b/classes/zephyr-flash-pyocd.bbclass @@ -27,6 +27,9 @@ python do_flash_usb() { if not ids: bb.fatal("No probe requested for programming. Make sure PYOCD_FLASH_IDS is set.") + # Fetch target type to pass to the ConnectHelper + target = d.getVar('PYOCD_TARGET') + # Program each ID for id in ids: bb.plain(f"Attempting to flash {os.path.basename(image)} to board {d.getVar('BOARD')} [{id}]") @@ -35,7 +38,12 @@ python do_flash_usb() { now = 0 step = 3 while True: - session = ConnectHelper.session_with_chosen_probe(blocking=False, return_first=True, unique_id=id) + if target is not None: + session = ConnectHelper.session_with_chosen_probe(blocking=False, return_first=True, unique_id=id, target_override=target) + else: + bb.warn(f"Target type not provided. Flashing may fail or result in an undefined behavior.") + session = ConnectHelper.session_with_chosen_probe(blocking=False, return_first=True, unique_id=id) + if session: break if now >= timeout: diff --git a/conf/machine/include/nrf52832.inc b/conf/machine/include/nrf52832.inc index 73e628a..e938aa6 100644 --- a/conf/machine/include/nrf52832.inc +++ b/conf/machine/include/nrf52832.inc @@ -8,3 +8,6 @@ require conf/machine/include/tune-cortexm4.inc MACHINEOVERRIDES =. "nordic:" TUNE_FEATURES = "armv7m cortexm4" + +# Target type for this machine used by Pyocd +PYOCD_TARGET = "nrf52" |